mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-15 09:01:38 +03:00
поддержка TAP, пока самая фонарная
This commit is contained in:
parent
4acaf55877
commit
e4001a265a
@ -1 +1 @@
|
||||
Subproject commit a0e68ce3a19bd47537585e49bfbf5e45fab197a1
|
||||
Subproject commit a9cc74a9eba4044c35c930159bda0b0dde5d429b
|
||||
115
spectrum.asm
115
spectrum.asm
@ -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 - à §¬¥à ä ©« ¢ ¡ ©â å
|
||||
@ -832,7 +850,7 @@ RESET_TO_ZX: DI
|
||||
LD A,7
|
||||
CALL SET_PAL
|
||||
;
|
||||
LD A,%0000'0100 ; set custom palette
|
||||
LD A,%0000'0100 ; set custom palette
|
||||
EX AF,AF'
|
||||
Skip_Load_Palette:
|
||||
EX AF,AF'
|
||||
@ -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
|
||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||
|
||||
|
||||
@ -1066,8 +1132,8 @@ READ_CNF_FILE: LD HL,#C000
|
||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||
MACRO vROM_LOAD romLine;,pageNumber
|
||||
.RomLine = (romLine-1)*2
|
||||
LD DE,(ADDRESS_LINES+.RomLine)
|
||||
CALL vROM_LOAD_BIN
|
||||
LD DE,(ADDRESS_LINES+.RomLine)
|
||||
CALL vROM_LOAD_BIN
|
||||
ENDM
|
||||
;
|
||||
LOAD_vROM_BIN: LD A,#FF
|
||||
@ -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 "¯®-᪮௨®®¢áª¨"
|
||||
|
||||
@ -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:
|
||||
|
||||
Loading…
Reference in New Issue
Block a user