mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-16 01:21:11 +03:00
подготовка к динамическим страницам ОЗУ для режима спектрума
This commit is contained in:
parent
01ed8404f7
commit
a3fcda9c34
@ -1 +1 @@
|
|||||||
Subproject commit 38c3f62f6d7fa9f4c977eb23e3ff9ea7bf3638f0
|
Subproject commit 3a3a4fe44981e0a75f4925234aa2609ee81b96b4
|
||||||
105
spectrum.asm
105
spectrum.asm
@ -373,26 +373,37 @@ N_LINE: LD (HL),0
|
|||||||
; ¢ë¤¥«¥® 8 áâப ¢ CNF
|
; ¢ë¤¥«¥® 8 áâப ¢ CNF
|
||||||
;*************************************
|
;*************************************
|
||||||
;!TODO ¥á«¨ ¯à®¯ã᪠¥¬ § £à㧪ã ROM ¤«ï 48, 128 ¨«¨ trdos, â® ¢áâ ¢«ïâì ¢ ¯®àâ vROM ®¬¥à ¨§ áâ ¤ à⮣® ¯¥à¢®£® ¡«®ª
|
;!TODO ¥á«¨ ¯à®¯ã᪠¥¬ § £à㧪ã ROM ¤«ï 48, 128 ¨«¨ trdos, â® ¢áâ ¢«ïâì ¢ ¯®àâ vROM ®¬¥à ¨§ áâ ¤ à⮣® ¯¥à¢®£® ¡«®ª
|
||||||
|
;!TEST
|
||||||
MACRO vROM_LOAD romLine;,pageNumber
|
MACRO vROM_LOAD romLine;,pageNumber
|
||||||
|
EX DE,HL
|
||||||
LD HL,(A_LINES+romLine)
|
LD HL,(A_LINES+romLine)
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
CP ';'
|
CP ';'
|
||||||
JR Z,.skip_load
|
EX DE,HL
|
||||||
;!TEST
|
|
||||||
;LD A,pageNumber
|
JR NZ,.go_load
|
||||||
LD A,(BC)
|
|
||||||
INC BC
|
LD (HL),0
|
||||||
PUSH BC
|
EX DE,HL
|
||||||
|
JP .skip_load
|
||||||
|
.go_load:
|
||||||
|
LD A,(HL) ;BUFFER_RAM_PAGES.ROM
|
||||||
|
PUSH HL
|
||||||
|
EX DE,HL
|
||||||
CALL READ_FILE_1
|
CALL READ_FILE_1
|
||||||
POP BC
|
POP DE
|
||||||
;
|
;
|
||||||
LD A,Spec_Page
|
LD A,Spec_Page
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
JP C,ERROR_FILE
|
JP C,ERROR_FILE
|
||||||
.skip_load:
|
.skip_load:
|
||||||
|
INC DE
|
||||||
|
EX DE,HL
|
||||||
ENDM
|
ENDM
|
||||||
|
;
|
||||||
|
|
||||||
LD BC,BUFFER_RAM_PAGES.ROM
|
;LD BC,BUFFER_RAM_PAGES.ROM
|
||||||
|
LD HL,BUFFER_RAM_PAGES.ROM
|
||||||
|
|
||||||
vROM_LOAD BASIC128_LINE;, #42 ; 2-ï áâப - ¨¬ï ä ©« BASIC128
|
vROM_LOAD BASIC128_LINE;, #42 ; 2-ï áâப - ¨¬ï ä ©« BASIC128
|
||||||
vROM_LOAD BASIC_48_LINE;, #43 ; 3-ï áâப - ¨¬ï ä ©« BASIC 48
|
vROM_LOAD BASIC_48_LINE;, #43 ; 3-ï áâப - ¨¬ï ä ©« BASIC 48
|
||||||
@ -495,44 +506,30 @@ BUFFER_RAM_PAGES:
|
|||||||
.RAM: BLOCK 16 ; 256 ª¡
|
.RAM: BLOCK 16 ; 256 ª¡
|
||||||
.Size EQU $-BUFFER_RAM_PAGES
|
.Size EQU $-BUFFER_RAM_PAGES
|
||||||
.end_marker: BYTE #FF
|
.end_marker: BYTE #FF
|
||||||
PARAM_END:
|
|
||||||
LD HL,BUFFER_RAM_PAGES.ROM
|
|
||||||
|
|
||||||
|
MACRO vROM_set dcp_port
|
||||||
LD B,(HL) ; page
|
LD B,(HL) ; page
|
||||||
INC HL
|
INC HL
|
||||||
LD A,#E2 ; ROM-ID - BASIC 128
|
XOR A
|
||||||
//LD B,#42 ; page
|
OR B
|
||||||
|
JR Z,.next
|
||||||
|
LD A,dcp_port ; ROM-ID
|
||||||
CALL SET_ROM
|
CALL SET_ROM
|
||||||
|
.next:
|
||||||
|
ENDM
|
||||||
|
|
||||||
LD B,(HL) ; page
|
PARAM_END: LD HL,BUFFER_RAM_PAGES.ROM
|
||||||
INC HL
|
|
||||||
LD A,#E3 ; ROM-ID - BASIC 48
|
|
||||||
//LD B,#43 ; page
|
|
||||||
CALL SET_ROM
|
|
||||||
|
|
||||||
LD B,(HL) ; page
|
vROM_set #E2 ; ROM-ID - BASIC 128
|
||||||
INC HL
|
vROM_set #E3 ; ROM-ID - BASIC 48
|
||||||
LD A,#E1 ; ROM-ID - TR-DOS
|
vROM_set #E1 ; ROM-ID - TR-DOS
|
||||||
//LD B,#44 ; page
|
vROM_set #E0 ; ROM-ID - EXPANSION
|
||||||
CALL SET_ROM
|
vROM_set #EB ; ROM-ID - BIOS-1
|
||||||
|
vROM_set #EF ; ROM-ID - BIOS-2
|
||||||
LD B,(HL) ; page
|
;vROM_set #E6 ; BASIC 128 - 2
|
||||||
INC HL
|
;vROM_set #E7 ; BASIC 48 - 2
|
||||||
LD A,#E0 ; ROM-ID - EXPANSION
|
;vROM_set #E5 ; TR-DOS - 2
|
||||||
//LD B,#45 ; page
|
;vROM_set #E4 ; BIOS (ZX_EXP) - 2
|
||||||
CALL SET_ROM
|
|
||||||
|
|
||||||
LD B,(HL) ; page
|
|
||||||
INC HL
|
|
||||||
LD A,#EB ; ROM-ID - BIOS-1
|
|
||||||
//LD B,#46 ; page
|
|
||||||
CALL SET_ROM
|
|
||||||
|
|
||||||
LD B,(HL) ; page
|
|
||||||
INC HL
|
|
||||||
LD A,#EF ; ROM-ID - BIOS-2
|
|
||||||
//LD B,#47 ; page
|
|
||||||
CALL SET_ROM
|
|
||||||
|
|
||||||
LD HL,(IMAGE_NAME)
|
LD HL,(IMAGE_NAME)
|
||||||
LD A,H
|
LD A,H
|
||||||
@ -563,34 +560,8 @@ SKIP_IMAGE: LD A,(No_run_+2)
|
|||||||
;********************************************
|
;********************************************
|
||||||
|
|
||||||
; out B - old ROM-page
|
; out B - old ROM-page
|
||||||
|
;!FIXIT ᤥ« âì ç¥à¥§ ¢ë§®¢ äãªæ¨¨ <20>ˆŽ‘
|
||||||
SET_ROM: DI
|
SET_ROM: DI
|
||||||
;PUSH BC
|
|
||||||
;PUSH AF
|
|
||||||
|
|
||||||
;LD A,CNF_0
|
|
||||||
;OUT (SYS_PORT.ON),A
|
|
||||||
;LD A,10h
|
|
||||||
;LD BC,7FFDh
|
|
||||||
;OUT (C),A
|
|
||||||
|
|
||||||
;POP AF
|
|
||||||
;POP BC
|
|
||||||
|
|
||||||
;LD C,0F8h
|
|
||||||
;CALL 3D13h
|
|
||||||
|
|
||||||
;PUSH BC
|
|
||||||
;PUSH AF
|
|
||||||
|
|
||||||
;LD A,0
|
|
||||||
;LD BC,7FFDh
|
|
||||||
;OUT (C),A
|
|
||||||
;LD A,CNF_0
|
|
||||||
;OUT (SYS_PORT.OFF),A
|
|
||||||
|
|
||||||
;POP AF
|
|
||||||
;POP BC
|
|
||||||
;RET
|
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|
||||||
|
|||||||
@ -4,5 +4,5 @@
|
|||||||
sj.insert_define("BUILD_DATE", "'" .. date .. "." .. month .. "." .. year .. "'")
|
sj.insert_define("BUILD_DATE", "'" .. date .. "." .. month .. "." .. year .. "'")
|
||||||
ENDLUA
|
ENDLUA
|
||||||
|
|
||||||
DEFINE SP_VERSION "2.01 beta build"
|
DEFINE SP_VERSION "2.02 beta build"
|
||||||
;
|
;
|
||||||
Loading…
Reference in New Issue
Block a user