mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-15 17:11:38 +03:00
...
This commit is contained in:
parent
27b24be434
commit
5fed4f166d
88
spectrum.asm
88
spectrum.asm
@ -81,11 +81,12 @@
|
||||
;
|
||||
; Standart EQU section
|
||||
;***************************************
|
||||
org_addr EQU #8000+CLP_Buffer
|
||||
code_addr EQU BEGIN
|
||||
stack_point EQU #BFFE
|
||||
stack_buffer EQU 64
|
||||
program_start EQU BEGIN
|
||||
org_addr EQU #8000+CLP_Buffer
|
||||
code_addr EQU BEGIN
|
||||
stack_point EQU #BFFE
|
||||
stack_buffer EQU 64
|
||||
program_start EQU BEGIN
|
||||
Loader_length EQU 0
|
||||
;***************************************
|
||||
;
|
||||
|
||||
@ -159,7 +160,21 @@ BEGIN: LD (LINE_X),IX
|
||||
RST ToBIOS
|
||||
ENDIF
|
||||
;
|
||||
;!TODO
|
||||
;LD HL,SPECTRUM_HOME_DIR
|
||||
;LD BC,Dss.AppInfo.EXE_HomeDir
|
||||
;RST ToDSS
|
||||
;;
|
||||
;LD C,Dss.CurDisk
|
||||
;RST ToDSS
|
||||
;ADD A,'A'
|
||||
;LD (USER_CURRENT_DRV),A
|
||||
;;
|
||||
;LD HL,USER_CURRENT_DIR
|
||||
;LD C,Dss.CurDir
|
||||
;RST ToDSS
|
||||
;
|
||||
|
||||
JP COMAND_LINE
|
||||
|
||||
|
||||
@ -200,9 +215,14 @@ EXIT_ALL: LD C,Dss.PChars
|
||||
;LD C,Dss.PChars
|
||||
;RST ToDSS
|
||||
;---------------------------------------
|
||||
1: LD BC,Dss.Exit
|
||||
;!TODO
|
||||
;LD HL,USER_CURRENT_DRV
|
||||
;LD C,Dss.ChDir
|
||||
;RST ToDSS
|
||||
;
|
||||
.loop: LD BC,Dss.Exit
|
||||
RST ToDSS
|
||||
JR 1B
|
||||
JR .loop
|
||||
;
|
||||
|
||||
|
||||
@ -219,12 +239,12 @@ COMAND_LINE: LD HL,(LINE_X)
|
||||
CALL FIND_FILES
|
||||
|
||||
CALL MAKE_FULL_NAME
|
||||
LD A,Spec_Page ;!FIXIT don't use it in new version
|
||||
LD A,SHARED_PAGE
|
||||
CALL READ_FILE_1
|
||||
JP NC,CONTINUE
|
||||
|
||||
NO_FIL: CALL MAKE_FULL_NAME.def_cnf
|
||||
LD A,Spec_Page ;!FIXIT don't use it in new version
|
||||
LD A,SHARED_PAGE
|
||||
CALL READ_FILE_1
|
||||
JR C,ERROR_FILE
|
||||
JP CONTINUE
|
||||
@ -417,7 +437,7 @@ N_LINE: LD (HL),0
|
||||
CALL READ_FILE_1
|
||||
POP DE
|
||||
;
|
||||
LD A,Spec_Page
|
||||
LD A,SHARED_PAGE
|
||||
OUT (SLOT3),A
|
||||
JP C,ERROR_FILE
|
||||
.skip_load:
|
||||
@ -499,7 +519,7 @@ LOADING_PALETTE:
|
||||
|
||||
;*************************************
|
||||
|
||||
LD A,Spec_Page
|
||||
LD A,SHARED_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD HL,(A_LINES + (OPTIONS_LINE-1)*2 ) ; áâப ¯ à ¬¥â஢
|
||||
LOOP_PAR1: LD A,(HL)
|
||||
@ -622,11 +642,18 @@ SKIP_IMAGE: LD A,(No_run_+2)
|
||||
LD HL,MSG_EXIT1
|
||||
JP NZ,SETUP_RAM_DRIVES
|
||||
|
||||
LD BC,SLOT3
|
||||
IN B,(C)
|
||||
LD A,Spec_Page
|
||||
OUT (C),A
|
||||
;
|
||||
LD A,"Z"
|
||||
LD (Spec_Page.flag_Z),A
|
||||
LD A,"X"
|
||||
LD (Spec_Page.flag_X),A
|
||||
|
||||
;
|
||||
OUT (C),B
|
||||
;
|
||||
JP EXIT_ALL
|
||||
|
||||
|
||||
@ -735,7 +762,7 @@ Get_RAM_Disk_E: LD A,D
|
||||
JR Z,ERROR_NO_MEM
|
||||
PUSH AF
|
||||
;***************************************
|
||||
; [ ] 04/11/2023 Žâ¤¥«ìë¥ à ¬¤¨áª¨ ¤«ï ०¨¬ ᯥªâà㬠¨ DSS
|
||||
; [x] 04/11/2023 Žâ¤¥«ìë¥ à ¬¤¨áª¨ ¤«ï ०¨¬ ᯥªâà㬠¨ DSS
|
||||
.free_disk: DI
|
||||
;!TEST
|
||||
;XOR A ; RAM-Drive E:
|
||||
@ -1192,6 +1219,7 @@ MAKE_FULL_NAME: LD HL,(CNF_NAME)
|
||||
LD BC,Dss.EX_Path.GET_ALL
|
||||
RST ToDSS
|
||||
;
|
||||
OR 2
|
||||
CP 3 ; only "FileName.ext"?
|
||||
LD HL,(CNF_NAME)
|
||||
JR Z,.get_app_path
|
||||
@ -1214,6 +1242,8 @@ MAKE_FULL_NAME: LD HL,(CNF_NAME)
|
||||
.mode+1: LD HL,0
|
||||
LD BC,12 ;!HARDCODE filename length
|
||||
LDIR
|
||||
XOR A
|
||||
LD (DE),A
|
||||
LD HL,ONE_FILE
|
||||
RET
|
||||
;----------------------------------------------------------------------;
|
||||
@ -1227,12 +1257,19 @@ CHECK_ZX_FLAG:
|
||||
IN B,(C)
|
||||
LD A,Spec_Page
|
||||
OUT (C),A
|
||||
LD A,(Spec_Page.flag_Z)
|
||||
CP 'Z'
|
||||
JR NZ,.no_zx
|
||||
LD A,(Spec_Page.flag_X)
|
||||
CP 'X'
|
||||
JP Z,.exit
|
||||
LD HL,(Spec_Page.flag_Z)
|
||||
LD DE,'Z'+'X'*256
|
||||
AND A
|
||||
SBC HL,DE
|
||||
JR Z,.exit
|
||||
|
||||
|
||||
; LD A,(Spec_Page.flag_Z)
|
||||
; CP 'Z'
|
||||
; JR NZ,.no_zx
|
||||
; LD A,(Spec_Page.flag_X)
|
||||
; CP 'X'
|
||||
; JP Z,.exit
|
||||
;
|
||||
.no_zx: LD A,1
|
||||
LD (NO_ZX_FLAG),A
|
||||
@ -1281,17 +1318,20 @@ RMD_Keep: DB "RMD-Keep", 255,0 ;!TEST; [ ] 05/11/2023
|
||||
;/Turbo /Lines312 /Sprinter /7FFD /1FFD /Mem512 /Int-Sc /To-TRDOS /no-run /origin /ret-zx /ret-fn
|
||||
|
||||
CNF_FILE: DB "SPECTRUM.CFG",0
|
||||
.Size EQU $-CNF_FILE
|
||||
ONE_FILE: BLOCK FULL_FILE_NAME_LENGTH,0
|
||||
;
|
||||
|
||||
;!TODO
|
||||
;USER_CURRENT_DRV DB 'Z:'
|
||||
;USER_CURRENT_DIR EQU $
|
||||
;SPECTRUM_HOME_DIR EQU USER_CURRENT_DIR + 256
|
||||
;
|
||||
|
||||
;
|
||||
;
|
||||
|
||||
;
|
||||
IFDEF NEED_LOADER
|
||||
Loader_length EQU $-BEGIN
|
||||
ELSE
|
||||
Loader_length EQU 0
|
||||
ENDIF
|
||||
;----------------------------------------------[End Loader section]
|
||||
;
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user