mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-15 00:51:36 +03:00
режим спектрума работает с любыми каналами и основными разделами
This commit is contained in:
parent
90593508ed
commit
62af95e525
@ -1 +1 @@
|
|||||||
Subproject commit c135d9b6038fcabca6cef3234d876f93d5865dee
|
Subproject commit e5122b68be360be61be821f68988c29021ec8411
|
||||||
101
spectrum.asm
101
spectrum.asm
@ -93,7 +93,7 @@ Loader_length EQU 0
|
|||||||
;
|
;
|
||||||
; Program EQU section
|
; Program EQU section
|
||||||
;***************************************
|
;***************************************
|
||||||
FULL_FILE_NAME_LENGTH EQU 128 ; ¤«¨ áâப¨ ¯ã⨠ª ä ©«ã
|
FULL_FILE_NAME_LENGTH EQU 256 ; ¤«¨ áâப¨ ¯ã⨠ª ä ©«ã
|
||||||
MAX_LINE_LENGTH EQU 120 ; ¤«¨ áâப¨ CFG ä ©«
|
MAX_LINE_LENGTH EQU 120 ; ¤«¨ áâப¨ CFG ä ©«
|
||||||
|
|
||||||
;!TEST
|
;!TEST
|
||||||
@ -667,7 +667,6 @@ SKIP_IMAGE: LD A,(No_run_+2)
|
|||||||
;********************************************
|
;********************************************
|
||||||
|
|
||||||
; out B - old ROM-page
|
; out B - old ROM-page
|
||||||
;!FIXIT ᤥ« âì ç¥à¥§ ¢ë§®¢ äãªæ¨¨ <20>ˆŽ‘
|
|
||||||
SET_ROM: DI
|
SET_ROM: DI
|
||||||
LD C,BIOS.SET_PORTS
|
LD C,BIOS.SET_PORTS
|
||||||
JP ToBIOS
|
JP ToBIOS
|
||||||
@ -709,6 +708,7 @@ SET_ROM: DI
|
|||||||
; RET
|
; RET
|
||||||
;********************************************
|
;********************************************
|
||||||
|
|
||||||
|
;********************************************
|
||||||
READ_IMAGE: LD DE,ONE_FILE
|
READ_IMAGE: LD DE,ONE_FILE
|
||||||
LD BC,FULL_FILE_NAME_LENGTH
|
LD BC,FULL_FILE_NAME_LENGTH
|
||||||
LDIR
|
LDIR
|
||||||
@ -720,7 +720,64 @@ READ_IMAGE: LD DE,ONE_FILE
|
|||||||
RET C
|
RET C
|
||||||
|
|
||||||
LD (IMAGE_HANDLER),A
|
LD (IMAGE_HANDLER),A
|
||||||
|
; [ ] 31/01/2024 ¯®¤¤¥à¦ª ¯¥à¥ª«îç¥¨ï ¤¨áª /à §¤¥« ¢ TR-DOS
|
||||||
|
LD HL,ONE_FILE
|
||||||
|
LD BC,Dss.EX_Path.GET_ALL
|
||||||
|
RST ToDSS
|
||||||
|
JR C,.no_change_Disk
|
||||||
|
AND 8
|
||||||
|
JR Z,.currentDisk
|
||||||
|
;
|
||||||
|
LD C,Dss.CurDisk
|
||||||
|
RST ToDSS
|
||||||
|
JR C,.no_change_Disk
|
||||||
|
JR .getInfoDRV
|
||||||
|
.currentDisk: ;
|
||||||
|
LD A,(ONE_FILE)
|
||||||
|
SUB "A"
|
||||||
|
;
|
||||||
|
.getInfoDRV: ;
|
||||||
|
OR #80
|
||||||
|
LD HL,TMP_BUFF
|
||||||
|
LD BC,Dss.DskInfo
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD B,4 ;!HARDCODE ®¬¥à 㦮£® ¯ à ¬¥âà
|
||||||
|
LD DE,0
|
||||||
|
LD HL,TMP_BUFF
|
||||||
|
.loop_param: ADD HL,DE
|
||||||
|
LD E,(HL)
|
||||||
|
INC HL
|
||||||
|
DJNZ .loop_param
|
||||||
|
LD A,(HL)
|
||||||
|
AND #80
|
||||||
|
JR Z,.no_change_Disk
|
||||||
|
CP #90
|
||||||
|
JR NC,.no_change_Disk
|
||||||
|
;
|
||||||
|
LD A,3
|
||||||
|
AND (HL)
|
||||||
|
LD D,A
|
||||||
|
INC HL
|
||||||
|
LD A,(HL)
|
||||||
|
RLCA
|
||||||
|
RLCA
|
||||||
|
;
|
||||||
|
OR D
|
||||||
|
AND #0F
|
||||||
|
;
|
||||||
|
;LD C,SLOT3
|
||||||
|
;IN B,(C)
|
||||||
|
;EX AF,AF'
|
||||||
|
;LD A,SYS_PAGE
|
||||||
|
;OUT (C),A
|
||||||
|
;EX AF,AF'
|
||||||
|
;
|
||||||
|
LD (RESET_TO_ZX.hdd),A
|
||||||
|
;OUT (C),B
|
||||||
|
;
|
||||||
|
;
|
||||||
|
.no_change_Disk:;
|
||||||
LD A,(IMAGE_FLAG)
|
LD A,(IMAGE_FLAG)
|
||||||
AND A
|
AND A
|
||||||
JR Z,.Load_TRD
|
JR Z,.Load_TRD
|
||||||
@ -784,6 +841,9 @@ Get_RAM_Disk_E: LD A,D
|
|||||||
RET
|
RET
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
|
|
||||||
|
|
||||||
|
;********************************************
|
||||||
|
|
||||||
Load_IMAGE_File:
|
Load_IMAGE_File:
|
||||||
LD A,(IMAGE_HANDLER)
|
LD A,(IMAGE_HANDLER)
|
||||||
LD HL,0
|
LD HL,0
|
||||||
@ -1028,9 +1088,9 @@ RESET_TO_ZX: DI
|
|||||||
LD A,(Int_or_+2)
|
LD A,(Int_or_+2)
|
||||||
AND A
|
AND A
|
||||||
LD A,#FA ; original waits on
|
LD A,#FA ; original waits on
|
||||||
JR NZ,ORIG1
|
JR NZ,.ORIG1
|
||||||
LD A,#FE
|
LD A,#FE
|
||||||
ORIG1: LD BC,Port_All_Mode
|
.ORIG1: LD BC,Port_All_Mode
|
||||||
OUT (C),A ; ACC-Off
|
OUT (C),A ; ACC-Off
|
||||||
|
|
||||||
LD BC,CBL.SYS_PORT
|
LD BC,CBL.SYS_PORT
|
||||||
@ -1042,8 +1102,9 @@ ORIG1: LD BC,Port_All_Mode
|
|||||||
RST ToBIOS_18
|
RST ToBIOS_18
|
||||||
|
|
||||||
;---------------[test!!!!!]-------------
|
;---------------[test!!!!!]-------------
|
||||||
;!FIXIT à §à㫨âì ०¨¬ ᯥªâàã¬ à ¡®âã á «î¡ë¬¨ ª « ¬¨
|
;[ ] 1/02/2024 ०¨¬ ᯥªâàã¬ à ¡®â ¥â á «î¡ë¬¨ ª « ¬¨ ¨ ®á®¢ë¬¨ à §¤¥« ¬¨
|
||||||
XOR A ; --> IDE-1
|
; XOR A ; --> IDE-1
|
||||||
|
.hdd+1: LD A,#FF
|
||||||
LD C,BIOS.HDD_PART ; IDE-1/IDE-2
|
LD C,BIOS.HDD_PART ; IDE-1/IDE-2
|
||||||
RST ToBIOS_18
|
RST ToBIOS_18
|
||||||
;---------------------------------------
|
;---------------------------------------
|
||||||
@ -1321,7 +1382,17 @@ RMD_Keep: DB "RMD-Keep", 255,0 ;!TEST; [ ] 05/11/2023
|
|||||||
|
|
||||||
CNF_FILE: DB "SPECTRUM.CFG",0
|
CNF_FILE: DB "SPECTRUM.CFG",0
|
||||||
.Size EQU $-CNF_FILE
|
.Size EQU $-CNF_FILE
|
||||||
ONE_FILE: BLOCK FULL_FILE_NAME_LENGTH,0
|
;
|
||||||
|
;
|
||||||
|
;[]-----------------------------[PLUGINS]-----------------------------[]
|
||||||
|
INCLUDE 'trdscl.a80'
|
||||||
|
;
|
||||||
|
|
||||||
|
;----------------------------------------------[End Loader section]
|
||||||
|
;
|
||||||
|
;ONE_FILE: BLOCK FULL_FILE_NAME_LENGTH,0
|
||||||
|
ONE_FILE: WORD 0
|
||||||
|
TMP_BUFF EQU ONE_FILE+256
|
||||||
;
|
;
|
||||||
|
|
||||||
;!TODO
|
;!TODO
|
||||||
@ -1329,24 +1400,10 @@ ONE_FILE: BLOCK FULL_FILE_NAME_LENGTH,0
|
|||||||
;USER_CURRENT_DIR EQU $
|
;USER_CURRENT_DIR EQU $
|
||||||
;SPECTRUM_HOME_DIR EQU USER_CURRENT_DIR + 256
|
;SPECTRUM_HOME_DIR EQU USER_CURRENT_DIR + 256
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
|
||||||
;
|
|
||||||
|
|
||||||
;
|
|
||||||
;----------------------------------------------[End Loader section]
|
|
||||||
;
|
|
||||||
|
|
||||||
PlaceForPalette EQU #A000
|
PlaceForPalette EQU #A000
|
||||||
|
|
||||||
STACK_CHECK_MACRO stack_point,stack_buffer
|
STACK_CHECK_MACRO stack_point,stack_buffer
|
||||||
; Code after Loader
|
; Code after Loader
|
||||||
;[]-----------------------------[PLUGINS]-----------------------------[]
|
|
||||||
|
|
||||||
INCLUDE 'trdscl.a80'
|
|
||||||
|
|
||||||
;[]-------------------------------------------------------------------[]
|
;[]-------------------------------------------------------------------[]
|
||||||
; Code end section
|
; Code end section
|
||||||
; OUTEND
|
|
||||||
; SAVEBIN 'Build/test.bin', exe_header, $-exe_header
|
|
||||||
;
|
;
|
||||||
Loading…
Reference in New Issue
Block a user