игры с ZIP
This commit is contained in:
parent
863f7f58e4
commit
91dbea19dc
@ -1 +1 @@
|
|||||||
Subproject commit a6c50f572424e88f6199d639fa8109d53b71142c
|
Subproject commit 68e156a69e848e7b01656cdf67122022999d75ee
|
||||||
Binary file not shown.
@ -1249,6 +1249,9 @@ GOTO_SPEC: PUSH HL
|
|||||||
LD HL,RET_TO_BIOS
|
LD HL,RET_TO_BIOS
|
||||||
EX (SP),HL
|
EX (SP),HL
|
||||||
PUSH HL
|
PUSH HL
|
||||||
|
PUSH AF
|
||||||
|
CALL FN_TURBO.SET_FDD_720
|
||||||
|
POP AF
|
||||||
LD HL,GOTO_SPECTRUM
|
LD HL,GOTO_SPECTRUM
|
||||||
EX (SP),HL
|
EX (SP),HL
|
||||||
JP EXTENSION_FNs
|
JP EXTENSION_FNs
|
||||||
@ -1293,36 +1296,47 @@ PROG_NO_ROM:
|
|||||||
OUT (SLOT1),A
|
OUT (SLOT1),A
|
||||||
LD SP,#BF00
|
LD SP,#BF00
|
||||||
;
|
;
|
||||||
|
LD BC,BIOS.SET_PAL_INIT.CGA
|
||||||
|
RST ToBIOS
|
||||||
|
;
|
||||||
LD E,0
|
LD E,0
|
||||||
LD BC,BIOS.LP_OPEN_S.TXT_80x32_Default
|
LD BC,BIOS.LP_OPEN_S.TXT_80x32_Default
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
;
|
;
|
||||||
LD DE,0
|
LD DE,0
|
||||||
|
LD B,E
|
||||||
LD HL,#2050
|
LD HL,#2050
|
||||||
LD C,BIOS.LP_CLS_WIN
|
LD C,BIOS.LP_CLS_WIN
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
; set scr-2
|
|
||||||
LD A,1
|
|
||||||
OUT (SCREEN_SWITCH),A
|
|
||||||
;
|
;
|
||||||
LD HL,MESSAGE_NR
|
LD HL,MESSAGE_NR
|
||||||
LD DE,#A000
|
LD DE,#A000
|
||||||
|
PUSH DE
|
||||||
LD BC,MESSAGE_NR.size
|
LD BC,MESSAGE_NR.size
|
||||||
LD A,C
|
|
||||||
LDIR
|
LDIR
|
||||||
;
|
; BC=0
|
||||||
LD HL,#A000
|
POP HL
|
||||||
LD D,0 ; delimiter
|
SCF
|
||||||
LD E,COLORS.CGA.FLASH + COLORS.CGA.INK.RED
|
EX AF,AF'
|
||||||
LD B,A
|
SCF
|
||||||
LD C,BIOS.LP_PRINT_LINE3
|
LD A,COLORS.CGA.FLASH + COLORS.CGA.INK.RED
|
||||||
|
PUSH BC
|
||||||
|
POP IY
|
||||||
|
LD DE,#0F00
|
||||||
|
; B=0 delimiter
|
||||||
|
LD C,BIOS.LP_PR_LINE_DIR
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
;
|
;
|
||||||
|
; set scr-2
|
||||||
|
LD A,1
|
||||||
|
OUT (SCREEN_SWITCH),A
|
||||||
.loop: DI
|
.loop: DI
|
||||||
HALT
|
HALT
|
||||||
JR .loop
|
JR .loop
|
||||||
;
|
;Spectrum ROM configuration error
|
||||||
MESSAGE_NR: DZ " Spectrum ROM not installed. Use spectrum.exe Press Ctrl+Alt+Del or RESET"
|
; 10 20 30 40 50 60 70 80
|
||||||
|
; "123456789|123456789|123456789|123456789|123456789|123456789|123456789|123456789|"
|
||||||
|
MESSAGE_NR: DZ "\t\t\tSpectrum ROM configuration error\r\n\t\t\t Press Ctrl+Alt+Del or RESET."
|
||||||
.size EQU $-MESSAGE_NR
|
.size EQU $-MESSAGE_NR
|
||||||
ENT
|
ENT
|
||||||
PROG_NO_ROM.size EQU $-PROG_NO_ROM
|
PROG_NO_ROM.size EQU $-PROG_NO_ROM
|
||||||
|
|||||||
@ -32,6 +32,7 @@ ATAPI_5x_RESET: LD C,IDE.Device.ATAPI
|
|||||||
;!FIXIT ;[ ] sector size. ᤥ« âì २¨â HDD_INIT_TABLE
|
;!FIXIT ;[ ] sector size. ᤥ« âì २¨â HDD_INIT_TABLE
|
||||||
POP BC
|
POP BC
|
||||||
RET NC
|
RET NC
|
||||||
|
LD C,A
|
||||||
;
|
;
|
||||||
;CALL ATAPI_CHECK_MEDIA_CHANGED.noWait
|
;CALL ATAPI_CHECK_MEDIA_CHANGED.noWait
|
||||||
;RET C
|
;RET C
|
||||||
@ -53,6 +54,10 @@ ATAPI_5x_RESET: LD C,IDE.Device.ATAPI
|
|||||||
JR NZ,.pause_loop
|
JR NZ,.pause_loop
|
||||||
EXX
|
EXX
|
||||||
DJNZ .loop
|
DJNZ .loop
|
||||||
|
LD A,C
|
||||||
|
AND A
|
||||||
|
SCF
|
||||||
|
RET NZ
|
||||||
RET
|
RET
|
||||||
/*
|
/*
|
||||||
HL = 1e00
|
HL = 1e00
|
||||||
@ -99,11 +104,15 @@ ATAPI_5x_GET_PAR:
|
|||||||
;
|
;
|
||||||
CP BIOS.Error.ATAPI.MediumError
|
CP BIOS.Error.ATAPI.MediumError
|
||||||
JR NZ,.unknown_error
|
JR NZ,.unknown_error
|
||||||
;
|
;!FIXIT ª®áâë«ì
|
||||||
LD A,BIOS.Error.ATAPI.UnitAttention ;!FIXIT ª®áâë«ì
|
LD A,BIOS.Error.ATAPI.UnitAttention ;!FIXIT ª®áâë«ì
|
||||||
|
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
|
||||||
|
;
|
||||||
.unknown_error: LD HL,#FFFF
|
.unknown_error: LD HL,#FFFF
|
||||||
LD D,H
|
LD D,H
|
||||||
LD E,L
|
LD E,L
|
||||||
|
PUSH HL
|
||||||
|
POP IX
|
||||||
SCF
|
SCF
|
||||||
EX AF,AF' ; âãâ ¬ ᪨à㥬 ®è¨¡ªã, ¨§ ç «ì® CF=1 ⮫쪮 ¥á«¨ ãáâனá⢮ ®âáãâáâ¢ã¥â
|
EX AF,AF' ; âãâ ¬ ᪨à㥬 ®è¨¡ªã, ¨§ ç «ì® CF=1 ⮫쪮 ¥á«¨ ãáâனá⢮ ®âáãâáâ¢ã¥â
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
@ -412,17 +421,6 @@ ATAPI_REQUEST_SENSE:
|
|||||||
ATAPI_CHECK_MEDIA_CHANGED:
|
ATAPI_CHECK_MEDIA_CHANGED:
|
||||||
CALL EXEC_TEST_CMD ;!FIXIT ¬®¦¥â ¨ ¥ ¤®
|
CALL EXEC_TEST_CMD ;!FIXIT ¬®¦¥â ¨ ¥ ¤®
|
||||||
RET C
|
RET C
|
||||||
; JR NC,.next_check
|
|
||||||
; ;
|
|
||||||
; CP BIOS.Error.ATAPI.UnitAttention
|
|
||||||
; SCF
|
|
||||||
; RET Z
|
|
||||||
; ;
|
|
||||||
; CP BIOS.Error.ATAPI.MediumError
|
|
||||||
; JR Z,.next_check
|
|
||||||
; ;
|
|
||||||
; SCF
|
|
||||||
; RET
|
|
||||||
;
|
;
|
||||||
.next_check: EXX
|
.next_check: EXX
|
||||||
LD C,SLOT3
|
LD C,SLOT3
|
||||||
@ -439,19 +437,19 @@ ATAPI_CHECK_MEDIA_CHANGED:
|
|||||||
RET
|
RET
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
;[ ] media changed
|
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
ATAPI_CHECK_ERROR:
|
; ATAPI_CHECK_ERROR:
|
||||||
CALL ATAPI_GET_ERROR_REG
|
; CALL ATAPI_GET_ERROR_REG
|
||||||
;CP BIOS.Error.ATAPI.NoSence
|
; ;CP BIOS.Error.ATAPI.NoSence
|
||||||
|
; ;JP Z,ATAPI_MEDIA_ERROR
|
||||||
|
; CP BIOS.Error.ATAPI.NotReady
|
||||||
; JP Z,ATAPI_MEDIA_ERROR
|
; JP Z,ATAPI_MEDIA_ERROR
|
||||||
CP BIOS.Error.ATAPI.NotReady
|
; CP BIOS.Error.ATAPI.UnitAttention
|
||||||
JP Z,ATAPI_MEDIA_ERROR
|
; JP Z,ATAPI_MEDIA_ERROR
|
||||||
CP BIOS.Error.ATAPI.UnitAttention
|
; ;
|
||||||
JP Z,ATAPI_MEDIA_ERROR
|
; SCF
|
||||||
;
|
; RET
|
||||||
SCF
|
|
||||||
RET
|
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|
||||||
|
|
||||||
@ -493,27 +491,35 @@ TRAY_FN: LD HL,ATAPI_CMD_PACKET.CLOSE
|
|||||||
EXEC_PACKET_COMMAND:
|
EXEC_PACKET_COMMAND:
|
||||||
; .error_APLOOP: LD A,BIOS.Error.ATAPI.UnitAttention
|
; .error_APLOOP: LD A,BIOS.Error.ATAPI.UnitAttention
|
||||||
; RET
|
; RET
|
||||||
;
|
;CALL ATAPI_GET_ERROR_REG
|
||||||
|
|
||||||
.error_ex: EX DE,HL
|
.error_ex: EX DE,HL
|
||||||
.error: CP #FF
|
.error: CP #FF
|
||||||
.error_fail: SCF
|
.error_fail: SCF
|
||||||
LD C,A
|
RET NZ
|
||||||
LD A,BIOS.Error.Failure
|
LD A,BIOS.Error.Failure
|
||||||
RET Z
|
|
||||||
;
|
|
||||||
LD A,BIOS.Error.ATAPI.UnitAttention
|
|
||||||
CP C
|
|
||||||
SCF
|
|
||||||
RET Z
|
|
||||||
;
|
|
||||||
LD A,BIOS.Error.ATAPI.MediumError
|
|
||||||
CP C
|
|
||||||
SCF
|
|
||||||
RET Z
|
|
||||||
;
|
|
||||||
LD A,BIOS.Error.Busy
|
|
||||||
RET
|
RET
|
||||||
;
|
;
|
||||||
|
; .error_ex: EX DE,HL
|
||||||
|
; .error: CP #FF
|
||||||
|
; .error_fail: SCF
|
||||||
|
; LD C,A
|
||||||
|
; LD A,BIOS.Error.Failure
|
||||||
|
; RET Z
|
||||||
|
; ;
|
||||||
|
; LD A,BIOS.Error.ATAPI.UnitAttention
|
||||||
|
; CP C
|
||||||
|
; SCF
|
||||||
|
; RET Z
|
||||||
|
; ;
|
||||||
|
; LD A,BIOS.Error.ATAPI.MediumError
|
||||||
|
; CP C
|
||||||
|
; SCF
|
||||||
|
; RET Z
|
||||||
|
; ;
|
||||||
|
; LD A,BIOS.Error.Busy
|
||||||
|
; RET
|
||||||
|
;
|
||||||
.error_TimeOut: CP #FF
|
.error_TimeOut: CP #FF
|
||||||
EX DE,HL
|
EX DE,HL
|
||||||
JR Z,.error_fail
|
JR Z,.error_fail
|
||||||
@ -734,7 +740,6 @@ ATAPI_CHECK_DRV:
|
|||||||
CALL ATAPI_WAITPRT
|
CALL ATAPI_WAITPRT
|
||||||
EXX
|
EXX
|
||||||
; ZF=1
|
; ZF=1
|
||||||
;JP C,.error
|
|
||||||
RET C
|
RET C
|
||||||
;
|
;
|
||||||
; [ ] media change. ¤® «¨ âãâ? ;!FIXIT «ãçè¥ ¡«®ª¨à®¢ âì ®á¨â¥«ì
|
; [ ] media change. ¤® «¨ âãâ? ;!FIXIT «ãçè¥ ¡«®ª¨à®¢ âì ®á¨â¥«ì
|
||||||
@ -744,14 +749,23 @@ ATAPI_CHECK_DRV:
|
|||||||
AND IDE.CtrlByte.DataRequest + IDE.CtrlByte.Error
|
AND IDE.CtrlByte.DataRequest + IDE.CtrlByte.Error
|
||||||
RET Z ;NO DATA REQUEST. A = 0: BIOS.Error.NoErrors
|
RET Z ;NO DATA REQUEST. A = 0: BIOS.Error.NoErrors
|
||||||
RRA ; Checking IDE.CtrlByte.CheckCondition
|
RRA ; Checking IDE.CtrlByte.CheckCondition
|
||||||
;JR NC,.data_request
|
RET NC ; DataRequest CF=0, ZF=0
|
||||||
RET NC
|
;
|
||||||
; ¯à¨§ ª ⮣®, çâ® ®è¨¡ª á¬¥ë ®á¨â¥«ï ¤®«¦ ®¡à ¡ âë¢ âìáï ¢ EXEC_PACKET_COMMAND
|
CALL ATAPI_GET_ERROR_REG
|
||||||
EXX
|
EXX
|
||||||
DEC C ; ¯à¨§ ª ⮣®, çâ® ®è¨¡ª á¬¥ë ®á¨â¥«ï ¤®«¦ ®¡à ¡ âë¢ âìáï ¢ EXEC_PACKET_COMMAND
|
DEC C ; ¯à¨§ ª ⮣®, çâ® ®è¨¡ª á¬¥ë ®á¨â¥«ï ¤®«¦ ®¡à ¡ âë¢ âìáï ¢ EXEC_PACKET_COMMAND
|
||||||
EXX
|
EXX
|
||||||
|
SCF
|
||||||
RET Z ; ¢ë室, ¥á«¨ ®è¨¡ª ®¡à ¡ âë¢ ¥âáï ¥ ¢ EXEC_PACKET_COMMAND
|
RET Z ; ¢ë室, ¥á«¨ ®è¨¡ª ®¡à ¡ âë¢ ¥âáï ¥ ¢ EXEC_PACKET_COMMAND
|
||||||
JP ATAPI_CHECK_ERROR
|
;
|
||||||
|
; CP BIOS.Error.ATAPI.NoSence
|
||||||
|
; JP Z,ATAPI_MEDIA_ERROR
|
||||||
|
CP BIOS.Error.ATAPI.NotReady
|
||||||
|
JP Z,ATAPI_MEDIA_ERROR
|
||||||
|
CP BIOS.Error.ATAPI.UnitAttention
|
||||||
|
JP Z,ATAPI_MEDIA_ERROR
|
||||||
|
SCF
|
||||||
|
RET
|
||||||
;
|
;
|
||||||
|
|
||||||
ATAPI_PREPARE_RW:
|
ATAPI_PREPARE_RW:
|
||||||
@ -829,17 +843,17 @@ ATAPI_WAITPRT: LD DE,256*IDE.CtrlByte.Busy + 0
|
|||||||
IN A,(low IDE.Read.Status)
|
IN A,(low IDE.Read.Status)
|
||||||
CP #FF
|
CP #FF
|
||||||
JR Z,.error
|
JR Z,.error
|
||||||
|
;
|
||||||
AND D
|
AND D
|
||||||
CP E
|
CP E
|
||||||
;
|
|
||||||
RET Z
|
RET Z
|
||||||
;
|
;
|
||||||
.NEXT_TRY: DEC L
|
DEC HL
|
||||||
JR NZ,.LOOP
|
LD A,H
|
||||||
DEC H
|
OR L
|
||||||
; 15615
|
|
||||||
JR NZ,.LOOP
|
JR NZ,.LOOP
|
||||||
DJNZ .LOOP
|
DJNZ .LOOP
|
||||||
|
LD A,BIOS.Error.Busy
|
||||||
.error: SCF
|
.error: SCF
|
||||||
RET
|
RET
|
||||||
;----------------------------------------------------------------------;
|
;----------------------------------------------------------------------;
|
||||||
|
|||||||
@ -696,14 +696,14 @@ msgStrings:
|
|||||||
;
|
;
|
||||||
_mSetStr parQS_SetUpHardware, tmp_Counter : DZ 'ZX Mode : '
|
_mSetStr parQS_SetUpHardware, tmp_Counter : DZ 'ZX Mode : '
|
||||||
_mSetStr valSprinterZX, tmp_Counter : DZ 'Sprinter ZX '
|
_mSetStr valSprinterZX, tmp_Counter : DZ 'Sprinter ZX '
|
||||||
_mSetStr valPentagon48, tmp_Counter : DZ 'Pent. 48 '
|
_mSetStr valPentagon48, tmp_Counter : DZ 'Pentagon 48 '
|
||||||
_mSetStr valPentagon128, tmp_Counter : DZ 'Pent. 128 '
|
_mSetStr valPentagon128, tmp_Counter : DZ 'Pentagon 128'
|
||||||
_mSetStr valPentagon512, tmp_Counter : DZ 'Pent. 512 '
|
_mSetStr valPentagon512, tmp_Counter : DZ 'Pentagon 512'
|
||||||
_mSetStr valScorpion256, tmp_Counter : DZ 'Scorp 256 '
|
_mSetStr valScorpion256, tmp_Counter : DZ 'Scorpion 256'
|
||||||
_mSetStr valZXSpectrum48, tmp_Counter : DZ 'Speccy 48 '
|
_mSetStr valZXSpectrum48, tmp_Counter : DZ 'Spectrum 48 '
|
||||||
_mSetStr valZXSpectrum128, tmp_Counter : DZ 'Speccy 128'
|
_mSetStr valZXSpectrum128, tmp_Counter : DZ 'Spectrum 128'
|
||||||
;
|
;
|
||||||
_mSetStr parQS_SetUpZxRom, tmp_Counter : DZ 'Start in ZX mode : '
|
_mSetStr parQS_SetUpZxRom, tmp_Counter : DZ 'ZX Mode start in : '
|
||||||
_mSetStr valQS_SetUpBasic128, tmp_Counter : DZ 'Basic 128 '
|
_mSetStr valQS_SetUpBasic128, tmp_Counter : DZ 'Basic 128 '
|
||||||
_mSetStr valQS_SetUpBasic48p, tmp_Counter : DZ 'Basic 48+ '
|
_mSetStr valQS_SetUpBasic48p, tmp_Counter : DZ 'Basic 48+ '
|
||||||
_mSetStr valQS_SetUpTrDos, tmp_Counter : DZ 'TR-DOS '
|
_mSetStr valQS_SetUpTrDos, tmp_Counter : DZ 'TR-DOS '
|
||||||
|
|||||||
@ -517,6 +517,7 @@ GET_SCORP_RAM: CALL FREE_vRAM
|
|||||||
GOTO_SPECTRUM: DI
|
GOTO_SPECTRUM: DI
|
||||||
LD C,A
|
LD C,A
|
||||||
;
|
;
|
||||||
|
;
|
||||||
; set shared pages
|
; set shared pages
|
||||||
XOR A
|
XOR A
|
||||||
OUT (SLOT2),A ; ZERO_PAGE
|
OUT (SLOT2),A ; ZERO_PAGE
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user