игры с ZIP

This commit is contained in:
Tolik 2025-05-02 04:10:14 +10:00
parent 863f7f58e4
commit 91dbea19dc
6 changed files with 104 additions and 75 deletions

@ -1 +1 @@
Subproject commit a6c50f572424e88f6199d639fa8109d53b71142c
Subproject commit 68e156a69e848e7b01656cdf67122022999d75ee

Binary file not shown.

View File

@ -1249,6 +1249,9 @@ GOTO_SPEC: PUSH HL
LD HL,RET_TO_BIOS
EX (SP),HL
PUSH HL
PUSH AF
CALL FN_TURBO.SET_FDD_720
POP AF
LD HL,GOTO_SPECTRUM
EX (SP),HL
JP EXTENSION_FNs
@ -1293,36 +1296,47 @@ PROG_NO_ROM:
OUT (SLOT1),A
LD SP,#BF00
;
LD BC,BIOS.SET_PAL_INIT.CGA
RST ToBIOS
;
LD E,0
LD BC,BIOS.LP_OPEN_S.TXT_80x32_Default
RST ToBIOS
;
LD DE,0
LD B,E
LD HL,#2050
LD C,BIOS.LP_CLS_WIN
RST ToBIOS
; set scr-2
LD A,1
OUT (SCREEN_SWITCH),A
;
LD HL,MESSAGE_NR
LD DE,#A000
PUSH DE
LD BC,MESSAGE_NR.size
LD A,C
LDIR
;
LD HL,#A000
LD D,0 ; delimiter
LD E,COLORS.CGA.FLASH + COLORS.CGA.INK.RED
LD B,A
LD C,BIOS.LP_PRINT_LINE3
; BC=0
POP HL
SCF
EX AF,AF'
SCF
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
;
; set scr-2
LD A,1
OUT (SCREEN_SWITCH),A
.loop: DI
HALT
JR .loop
;
MESSAGE_NR: DZ " Spectrum ROM not installed. Use spectrum.exe Press Ctrl+Alt+Del or RESET"
;Spectrum ROM configuration error
; 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
ENT
PROG_NO_ROM.size EQU $-PROG_NO_ROM

View File

