...
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
|
; [ ] ‘âà ¨æ Ž‡“ ¤«ï ᪮௠¢ SLOT0 ¤®«¦ ᮢ¯ ¤ âì á ã«¥¢®© áâà ¨æ¥© ¯®àâ #7FFD
|
||||||
IF FREE_ZX_PAGES
|
IF FREE_ZX_PAGES
|
||||||
MODULE MANAGE_ZX_PAGES
|
MODULE MANAGE_ZX_PAGES
|
||||||
|
|
||||||
|
;!FIXIT
|
||||||
;----------------[‚뤥«¥¨¥/®á¢®¡®¦¤¥¨¥ áâà ¨æ ᯥªâà㬠]-------------;
|
;----------------[‚뤥«¥¨¥/®á¢®¡®¦¤¥¨¥ áâà ¨æ ᯥªâà㬠]-------------;
|
||||||
;¢å®¤: ॣ B: 0 - ¨¨â ¯ ¬ï⨠Spectrum 48k
|
;¢å®¤: ॣ B: 0 - ¨¨â ¯ ¬ï⨠Spectrum 48k ¨ 2-å áâà ¨æ vROM
|
||||||
; 1 - ¨¨â ¯ ¬ï⨠Pentagon 128k
|
; 1 - ¨¨â ¯ ¬ï⨠Pentagon 128k ¨ 3-å áâà ¨æ vROM
|
||||||
; 2 - ¨¨â ¯ ¬ï⨠Pentagon 512k
|
; 2 - ¨¨â ¯ ¬ï⨠Pentagon 512k ¨ 3-å áâà ¨æ vROM
|
||||||
; 3 - ¨¨â ¯ ¬ï⨠Scorpion 256k
|
; 3 - ¨¨â ¯ ¬ï⨠Scorpion 256k ¨ 3-å áâà ¨æ vROM
|
||||||
; ॣ A: âॡ㥬®¥ ª®«-¢® áâà ¨æ ¤«ï vROM
|
; 4..15 - § १¥à¢¨à®¢ ë
|
||||||
;
|
; 16 - ¯®«ãç¨âì à ¬¡«®ª¨ ¨¨æ¨ «¨§¨à®¢ ëå vROM ¨ VRAM
|
||||||
;¢ë室: CF = 0: A - ®¬¥à à ¬¡«®ª
|
; 17..63 - § १¥à¢¨à®¢ ë
|
||||||
; CF = 1: A - ®¬¥à ®è¨¡ª¨
|
; 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:
|
FN_ENTRANCE:
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
|
;!FIXIT
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
;‚믮«ï¥âáï ¢á¥£¤ ¤«ï ¨¨â âàñå áâà ¨æ Ž‡“
|
;‚室: ---
|
||||||
INIT_48k_MEM:
|
;‚ë室: H - vRAM block ID
|
||||||
|
; L - vROM block ID
|
||||||
|
GET_RAMBLOCK_IDs:
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
|
;!FIXIT
|
||||||
;-----------------------------------------------------------------------;
|
;-----------------------------------------------------------------------;
|
||||||
INIT_SCORP_RAM:
|
;‚室: HL - ¡«®ª áâà ¨æ ª®â®àë¥ ¬ ¯¯¨¬ (¢á¥£¤ 10 èâ.)
|
||||||
DI
|
FREE_vROM:
|
||||||
LD A,5
|
;-----------------------------------------------------------------------;
|
||||||
OUT (SLOT1),A
|
|
||||||
; #1FFD
|
|
||||||
LD BC,#1FFD
|
;!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
|
XOR A
|
||||||
OUT (SLOT0),A
|
.set_1ffd: LD BC,#1FFD
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
; #7FFD
|
; set 128
|
||||||
LD B,#7F
|
LD B,#7F
|
||||||
LD A,8
|
LD D,A
|
||||||
LOOP_P1: DEC A
|
CALL SET_7FFD
|
||||||
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
|
|
||||||
;
|
;
|
||||||
XOR A
|
XOR A
|
||||||
OUT (C),A
|
OUT (C),A
|
||||||
; #1FFD
|
BIT 3,E ; 128/512
|
||||||
LD B,#1F
|
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
|
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