поддержка TAP, пока самая фонарная

This commit is contained in:
Tolik 2025-10-17 16:26:31 +10:00
parent 4acaf55877
commit e4001a265a
3 changed files with 93 additions and 26 deletions

@ -1 +1 @@
Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1
Subproject commit a9cc74a9eba4044c35c930159bda0b0dde5d429b

View File

@ -390,9 +390,12 @@ READ_IMAGE: LD DE,ONE_FILE
LD A,(IMAGE_FLAG)
AND A
JR Z,.Load_TRD
;
DEC A ; check if SCL
JP Z,Load_SCL
;
DEC A
JP Z,LOAD_TAP
;jp Error_Flag ;!!!!!!!!!!!!!!!!
.Load_TRD: LD A,(IMAGE_HANDLER)
@ -410,6 +413,21 @@ READ_IMAGE: LD DE,ONE_FILE
JP Load_IMAGE_File
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
LOAD_TAP: CALL READ_IMAGE.Load_TRD
RET C
;
LD A,SYS_PAGE
OUT (SLOT3),A
LD A,(Load_IMAGE_File.MEM_BLK)
LD (SYS_PAGE.TAP_RAM_BLK),A
XOR A
LD (SYS_PAGE.TAP_RAM_POINT),A
LD A,#C0
LD (SYS_PAGE.TAP_RAM_POINT + 1),A
RET
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
; hl:de - à §¬¥à ä ©«  ¢ ¡ ©â å
@ -850,21 +868,51 @@ Skip_Load_Palette:
JR NZ,Set_Next_Par
LD B,#FE
Set_Next_Par: ; SYS_PORT/CNF_PORT
XOR A
LD HL,(PARAMS.Turbo+2)
ADD A,L
LD HL,(PARAMS.Sprinter+2)
ADD A,L
LD HL,(PARAMS.P_7FFD+2)
ADD A,L
LD HL,(PARAMS.P_1FFD+2)
ADD A,L
LD HL,(PARAMS.Mem512+2)
ADD A,L
; XOR A ; Y/N
; LD HL,(PARAMS.Turbo+2) ; #03 02
; ADD A,L ;
; LD HL,(PARAMS.Sprinter+2) ; #04 0C
; ADD A,L ;
; LD C,L
; LD HL,(PARAMS.P_7FFD+2) ; #00 30
; ADD A,L ;
; LD D,L
; LD HL,(PARAMS.Mem512+2) ; #80 00
; ADD A,L
; LD HL,(PARAMS.P_1FFD+2) ; #08 40
; ADD A,L ;
; LD E,A
;
XOR A ; Y/N
LD HL,PARAMS.P_7FFD+2 ; #14 34
OR (HL) ;
LD HL,PARAMS.P_1FFD+2 ; #18 40
XOR (HL) ;
LD HL,PARAMS.Sprinter+2 ; #E7 FF
AND (HL) ;
;
LD HL,PARAMS.Turbo+2 ; #03 02
OR (HL) ;
LD HL,PARAMS.Mem512+2 ; #80 00
OR (HL)
LD E,A
; Start ROM
LD HL,(PARAMS.To_trd+2)
LD D,L
; no xFFD ports?
CPL
AND %0110'0000
JR NZ,.xFFD_norm
;
OR L
LD L,5 ; BASIC 48 á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
JR Z,.resPortsBlock
;
DEC L ; TR-DOS á § ªàëâ묨 128-¬¨ ¯®àâ ¬¨
.resPortsBlock: LD A,E
AND %1001'1111
LD E,A
;
.xFFD_norm: LD D,L
; vROM & vRAM
LD HL,(ZX_vROM_BLK)
; RESERVED
@ -878,7 +926,8 @@ Set_Next_Par: ; SYS_PORT/CNF_PORT
JR .di_halt
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
ld hl,1
or (hl)
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
SET_PAL: LD DE,0
LD BC,#FF*256 + BIOS.PIC_SET_PAL
@ -1000,11 +1049,24 @@ FIND_FILES: PUSH HL
; ;
.CHOOSE_FILE: LD A,(HL)
AND %1101'1111
; TRD file
; TAP or TRD?
CP 'T'
JR NZ,.not_T
;
INC HL
LD A,(HL)
DEC HL
AND %1101'1111
; TRD file
CP 'R'
JR Z,.TRD
; TAP file
CP 'A'
JR Z,.TAP
JR .unknown
;
; SCL file
CP 'S'
.not_T: CP 'S'
JR Z,.SCL
; ZX file
CP 'Z'
@ -1018,11 +1080,15 @@ FIND_FILES: PUSH HL
RET
;
.SCL: LD DE,IMAGE_FLAG
LD A,1
LD A,1 ; scl
LD (DE),A
.TRD: LD DE,(X_FILE)
LD (IMAGE_NAME),DE
JR .unknown
.TAP: LD DE,IMAGE_FLAG
LD A,2 ; tap
LD (DE),A
JR .TRD
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
@ -1336,6 +1402,7 @@ GET_vRAM_PAGES: CALL .check_params
ADD HL,DE
DJNZ .loop
;
AND %1111'1000
LD B,high BIOS.ZX_MEMORY_MANAGER.GetMem.Pent512
CP #80
RET NC
@ -1533,7 +1600,7 @@ ZX_vRAM_BLK: BYTE 0
LINE_X: WORD 0
X_FILE: WORD 0
CNF_NAME: WORD 0
IMAGE_FLAG: BYTE 0 ; 0 - trd, scl - 1, sna - 2, tap - 3
IMAGE_FLAG: BYTE 0 ; 0 - trd, scl - 1, tap - 2, sna - 3
IMAGE_NAME: WORD 0
IMAGE_HANDLER: BYTE 0
SAVE_SLOT3: BYTE 0
@ -1548,9 +1615,9 @@ ADDRESS_LINES: BLOCK CFG_FILE_LINES*2,0
PARAMS:; Y / N ; âãâ §­ ç¥­¨ï ¤«ï ª«î祩 § ¯¨á뢠îâáï ª ª 16 ¡¨â §­ ç¥­¨¥, §­ ç¨â ®¡à â­ë© ¯®à冷ª ¡ ©â®¢
.Turbo: DW ._Turbo, #0302 ; ¢ª«îç¨âì TURBO
.Lines312 DW ._Lines312, #8000 ; ¢ª«îç¨âì 312 áâப
.Sprinter: DW ._Sprinter, #040C ; ¢ª«îç¨âì Sprinter
.P_7FFD: DW ._P_7FFD, #0030 ; ¢ª«îç¨âì 7FFD °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
.P_1FFD: DW ._P_1FFD, #0040 ; ¢ª«îç¨âì 1FFD °°­¥ ¬¥­ïâì ¯®à冷ª, ¨á¯®«ì§ã¥âáï ¢ GET_vRAM_PAGES°°
.Sprinter: DW ._Sprinter, #E7FF ; ¢ª«îç¨âì Sprinter
.P_7FFD: DW ._P_7FFD, #1434 ; ¢ª«îç¨âì 7FFD °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
.P_1FFD: DW ._P_1FFD, #1840 ; ¢ª«îç¨âì 1FFD °°­¥ ¬¥­ïâì ¯®à冷ª, ¨á¯®«ì§ã¥âáï ¢ GET_vRAM_PAGES°°
.Mem512: DW ._Mem512, #8000 ; ¢ª«îç¨âì 512k °°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°
.To_trd: DW ._To_trd, #0200 ; ¢o©â¨ ¢ TR-DOS
.Int_sc: DW ._Int_sc, #0102 ; ¢ª«îç¨âì INT "¯®-᪮௨®­®¢áª¨"

View File

@ -4,7 +4,7 @@
sj.insert_define("BUILD_DATE", "'" .. date .. "." .. month .. "." .. year .. "'")
ENDLUA
DEFINE SP_VERSION "2.03 beta build"
DEFINE SP_VERSION "2.04 beta build"
;
DEFINE NEED_MIN_DSS_VERSION '1.71.36'
DSS_MIN_VERS: