mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-15 00:51:36 +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 C,Dss.PChars
|
||||
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)
|
||||
LD (SAVE_SLOT3),A
|
||||
;
|
||||
@ -203,17 +215,21 @@ BEGIN: LD (LINE_X),IX
|
||||
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
|
||||
Error_NoMemForSPpages:
|
||||
LD HL,NO_MEM_MSG
|
||||
LD B,DSS_Error.sys.NOT_ENOUGH_MEMORY
|
||||
JR ERROR_FILE.prn_msg
|
||||
; ;
|
||||
ERROR_FILE: LD HL,ERROR_FILE_MSG_X
|
||||
LD C,Dss.PChars
|
||||
RST ToDSS
|
||||
;
|
||||
LD A,(FILE_HANDLE)
|
||||
LD C,Dss.Close
|
||||
RST ToDSS
|
||||
; LD A,(FILE_HANDLE)
|
||||
; LD C,Dss.Close
|
||||
; RST ToDSS
|
||||
;
|
||||
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
|
||||
;
|
||||
LD A,(vROM_LOAD_BIN.need_free)
|
||||
@ -225,20 +241,31 @@ ERROR_FILE: LD HL,ERROR_FILE_MSG_X
|
||||
RST ToBIOS
|
||||
;
|
||||
.skip_free: LD HL,ERROR_FILE_MSG
|
||||
JR EXIT_ALL
|
||||
POP BC
|
||||
JR EXIT_NOW
|
||||
; ;
|
||||
ERROR_ZX_FLAG: LD HL,MSG_NO_ZX_FLAG
|
||||
JR EXIT_ALL
|
||||
END_CNF_ERROR:
|
||||
LD HL,ERROR_CNF
|
||||
EXIT_ALL: LD C,Dss.PChars
|
||||
JR EXIT_NOW
|
||||
; ;
|
||||
ERROR_OLD_DSS: LD HL,MSG_OLD_DSS
|
||||
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
|
||||
;
|
||||
LD BC,BIOS.ZX_MEMORY_MANAGER.FreeZXvPages.vRAM
|
||||
RST ToBIOS
|
||||
.loop: LD BC,Dss.Exit
|
||||
POP BC
|
||||
.loop: LD C,Dss.Exit
|
||||
RST ToDSS
|
||||
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_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
|
||||
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_100: DB ' 100%',13,10,0
|
||||
|
||||
|
||||
@ -5,4 +5,9 @@
|
||||
ENDLUA
|
||||
|
||||
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