...
This commit is contained in:
parent
4a49ae559b
commit
30edc55a57
@ -1 +1 @@
|
||||
Subproject commit e9d481a5565338505710b08e50d22a8579c400be
|
||||
Subproject commit a98a635f03359ec21cd8dd77917a384a8a37caef
|
||||
Binary file not shown.
@ -16,63 +16,138 @@
|
||||
; [ ] ‘âà ¨æ Ž‡“ ¤«ï ᪮௠¢ SLOT0 ¤®«¦ ᮢ¯ ¤ âì á ã«¥¢®© áâà ¨æ¥© ¯®àâ #7FFD
|
||||
IF FREE_ZX_PAGES
|
||||
MODULE MANAGE_ZX_PAGES
|
||||
|
||||
;!FIXIT
|
||||
;----------------[‚뤥«¥¨¥/®á¢®¡®¦¤¥¨¥ áâà ¨æ ᯥªâà㬠]-------------;
|
||||
;¢å®¤: ॣ B: 0 - ¨¨â ¯ ¬ï⨠Spectrum 48k
|
||||
; 1 - ¨¨â ¯ ¬ï⨠Pentagon 128k
|
||||
; 2 - ¨¨â ¯ ¬ï⨠Pentagon 512k
|
||||
; 3 - ¨¨â ¯ ¬ï⨠Scorpion 256k
|
||||
; ॣ A: âॡ㥬®¥ ª®«-¢® áâà ¨æ ¤«ï vROM
|
||||
;
|
||||
;¢ë室: CF = 0: A - ®¬¥à à ¬¡«®ª
|
||||
; CF = 1: A - ®¬¥à ®è¨¡ª¨
|
||||
;¢å®¤: ॣ B: 0 - ¨¨â ¯ ¬ï⨠Spectrum 48k ¨ 2-å áâà ¨æ vROM
|
||||
; 1 - ¨¨â ¯ ¬ï⨠Pentagon 128k ¨ 3-å áâà ¨æ vROM
|
||||
; 2 - ¨¨â ¯ ¬ï⨠Pentagon 512k ¨ 3-å áâà ¨æ vROM
|
||||
; 3 - ¨¨â ¯ ¬ï⨠Scorpion 256k ¨ 3-å áâà ¨æ vROM
|
||||
; 4..15 - § १¥à¢¨à®¢ ë
|
||||
; 16 - ¯®«ãç¨âì à ¬¡«®ª¨ ¨¨æ¨ «¨§¨à®¢ ëå vROM ¨ VRAM
|
||||
; 17..63 - § १¥à¢¨à®¢ ë
|
||||
; 64 - ®á¢®¡®¤¨âì à ¬¡«®ª¨ vROM ¨ vRAM
|
||||
; 65..127 - § १¥à¢¨à®¢ ë
|
||||
; 128 - ¨¨æ¨ «¨§¨à®¢ âì ᢮© ¡®à áâà ¨æ vROM
|
||||
; ॣ HL: ¯à¨ ॣ B[7]=1 ¤à¥á áâà ¨æ (11 èâ):
|
||||
; byte1 - RAM block ID, byte2..11 - áâà ¨æë ¤«ï vROM
|
||||
; ॣ A: ®¬¥à ZX TASK ¯®ª çâ® ¢á¥£¤ ®«ì!!!
|
||||
;¢ë室: CF = 0: HL - ®¬¥à à ¬¡«®ª®¢ ¤«ï ०¨¬®¢ 0..16. H=vRAM, L=vROM
|
||||
; CF = 1: A - ®¬¥à ®è¨¡ª¨
|
||||
FN_ENTRANCE:
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
;!FIXIT
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚믮«ï¥âáï ¢á¥£¤ ¤«ï ¨¨â âàñå áâà ¨æ Ž‡“
|
||||
INIT_48k_MEM:
|
||||
|
||||
;‚室: ---
|
||||
;‚ë室: H - vRAM block ID
|
||||
; L - vROM block ID
|
||||
GET_RAMBLOCK_IDs:
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
;!FIXIT
|
||||
;-----------------------------------------------------------------------;
|
||||
INIT_SCORP_RAM:
|
||||
DI
|
||||
LD A,5
|
||||
OUT (SLOT1),A
|
||||
; #1FFD
|
||||
LD BC,#1FFD
|
||||
;‚室: HL - ¡«®ª áâà ¨æ ª®â®àë¥ ¬ ¯¯¨¬ (¢á¥£¤ 10 èâ.)
|
||||
FREE_vROM:
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
;!FIXIT
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚室: HL - ¡«®ª áâà ¨æ ª®â®àë¥ ¬ ¯¯¨¬ (¢á¥£¤ 10 èâ.)
|
||||
FREE_vRAM:
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;!FIXIT
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚室: B - ª®«¨ç¥á⢮ áâà ¨æ
|
||||
GET_vROM:
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;!FIXIT
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚室: HL - ¡«®ª áâà ¨æ ª®â®àë¥ ¬ ¯¯¨¬ (¢á¥£¤ 10 èâ.)
|
||||
INIT_vROM:
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚•Ž„: HL - ᯨ᮪ áâà ¨æ
|
||||
; E - 0 = 128kb, 1 = 512kb
|
||||
INIT_PENT_vRAM: DI
|
||||
XOR A
|
||||
OUT (SLOT0),A
|
||||
.set_1ffd: LD BC,#1FFD
|
||||
OUT (C),A
|
||||
; #7FFD
|
||||
; set 128
|
||||
LD B,#7F
|
||||
LD A,8
|
||||
LOOP_P1: DEC A
|
||||
OUT (C),A
|
||||
OUT (SLOT3),A
|
||||
JR NZ,LOOP_P1
|
||||
; #1FFD
|
||||
LD B,#1F
|
||||
LD A,#10
|
||||
OUT (C),A
|
||||
; #7FFD
|
||||
LD B,#7F
|
||||
LD A,8
|
||||
LOOP_P2: OUT (C),A
|
||||
OUT (SLOT3),A
|
||||
INC A
|
||||
CP 16
|
||||
JR NZ,LOOP_P2
|
||||
LD D,A
|
||||
CALL SET_7FFD
|
||||
;
|
||||
XOR A
|
||||
OUT (C),A
|
||||
; #1FFD
|
||||
LD B,#1F
|
||||
BIT 3,E ; 128/512
|
||||
RET Z
|
||||
; set 128 + 384
|
||||
LD A,SYS_PORT.CNF_512
|
||||
OUT (SYS_PORT.ROM),A
|
||||
;
|
||||
LD D,%0100'0000
|
||||
CALL SET_7FFD
|
||||
LD D,%1000'0000
|
||||
CALL SET_7FFD
|
||||
LD D,%1100'0000
|
||||
CALL SET_7FFD
|
||||
;
|
||||
XOR A
|
||||
OUT (C),A
|
||||
RET
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚•Ž„: HL - ᯨ᮪ áâà ¨æ
|
||||
; D - ç «ì®¥ § 票¥ ¤«ï 7FFD
|
||||
SET_7FFD: LD A,(HL)
|
||||
OUT (C),D
|
||||
OUT (SLOT3),A
|
||||
INC HL
|
||||
INC D
|
||||
BIT 3,D ; ª®«¨ç¥á⢮ áâà ¨æ
|
||||
JR Z,SET_7FFD
|
||||
RET
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;!FIXIT
|
||||
;‚•Ž„: HL - ᯨ᮪ áâà ¨æ.
|
||||
INIT_SCORP_vRAM:; first 128 kb
|
||||
LD E,0
|
||||
CALL INIT_PENT_vRAM
|
||||
; second 128 kb
|
||||
LD A,#10
|
||||
CALL INIT_PENT_vRAM.set_1ffd
|
||||
; A = 0
|
||||
LD B,#1F
|
||||
OUT (C),A
|
||||
RET
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚믮«ï¥âáï ¤«ï ¨¨â âàñå áâà ¨æ Ž‡“ 48k
|
||||
GET_48k_MEM: LD B,3
|
||||
JP EMM.GetMem
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚믮«ï¥âáï ¤«ï ¨¨â 3 áâà ¨æ Ž‡“ 48k ¨ 5 áâà ¨æ Ž‡“ 128k â 祪
|
||||
GET_128k_MEM: LD B,3+5
|
||||
JP EMM.GetMem
|
||||
;-----------------------------------------------------------------------;
|
||||
|
||||
;-----------------------------------------------------------------------;
|
||||
;‚室: ---
|
||||
|
||||
Loading…
Reference in New Issue
Block a user