mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-15 09:01:38 +03:00
DSS version check
This commit is contained in:
parent
bd8b527a32
commit
4dca7f0b60
@ -1 +1 @@
|
|||||||
Subproject commit be501b0cc276065a9981e471dd26f9b069af7604
|
Subproject commit 710aa4b5dd4b651bcb01ef5e86150b99dfe739ee
|
||||||
71
macroses/accelerator
Normal file
71
macroses/accelerator
Normal file
@ -0,0 +1,71 @@
|
|||||||
|
; Œ ªà®áë ªá¥«¥à â®à ¤«ï ªà á®âë))
|
||||||
|
|
||||||
|
;--------[¢ëª«îç¨âì ªá¥«¥à â®à]--------
|
||||||
|
MACRO ACC_Off
|
||||||
|
ld b,b
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
;---------[०¨¬ ¯à¨¥¬ ¡ ©â ]----------
|
||||||
|
MACRO ACC_SetBlockSize
|
||||||
|
ld d,d
|
||||||
|
; ¢ª«îç ¥â ªá¥«¥à â®à ¢ ०¨¬ ¯à¨¥¬
|
||||||
|
; ¡ ©â à §¬¥à ¡«®ª ¤ «¥¥ á«¥¤ã¥â
|
||||||
|
; ª®¬ ¤ ⨯ LD A,dat, £¤¥ dat ¨ ¡ã¤¥â
|
||||||
|
; ®¢ë¬ à §¬¥à®¬ ¡«®ª . …᫨ à §¬¥à
|
||||||
|
; ¡«®ª ¡ë« ãáâ ®¢«¥ à ¥¥, ¥£® ¬®¦®
|
||||||
|
; ¥ ãáâ ¢«¨¢ âì.
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
;-------[§ ¯®«¥¨¥ ®¤¨¬ ¡ ©â®¬]-------
|
||||||
|
MACRO ACC_FillOneByte
|
||||||
|
ld c,c
|
||||||
|
; ޝ¥à æ¨ï Fill. <20>®á«¥¤ãîé ï ª®¬ ¤
|
||||||
|
; ⨯ LD (HL),A ¯à¨¢¥¤¥â ª § ¯®«¥¨î
|
||||||
|
; 㪠§ ®£® à ¥¥ ª®«¨ç¥á⢠¡ ©â
|
||||||
|
; § 票¥¬ A
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
;----[§ ¯®«¥¨¥ ¢¥à⨪ «ìëå «¨¨©]----
|
||||||
|
;ޝ¥à æ¨ï Fill ¤«ï £à ä¨ç¥áª®£® íªà .
|
||||||
|
MACRO ACC_FillScreenOneByte
|
||||||
|
ld e,e
|
||||||
|
; <20>®á«¥¤ãîé ï ª®¬ ¤ ⨯ LD (HL),A
|
||||||
|
; ¯à¨¢¥¤¥â ª § ¯®«¥¨î § 票¥¬ A
|
||||||
|
; ¢¥à⨪ «ìëå «¨¨© íªà 㪠§ ë¬
|
||||||
|
; à ¥¥ ª®«¨ç¥á⢮¬ ¡ ©â
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
;----------[ª®¯¨à®¢ ¨¥ ¡«®ª ]----------
|
||||||
|
MACRO ACC_CopyBlock
|
||||||
|
ld l,l
|
||||||
|
; <20>®á«¥¤ãîé ï ª®¬ ¤ ⨯ LD A,(HL)
|
||||||
|
; ¯à¨¢¥¤¥â ª § ¯®«¥¨î އ“ ªá¥«¥à â®à
|
||||||
|
; ¤ 묨 ¨§ ¤à¥á (HL), ª®¬ ¤ ⨯
|
||||||
|
; LD (DE),A ¯à¨¢¥¤¥â ª ¯¥à¥§ ¯¨á¨ ¤ ëå
|
||||||
|
; ¨§ އ“ ªá¥«¥à â®à ¢ ®á®¢®¥ ¨«¨
|
||||||
|
; ¢¨¤¥®-އ“.
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
;---[ª®¯¨à®¢ ¨¥ £à ä¨ç¥áª®£® ¡«®ª ]----
|
||||||
|
MACRO ACC_CopyScreenBlock
|
||||||
|
ld a,a
|
||||||
|
; ª®¯¨à®¢ ¨¥ ¡«®ª ¤«ï £à ä. íªà .
|
||||||
|
; <20>®á«¥¤ãîé ï ª®¬ ¤ ⨯ LD A,(HL)
|
||||||
|
; ¯à¨¢¥¤¥â ª § ¯®«¥¨î އ“ ªá¥«¥à â®à
|
||||||
|
; ¤ 묨 ¨§ ¤à¥á (HL), ª®¬ ¤ ⨯
|
||||||
|
; LD (DE),A ¯à¨¢¥¤¥â ª ¯¥à¥§ ¯¨á¨ ¤ ëå
|
||||||
|
; ¨§ އ“ ªá¥«¥à â®à ¢ ¢¨¤¥®-އ“
|
||||||
|
; ¢¥à⨪ «ì묨 «¨¨ï¬¨.
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
;--------------[Reserved]---------------
|
||||||
|
MACRO ACC_Reserved
|
||||||
|
LD H,H
|
||||||
|
ENDM
|
||||||
|
;---------------------------------------
|
||||||
73
macroses/macros
Normal file
73
macroses/macros
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
;
|
||||||
|
MACRO FRAM_ON
|
||||||
|
IN A,(FastRAM_ON)
|
||||||
|
IF Emulator
|
||||||
|
PUSH BC
|
||||||
|
PUSH AF
|
||||||
|
LD BC,#1FFD
|
||||||
|
XOR A
|
||||||
|
OUT (C),A
|
||||||
|
OUT (FastRam_BANK0),A
|
||||||
|
POP AF
|
||||||
|
POP BC
|
||||||
|
ENDIF
|
||||||
|
ENDM
|
||||||
|
|
||||||
|
MACRO FRAM_OFF
|
||||||
|
IN A,(FastRAM_OFF)
|
||||||
|
IF Emulator
|
||||||
|
PUSH BC
|
||||||
|
PUSH AF
|
||||||
|
LD BC,#1FFD
|
||||||
|
LD A,1
|
||||||
|
OUT (C),A
|
||||||
|
XOR A
|
||||||
|
OUT (FastRam_BANK0),A
|
||||||
|
POP AF
|
||||||
|
POP BC
|
||||||
|
ENDIF
|
||||||
|
ENDM
|
||||||
|
;
|
||||||
|
;
|
||||||
|
MACRO PrintProc
|
||||||
|
|
||||||
|
MODULE PrintF
|
||||||
|
;---------------------------------------
|
||||||
|
printstr:
|
||||||
|
; ¢ ॣ. HL ¤à¥á ¯¥ç â ¥¬ë© ¡ãä¥à
|
||||||
|
LD C,Dss.PChars
|
||||||
|
jp ToDSS
|
||||||
|
;---------------------------------------
|
||||||
|
|
||||||
|
;---------------------------------------
|
||||||
|
; ¢ ॣ. A ç¨á«® ¯¥ç â ¥¬®¥ ª ª hex
|
||||||
|
printhex:
|
||||||
|
LD D,A
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
RRCA
|
||||||
|
AND #0F
|
||||||
|
ADD A,#30
|
||||||
|
CP #3A
|
||||||
|
JR C,.PRNH1
|
||||||
|
ADD A,7
|
||||||
|
.PRNH1:
|
||||||
|
CALL .PRINT_CHAR
|
||||||
|
LD A,D
|
||||||
|
AND #0F
|
||||||
|
ADD A,#30
|
||||||
|
CP #3A
|
||||||
|
JP C,.PRINT_CHAR
|
||||||
|
ADD A,7
|
||||||
|
JP .PRINT_CHAR
|
||||||
|
; ¢ ॣ¨áâॠA ᨬ¢®« ¤«ï ¯¥ç â¨
|
||||||
|
.PRINT_CHAR:
|
||||||
|
LD BC,#0182
|
||||||
|
JP ToBIOS
|
||||||
|
;---------------------------------------
|
||||||
|
ENDMODULE
|
||||||
|
|
||||||
|
ENDM
|
||||||
|
;
|
||||||
|
;
|
||||||
52
spectrum.asm
52
spectrum.asm
@ -138,7 +138,19 @@ BEGIN: LD (LINE_X),IX
|
|||||||
LD HL,START_MSG
|
LD HL,START_MSG
|
||||||
LD C,Dss.PChars
|
LD C,Dss.PChars
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
|
;
|
||||||
|
;
|
||||||
|
LD C,Dss.Version
|
||||||
|
RST ToDSS
|
||||||
|
SCF
|
||||||
|
LD HL,256*DSS_MIN_VERS.vers + DSS_MIN_VERS.modf
|
||||||
|
SBC HL,DE
|
||||||
|
JP NC,ERROR_OLD_DSS
|
||||||
|
LD HL,DSS_MIN_VERS.build
|
||||||
|
SBC HL,BC
|
||||||
|
JR NC,ERROR_OLD_DSS
|
||||||
|
;
|
||||||
|
;
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
LD (SAVE_SLOT3),A
|
LD (SAVE_SLOT3),A
|
||||||
;
|
;
|
||||||
@ -203,17 +215,21 @@ BEGIN: LD (LINE_X),IX
|
|||||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
Error_NoMemForSPpages:
|
Error_NoMemForSPpages:
|
||||||
LD HL,NO_MEM_MSG
|
LD HL,NO_MEM_MSG
|
||||||
|
LD B,DSS_Error.sys.NOT_ENOUGH_MEMORY
|
||||||
JR ERROR_FILE.prn_msg
|
JR ERROR_FILE.prn_msg
|
||||||
|
; ;
|
||||||
ERROR_FILE: LD HL,ERROR_FILE_MSG_X
|
ERROR_FILE: LD HL,ERROR_FILE_MSG_X
|
||||||
LD C,Dss.PChars
|
LD C,Dss.PChars
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
;
|
;
|
||||||
LD A,(FILE_HANDLE)
|
; LD A,(FILE_HANDLE)
|
||||||
LD C,Dss.Close
|
; LD C,Dss.Close
|
||||||
RST ToDSS
|
; RST ToDSS
|
||||||
;
|
;
|
||||||
LD HL,ONE_FILE
|
LD HL,ONE_FILE
|
||||||
.prn_msg: LD C,Dss.PChars
|
LD B,DSS_Error.sys.FILE_NOT_FOUND
|
||||||
|
.prn_msg: PUSH BC
|
||||||
|
LD C,Dss.PChars
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
;
|
;
|
||||||
LD A,(vROM_LOAD_BIN.need_free)
|
LD A,(vROM_LOAD_BIN.need_free)
|
||||||
@ -225,20 +241,31 @@ ERROR_FILE: LD HL,ERROR_FILE_MSG_X
|
|||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
;
|
;
|
||||||
.skip_free: LD HL,ERROR_FILE_MSG
|
.skip_free: LD HL,ERROR_FILE_MSG
|
||||||
JR EXIT_ALL
|
POP BC
|
||||||
|
JR EXIT_NOW
|
||||||
|
; ;
|
||||||
ERROR_ZX_FLAG: LD HL,MSG_NO_ZX_FLAG
|
ERROR_ZX_FLAG: LD HL,MSG_NO_ZX_FLAG
|
||||||
JR EXIT_ALL
|
JR EXIT_NOW
|
||||||
END_CNF_ERROR:
|
; ;
|
||||||
LD HL,ERROR_CNF
|
ERROR_OLD_DSS: LD HL,MSG_OLD_DSS
|
||||||
EXIT_ALL: LD C,Dss.PChars
|
JR EXIT_NOW
|
||||||
|
; ;
|
||||||
|
EXIT_ALL: LD B,DSS_Error.sys.NO_ERROR
|
||||||
|
JR EXIT_NOW
|
||||||
|
; ;
|
||||||
|
END_CNF_ERROR: LD HL,ERROR_CNF
|
||||||
|
LD B,DSS_Error.sys.UNKNOWN_FORMAT
|
||||||
|
EXIT_NOW: PUSH BC
|
||||||
|
LD C,Dss.PChars
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
;
|
;
|
||||||
LD BC,BIOS.ZX_MEMORY_MANAGER.FreeZXvPages.vRAM
|
LD BC,BIOS.ZX_MEMORY_MANAGER.FreeZXvPages.vRAM
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
.loop: LD BC,Dss.Exit
|
POP BC
|
||||||
|
.loop: LD C,Dss.Exit
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
JR .loop
|
JR .loop
|
||||||
;
|
; ;
|
||||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||||
|
|
||||||
|
|
||||||
@ -1470,6 +1497,7 @@ MSG_ZX_EXIT: DB 13,10, "EXIT from Spectrum mode",13,10,0
|
|||||||
;MSG_ZX_EXIT2: DB 13,10, "EXIT from ZX mode",0
|
;MSG_ZX_EXIT2: DB 13,10, "EXIT from ZX mode",0
|
||||||
MSG_NO_ZX_FLAG: DB 13,10, 'Error: Necessary ROM images are missing in the CNF file and in RAM!!!'
|
MSG_NO_ZX_FLAG: DB 13,10, 'Error: Necessary ROM images are missing in the CNF file and in RAM!!!'
|
||||||
DB 13,10, ' Run "spectrum.exe norun.zx" with the required set of ZX ROMs.',13,10,0
|
DB 13,10, ' Run "spectrum.exe norun.zx" with the required set of ZX ROMs.',13,10,0
|
||||||
|
MSG_OLD_DSS: DB 13,10, 'To run this version of SPECTRUM launcher you need DSS v1.70.998 or higher.',13,10,0
|
||||||
PROGRES_IND: DB '°',0 ; 176
|
PROGRES_IND: DB '°',0 ; 176
|
||||||
PROGRES_100: DB ' 100%',13,10,0
|
PROGRES_100: DB ' 100%',13,10,0
|
||||||
|
|
||||||
|
|||||||
@ -6,3 +6,8 @@
|
|||||||
|
|
||||||
DEFINE SP_VERSION "2.03 beta build"
|
DEFINE SP_VERSION "2.03 beta build"
|
||||||
;
|
;
|
||||||
|
DSS_MIN_VERS:
|
||||||
|
.vers EQU 1
|
||||||
|
.modf EQU 70
|
||||||
|
.build EQU 998
|
||||||
|
;
|
||||||
Loading…
Reference in New Issue
Block a user