@ -32,6 +32,7 @@ ATAPI_5x_RESET: LD C,IDE.Device.ATAPI
;!FIXIT ;[ ] sector size. ᤥ« âì २­¨â HDD_INIT_TABLE
POP BC
RET NC
LD C,A
;
;CALL ATAPI_CHECK_MEDIA_CHANGED.noWait
;RET C
@ -53,6 +54,10 @@ ATAPI_5x_RESET: LD C,IDE.Device.ATAPI
JR NZ,.pause_loop
EXX
DJNZ .loop
LD A,C
AND A
SCF
RET NZ
RET
/*
HL = 1e00
@ -99,11 +104,15 @@ ATAPI_5x_GET_PAR:
;
CP BIOS.Error.ATAPI.MediumError
JR NZ,.unknown_error
;
;!FIXIT ª®áâë«ì
LD A,BIOS.Error.ATAPI.UnitAttention ;!FIXIT ª®áâë«ì
RES 1,(IY + IDE.HDD_INIT_TABLE.MediaParameters) ; [ ] removable media
;
.unknown_error: LD HL,#FFFF
LD D,H
LD E,L
PUSH HL
POP IX
SCF
EX AF,AF' ; âãâ ¬ áª¨à㥬 ®è¨¡ªã, ¨§­ ç «ì­® CF=1 ⮫쪮 ¥á«¨ ãáâனá⢮ ®âáãâáâ¢ã¥â
OUT (SLOT3),A
@ -412,17 +421,6 @@ ATAPI_REQUEST_SENSE:
ATAPI_CHECK_MEDIA_CHANGED:
CALL EXEC_TEST_CMD ;!FIXIT   ¬®¦¥â ¨ ­¥ ­ ¤®
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
LD C,SLOT3
@ -439,19 +437,19 @@ ATAPI_CHECK_MEDIA_CHANGED:
RET
;----------------------------------------------------------------------;
;[ ] media changed
;----------------------------------------------------------------------;
ATAPI_CHECK_ERROR:
CALL ATAPI_GET_ERROR_REG
;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_CHECK_ERROR:
; CALL ATAPI_GET_ERROR_REG
; ;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
;----------------------------------------------------------------------;
@ -493,27 +491,35 @@ TRAY_FN: LD HL,ATAPI_CMD_PACKET.CLOSE
EXEC_PACKET_COMMAND:
; .error_APLOOP: LD A,BIOS.Error.ATAPI.UnitAttention
; RET
;
;CALL ATAPI_GET_ERROR_REG
.error_ex: EX DE,HL
.error: CP #FF
.error_fail: SCF
LD C,A
RET NZ
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_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
EX DE,HL
JR Z,.error_fail
@ -734,7 +740,6 @@ ATAPI_CHECK_DRV:
CALL ATAPI_WAITPRT
EXX
; ZF=1
;JP C,.error
RET C
;
; [ ] media change.   ­ ¤® «¨ âãâ? ;!FIXIT «ãçè¥ ¡«®ª¨à®¢ âì ­®á¨â¥«ì
@ -744,14 +749,23 @@ ATAPI_CHECK_DRV:
AND IDE.CtrlByte.DataRequest + IDE.CtrlByte.Error
RET Z ;NO DATA REQUEST. A = 0: BIOS.Error.NoErrors
RRA ; Checking IDE.CtrlByte.CheckCondition
;JR NC,.data_request
RET NC
; ¯à¨§­ ª ⮣®, çâ® ®è¨¡ª  ᬥ­ë ­®á¨â¥«ï ¤®«¦­  ®¡à ¡ â뢠âìáï ¢ EXEC_PACKET_COMMAND
EXX
DEC C ; ¯à¨§­ ª ⮣®, çâ® ®è¨¡ª  ᬥ­ë ­®á¨â¥«ï ¤®«¦­  ®¡à ¡ â뢠âìáï ¢ EXEC_PACKET_COMMAND
EXX
RET Z ; ¢ë室, ¥á«¨ ®è¨¡ª  ®¡à ¡ â뢠¥âáï ­¥ ¢ EXEC_PACKET_COMMAND
JP ATAPI_CHECK_ERROR
RET NC ; DataRequest CF=0, ZF=0
;
CALL ATAPI_GET_ERROR_REG
EXX
DEC C ; ¯à¨§­ ª ⮣®, çâ® ®è¨¡ª  ᬥ­ë ­®á¨â¥«ï ¤®«¦­  ®¡à ¡ â뢠âìáï ¢ EXEC_PACKET_COMMAND
EXX
SCF
RET Z ; ¢ë室, ¥á«¨ ®è¨¡ª  ®¡à ¡ â뢠¥âáï ­¥ ¢ EXEC_PACKET_COMMAND
;
; 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:
@ -829,17 +843,17 @@ ATAPI_WAITPRT: LD DE,256*IDE.CtrlByte.Busy + 0
IN A,(low IDE.Read.Status)
CP #FF
JR Z,.error
;
AND D
CP E
;
RET Z
;
.NEXT_TRY: DEC L
JR NZ,.LOOP
DEC H
; 15615
DEC HL
LD A,H
OR L
JR NZ,.LOOP
DJNZ .LOOP
LD A,BIOS.Error.Busy
.error: SCF
RET
;----------------------------------------------------------------------;

View File

@ -695,15 +695,15 @@ msgStrings:
_mSetStr valLoadZXromsCAD, tmp_Counter : DZ 'On restart'
;
_mSetStr parQS_SetUpHardware, tmp_Counter : DZ 'ZX Mode : '
_mSetStr valSprinterZX, tmp_Counter : DZ 'SprinterZX'
_mSetStr valPentagon48, tmp_Counter : DZ 'Pent. 48 '
_mSetStr valPentagon128, tmp_Counter : DZ 'Pent. 128 '
_mSetStr valPentagon512, tmp_Counter : DZ 'Pent. 512 '
_mSetStr valScorpion256, tmp_Counter : DZ 'Scorp 256 '
_mSetStr valZXSpectrum48, tmp_Counter : DZ 'Speccy 48 '
_mSetStr valZXSpectrum128, tmp_Counter : DZ 'Speccy 128'
_mSetStr valSprinterZX, tmp_Counter : DZ 'Sprinter ZX '
_mSetStr valPentagon48, tmp_Counter : DZ 'Pentagon 48 '
_mSetStr valPentagon128, tmp_Counter : DZ 'Pentagon 128'
_mSetStr valPentagon512, tmp_Counter : DZ 'Pentagon 512'
_mSetStr valScorpion256, tmp_Counter : DZ 'Scorpion 256'
_mSetStr valZXSpectrum48, tmp_Counter : DZ 'Spectrum 48 '
_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_SetUpBasic48p, tmp_Counter : DZ 'Basic 48+ '
_mSetStr valQS_SetUpTrDos, tmp_Counter : DZ 'TR-DOS '

View File

@ -517,6 +517,7 @@ GET_SCORP_RAM: CALL FREE_vRAM
GOTO_SPECTRUM: DI
LD C,A
;
;
; set shared pages
XOR A
OUT (SLOT2),A ; ZERO_PAGE