mirror of
https://github.com/Tolik-Trek/Spectrum.EXE.git
synced 2026-06-15 00:51:36 +03:00
New vROM support, added set CONFIG_DE, refactoring
This commit is contained in:
parent
4e38b3e1ec
commit
29b442dbe6
1660
spectrum.asm
1660
spectrum.asm
File diff suppressed because it is too large
Load Diff
466
trdscl.a80
466
trdscl.a80
@ -19,38 +19,36 @@
|
||||
; º #F5 ³ 8 ³ H §¢ ¨¥ ¤¨cª¥âë º
|
||||
; º #FD ³ 3 ³ H¥ ¨c¯®«ì§ã¥âcï (§ ¯®«¥® ¡ ©â®¬ 0) º
|
||||
; ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
STRUCT SEEK
|
||||
STRUCT SEEK
|
||||
FirstFreeSec BYTE 0
|
||||
FirstFreeTrk BYTE 1
|
||||
DiskType BYTE #16
|
||||
AllFilesNum BYTE 0
|
||||
FreeSectors WORD 0 ; beta version
|
||||
TRDOS_ID BYTE #10
|
||||
notuse1 WORD 0
|
||||
notuse2 BLOCK 9,32
|
||||
notuse3 BYTE 0
|
||||
DelFilesNum BYTE 0
|
||||
DiskName TEXT 8, {" "} ; beta version
|
||||
ENDS
|
||||
DiskType BYTE #16
|
||||
AllFilesNum BYTE 0
|
||||
FreeSectors WORD 0 ; beta version
|
||||
TRDOS_ID BYTE #10
|
||||
notuse1 WORD 0
|
||||
notuse2 BLOCK 9,32
|
||||
notuse3 BYTE 0
|
||||
DelFilesNum BYTE 0
|
||||
DiskName TEXT 8,{" "} ; beta version
|
||||
ENDS
|
||||
|
||||
/*
|
||||
SYS_SECTOR:
|
||||
DB 0
|
||||
BLOCK 224,0
|
||||
.FirstFreeSec: DB 0
|
||||
.FirstFreeTrk: DB 1
|
||||
.DiskType DB #16 ; #16 = 80-2, #17 = 40-2, #18 = 80-1, #19 = 40-1
|
||||
.AllFilesNum: DB 0
|
||||
.FreeSectors: DW 2544
|
||||
DB #10
|
||||
DW 0000
|
||||
BLOCK 9,32
|
||||
DB 0
|
||||
.DelFilesNum: DB 0
|
||||
.DiskName: BLOCK 8,32
|
||||
BLOCK 3,0
|
||||
; SYS_SECTOR:
|
||||
; DB 0
|
||||
; BLOCK 224,0
|
||||
; .FirstFreeSec: DB 0
|
||||
; .FirstFreeTrk: DB 1
|
||||
; .DiskType DB #16 ; #16 = 80-2, #17 = 40-2, #18 = 80-1, #19 = 40-1
|
||||
; .AllFilesNum: DB 0
|
||||
; .FreeSectors: DW 2544
|
||||
; DB #10
|
||||
; DW 0000
|
||||
; BLOCK 9,32
|
||||
; DB 0
|
||||
; .DelFilesNum: DB 0
|
||||
; .DiskName: BLOCK 8,32
|
||||
; BLOCK 3,0
|
||||
;
|
||||
*/
|
||||
|
||||
; ÉÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||||
; ºC¬¥é¥¨¥ ³„«¨ ³ H § 票¥ º
|
||||
@ -64,273 +62,267 @@ SYS_SECTOR:
|
||||
; º #0E ³ 1 ³ H®¬¥p 1£® c¥ªâ®p º
|
||||
; º #0F ³ 1 ³ H®¬¥p ¤®p®¦ª¨ º
|
||||
; ÈÍÍÍÍÍÍÍÍÍÏÍÍÍÍÍÏÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||||
/*
|
||||
CAT_ELEMENT:
|
||||
.Name BLOCK 8,32
|
||||
.Type DB 0
|
||||
.Start DW 0000
|
||||
.Length DW 0000
|
||||
.Sectors DB 0
|
||||
.FirstSector DB 0
|
||||
.FirstTrack DB 0
|
||||
*/
|
||||
|
||||
STRUCT CAT_Elements
|
||||
Name block 8
|
||||
Type BYTE
|
||||
Start WORD
|
||||
Length WORD
|
||||
Sectors BYTE
|
||||
FirstSector BYTE
|
||||
FirstTrack BYTE
|
||||
ENDS
|
||||
; CAT_ELEMENT:
|
||||
; .Name BLOCK 8,32
|
||||
; .Type DB 0
|
||||
; .Start DW 0000
|
||||
; .Length DW 0000
|
||||
; .Sectors DB 0
|
||||
; .FirstSector DB 0
|
||||
; .FirstTrack DB 0
|
||||
|
||||
STRUCT SclOffsets
|
||||
ID BLOCK 8
|
||||
Files BYTE
|
||||
FileBlock CAT_Elements
|
||||
ENDS
|
||||
STRUCT CAT_Elements
|
||||
Name BLOCK 8
|
||||
Type BYTE
|
||||
Start WORD
|
||||
Length WORD
|
||||
Sectors BYTE
|
||||
FirstSector BYTE
|
||||
FirstTrack BYTE
|
||||
ENDS
|
||||
|
||||
STRUCT SclOffsets
|
||||
ID BLOCK 8
|
||||
Files BYTE
|
||||
FileBlock CAT_Elements
|
||||
ENDS
|
||||
; 655360 kb = 160 tracks * 16 sectors * 256 bites
|
||||
; 80 tracks * 2 heads * 16 sectors * 256 bites = 655360 kb
|
||||
; Page = 64 sectors = 4 tracks
|
||||
|
||||
;-----------[]
|
||||
Load_SCL:
|
||||
;-------[Œ¥âª ¤¨áª - ¨¬ï ä ©« ]-------
|
||||
ld hl,ONE_FILE
|
||||
ld de,SCL_Buffer
|
||||
ld bc,#0300+Dss.EX_Path
|
||||
rst ToDSS
|
||||
jr c,.skip
|
||||
|
||||
ld hl,SCL_Buffer
|
||||
ld a,'.'
|
||||
ld bc,0008
|
||||
ld de,SYS_SECTOR.DiskName
|
||||
;-------[Œ¥âª ¤¨áª - ¨¬ï ä ©« ]-------
|
||||
Load_SCL: LD HL,ONE_FILE
|
||||
LD DE,SCL_Buffer
|
||||
LD BC,#0300+Dss.EX_Path
|
||||
RST ToDSS
|
||||
JR C,.skip
|
||||
|
||||
LD HL,SCL_Buffer
|
||||
LD A,'.'
|
||||
LD BC,0008
|
||||
LD DE,SYS_SECTOR.DiskName
|
||||
.loop:
|
||||
cp (hl)
|
||||
jr z,.skip
|
||||
ldi
|
||||
jp pe,.loop
|
||||
CP (HL)
|
||||
JR Z,.skip
|
||||
LDI
|
||||
JP PE,.loop
|
||||
|
||||
.skip:
|
||||
;-------[¯à®¢¥àª 奤íà SINCLAIR]------
|
||||
|
||||
ld a,(IMAGE_HANDLER)
|
||||
ld hl,SCL_Buffer
|
||||
ld de,8
|
||||
ld c,Dss.Read
|
||||
rst ToDSS
|
||||
ret c ; ®¡à ¡®â稪 ®è¨¡ª¨
|
||||
LD A,(IMAGE_HANDLER)
|
||||
LD HL,SCL_Buffer
|
||||
LD DE,8 ; ¡ ©â®¢
|
||||
LD C,Dss.Read
|
||||
RST ToDSS
|
||||
RET C ; ®¡à ¡®â稪 ®è¨¡ª¨
|
||||
|
||||
ld hl,SCL_Buffer
|
||||
ld de,SCL_HEADER
|
||||
ld b,8
|
||||
.check_header:
|
||||
ld a,(de)
|
||||
cp (hl)
|
||||
jr nz,.error_header
|
||||
inc hl
|
||||
inc de
|
||||
djnz .check_header
|
||||
jr .get_size
|
||||
.error_header:
|
||||
scf
|
||||
ret
|
||||
LD HL,SCL_Buffer
|
||||
LD DE,SCL_HEADER
|
||||
LD B,8
|
||||
.check_header: LD A,(DE)
|
||||
CP (HL)
|
||||
JR NZ,.error_header
|
||||
INC HL
|
||||
INC DE
|
||||
DJNZ .check_header
|
||||
JR .get_size
|
||||
.error_header: SCF
|
||||
RET
|
||||
|
||||
;------[¢ëç¨á«¥¨¥ à §¬¥à ¤«ï TRD]-----
|
||||
.get_size:
|
||||
/* ld a,(IMAGE_HANDLER)
|
||||
ld hl,0
|
||||
ld ix,SclOffsets.Files
|
||||
ld b,l
|
||||
ld c,Dss.Move_FP
|
||||
rst ToDSS ; 㪠§ â¥«ì ¡ ©â ª®«¨ç¥á⢠¡«®ª®¢ (ä ©«®¢)
|
||||
ret c ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
;*/
|
||||
ld a,(IMAGE_HANDLER)
|
||||
ld hl,SCL_Buffer
|
||||
ld de,#701
|
||||
ld c,Dss.Read
|
||||
rst ToDSS ; !FIXIT ᤥ« âì ª®âà®«ì ®è¨¡ª¨? ; ç¨â ¥¬ ¡ ©â ª®«¨ç¥á⢠¡«®ª®¢ (ä ©«®¢)
|
||||
; LD A,(IMAGE_HANDLER)
|
||||
; LD HL,0
|
||||
; LD IX,SclOffsets.Files
|
||||
; LD B,L
|
||||
; LD C,Dss.Move_FP
|
||||
; RST ToDSS ; 㪠§ â¥«ì ¡ ©â ª®«¨ç¥á⢠¡«®ª®¢ (ä ©«®¢)
|
||||
; RET C ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
|
||||
LD A,(IMAGE_HANDLER)
|
||||
LD HL,SCL_Buffer
|
||||
LD DE,#701
|
||||
LD C,Dss.Read
|
||||
RST ToDSS ; !FIXIT ᤥ« âì ª®âà®«ì ®è¨¡ª¨? ; ç¨â ¥¬ ¡ ©â ª®«¨ç¥á⢠¡«®ª®¢ (ä ©«®¢)
|
||||
;
|
||||
ld a,(SCL_Buffer)
|
||||
ld l,a
|
||||
xor a
|
||||
ld h,a
|
||||
LD A,(SCL_Buffer)
|
||||
LD L,A
|
||||
XOR A
|
||||
LD H,A
|
||||
;
|
||||
add hl,hl ;*2
|
||||
push hl
|
||||
add hl,hl ;*4
|
||||
ld d,h
|
||||
ld e,l
|
||||
add hl,hl ;*8
|
||||
add hl,de ;*12
|
||||
pop de
|
||||
add hl,de ; ¢ HL § 票¥ A*14
|
||||
ADD HL,HL ;*2
|
||||
PUSH HL
|
||||
ADD HL,HL ;*4
|
||||
LD D,H
|
||||
LD E,L
|
||||
ADD HL,HL ;*8
|
||||
ADD HL,DE ;*12
|
||||
POP DE
|
||||
ADD HL,DE ; ¢ HL § 票¥ A*14
|
||||
|
||||
add hl,bc
|
||||
ADD HL,BC
|
||||
|
||||
ld de,SclOffsets.FileBlock
|
||||
add hl,de ; ¢ HL à §¬¥à ®â ç « SCL ¤® ç « ¡«®ª ¤ ëå (header_length)
|
||||
push hl
|
||||
LD DE,SclOffsets.FileBlock
|
||||
ADD HL,DE ; ¢ HL à §¬¥à ®â ç « SCL ¤® ç « ¡«®ª ¤ ëå (header_length)
|
||||
PUSH HL
|
||||
;
|
||||
ld a,(IMAGE_HANDLER)
|
||||
ld hl,0
|
||||
ld ix,4 ; ¨£®à¨¬ ª®â஫ìãî á㬬ã scl ä ©«
|
||||
ld b,2
|
||||
ld c,Dss.Move_FP
|
||||
rst ToDSS ; 㪠§ â¥«ì ª®¥æ ä ©«
|
||||
jr nc,1F ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
LD A,(IMAGE_HANDLER)
|
||||
LD HL,0
|
||||
LD IX,4 ; ¨£®à¨¬ ª®â஫ìãî á㬬ã scl ä ©«
|
||||
LD B,2
|
||||
LD C,Dss.Move_FP
|
||||
RST ToDSS ; 㪠§ â¥«ì ª®¥æ ä ©«
|
||||
JR NC,1F ;!FIXIT ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
|
||||
pop hl
|
||||
ret
|
||||
POP HL
|
||||
RET
|
||||
|
||||
1: push ix
|
||||
pop de ; § 票¥ ¬« ¤è¨å 16 ¡¨â à §¬¥à ä ©«
|
||||
ex (sp),hl ; § 票¥ header_length ¢ HL, áâ àè ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
ex de,hl ; ¢ HL § 票¥ ¬« ¤è¨å 16 ¡¨â à §¬¥à ä ©« , ¢ DE - header_length
|
||||
1: PUSH IX
|
||||
POP DE ; § 票¥ ¬« ¤è¨å 16 ¡¨â à §¬¥à ä ©«
|
||||
EX (SP),HL ; § 票¥ header_length ¢ HL, áâ àè ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
EX DE,HL ; ¢ HL § 票¥ ¬« ¤è¨å 16 ¡¨â à §¬¥à ä ©« , ¢ DE - header_length
|
||||
|
||||
sbc hl,de
|
||||
ld de,0
|
||||
ex (sp),hl ; ¬« ¤è ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
sbc hl,de ; ¢ HL áâ àè ï ç áâì à §¬¥à ä ©«
|
||||
SBC HL,DE
|
||||
LD DE,0
|
||||
EX (SP),HL ; ¬« ¤è ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
SBC HL,DE ; ¢ HL áâ àè ï ç áâì à §¬¥à ä ©«
|
||||
|
||||
ex (sp),hl ; áâ àè ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
ld de,#1000
|
||||
add hl,de
|
||||
EX (SP),HL ; áâ àè ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
LD DE,#1000
|
||||
ADD HL,DE
|
||||
|
||||
ex (sp),hl ; ¬« ¤è ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
ld de,0
|
||||
adc hl,de
|
||||
pop de ; âãâ ¢ hl:de à §¬¥à ¤«ï trd
|
||||
EX (SP),HL ; ¬« ¤è ï ç áâì à §¬¥à ä ©« á⥪¥
|
||||
LD DE,0
|
||||
ADC HL,DE
|
||||
POP DE ; âãâ ¢ hl:de à §¬¥à ¤«ï trd
|
||||
|
||||
;---------------------------------------
|
||||
|
||||
call Get_RAM_Disk_E
|
||||
ret c ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
CALL Get_RAM_Disk_E
|
||||
RET C ;!FIXIT ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
|
||||
Convert_SCLtoTRD:
|
||||
LD A,(MEM_BLK)
|
||||
OUT (SLOT3),A ; ¢áâ ¢«ï¥¬ ¯¥à¢ãî áâà ¨æã RAM-¤¨áª
|
||||
|
||||
LD A,(MEM_BLK)
|
||||
out (SLOT3),a ; ¢áâ ¢«ï¥¬ ¯¥à¢ãî áâà ¨æã RAM-¤¨áª
|
||||
LD HL,SCL_Buffer
|
||||
LD B,(HL) ; CAT_Elements
|
||||
INC HL
|
||||
LD DE,#C000 ; RAM-drive's track 0
|
||||
LD IX,SYS_SECTOR
|
||||
LD (ix+SEEK.AllFilesNum),B
|
||||
.cat_loop: PUSH BC
|
||||
LD A,(HL)
|
||||
CP 1
|
||||
JR NZ,1F ; this file is not deleted
|
||||
INC (ix+SEEK.DelFilesNum)
|
||||
1: LD BC,CAT_Elements-2 ; ld bc,#0D
|
||||
LDIR ; copy 14 bites of scl files table to trd image catalog
|
||||
|
||||
ld hl,SCL_Buffer
|
||||
ld b,(hl) ; CAT_Elements
|
||||
inc hl
|
||||
ld de,#C000 ; RAM-drive's track 0
|
||||
ld ix,SYS_SECTOR
|
||||
ld (ix+SEEK.AllFilesNum),b
|
||||
.cat_loop:
|
||||
push bc
|
||||
ld a,(hl)
|
||||
CP 1
|
||||
jr nz,1F ; this file is not deleted
|
||||
inc (ix+SEEK.DelFilesNum)
|
||||
1: ld bc,CAT_Elements-2 ; ld bc,#0D
|
||||
ldir ; copy 14 bites of scl files table to trd image catalog
|
||||
LD A,(SYS_SECTOR.FirstFreeSec)
|
||||
LD (DE),A
|
||||
LD C,A ;!---[v 1]
|
||||
INC DE
|
||||
LD A,(SYS_SECTOR.FirstFreeTrk)
|
||||
LD (DE),A
|
||||
INC DE ; Pointer on next filename in RAM drive
|
||||
|
||||
ld a,(SYS_SECTOR.FirstFreeSec)
|
||||
ld (de),a
|
||||
ld c,a ;!---[v 1]
|
||||
inc de
|
||||
ld a,(SYS_SECTOR.FirstFreeTrk)
|
||||
ld (de),a
|
||||
inc de ; Pointer on next filename in RAM drive
|
||||
DEC HL ; set to number of sectors
|
||||
LD A,(HL) ; get file length in sectors from scl-table
|
||||
AND #0F
|
||||
ADD A,C ;!---[^ 1]
|
||||
LD C,A ;!---[v 2]
|
||||
AND #0F
|
||||
LD (SYS_SECTOR.FirstFreeSec),A
|
||||
LD A,#F0
|
||||
AND C ;!---[^ 2]
|
||||
JR Z,1F
|
||||
INC (ix+SEEK.FirstFreeTrk)
|
||||
1: LD A,(HL)
|
||||
SRL A
|
||||
SRL A
|
||||
SRL A
|
||||
SRL A
|
||||
ADD A,(ix+SEEK.FirstFreeTrk)
|
||||
LD (SYS_SECTOR.FirstFreeTrk),A
|
||||
|
||||
dec hl ; set to number of sectors
|
||||
ld a,(hl) ; get file length in sectors from scl-table
|
||||
and #0F
|
||||
add a,c ;!---[^ 1]
|
||||
ld c,a ;!---[v 2]
|
||||
and #0F
|
||||
ld (SYS_SECTOR.FirstFreeSec),a
|
||||
ld a,#F0
|
||||
and c ;!---[^ 2]
|
||||
jr z,1F
|
||||
inc (ix+SEEK.FirstFreeTrk)
|
||||
1: ld a,(hl)
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
srl a
|
||||
add a,(ix+SEEK.FirstFreeTrk)
|
||||
ld (SYS_SECTOR.FirstFreeTrk),a
|
||||
|
||||
inc hl ; Pointer on next filename in SCL_Buffer
|
||||
pop bc
|
||||
djnz .cat_loop
|
||||
INC HL ; Pointer on next filename in SCL_Buffer
|
||||
POP BC
|
||||
DJNZ .cat_loop
|
||||
|
||||
xor a
|
||||
ld (de),a ; file table end marker
|
||||
XOR A
|
||||
LD (DE),A ; file table end marker
|
||||
;---------------------------------------
|
||||
|
||||
; „®¤¥« âì!!!!!
|
||||
;!TODO „®¤¥« âì!!!!!
|
||||
; SYS_SECTOR.FreeSectors
|
||||
|
||||
; push hl ; ¡ ©â ¢ ¡ãä¥à¥ ®âªã¤ ¢ SCL ç¨ îâáï ¤ ë¥ (HL-SCL_Buffer)
|
||||
; push de ; ¡ ©â ¢ ram ¤¨áª¥ trd £¤¥ § ª 稢 ¥âáï â ¡«¨æ ¯®á«¥¤¥£® ä ©«
|
||||
|
||||
xor a
|
||||
ld de,SCL_Buffer-8 ; ¢ëç¨á«ï¥¬ § 票¥ á¬¥é¥¨ï ¢ ä ©«¥ ¨§ § 票ï á¬¥é¥¨ï ¢ ¡ãä¥à¥
|
||||
sbc hl,de
|
||||
push hl
|
||||
pop ix
|
||||
XOR A
|
||||
LD DE,SCL_Buffer-8 ; ¢ëç¨á«ï¥¬ § 票¥ á¬¥é¥¨ï ¢ ä ©«¥ ¨§ § 票ï á¬¥é¥¨ï ¢ ¡ãä¥à¥
|
||||
SBC HL,DE
|
||||
PUSH HL
|
||||
POP IX
|
||||
|
||||
ld a,(IMAGE_HANDLER)
|
||||
ld hl,0
|
||||
ld B,L ; b=0 - ®â ç « ä ©«
|
||||
ld c,Dss.Move_FP
|
||||
rst ToDSS ; 㪠§ â¥«ì ¯¥à¢ë© ¡ ©â ¤ ëå
|
||||
jr nc,1F ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
|
||||
pop de
|
||||
ret
|
||||
LD A,(IMAGE_HANDLER)
|
||||
LD HL,0
|
||||
LD B,L ; b=0 - ®â ç « ä ©«
|
||||
LD C,Dss.Move_FP
|
||||
RST ToDSS ; 㪠§ â¥«ì ¯¥à¢ë© ¡ ©â ¤ ëå
|
||||
JR NC,1F ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
|
||||
1: di
|
||||
ld hl,SYS_SECTOR_START
|
||||
ld de,#C800 ; sys sector of tr-dos disk in bank3 of ram-disk
|
||||
ACC_SetBlockSize
|
||||
ld a,0
|
||||
ACC_CopyBlock
|
||||
ld a,(HL)
|
||||
ld (DE),a
|
||||
ACC_Off
|
||||
; ei
|
||||
POP DE
|
||||
RET
|
||||
|
||||
LD A,(IMAGE_HANDLER)
|
||||
LD HL,#D000 ; ¤®£à㧨âì ¤® ª®æ áâà ¨æë
|
||||
LD DE,#3000
|
||||
LD C,Dss.Read
|
||||
RST ToDSS
|
||||
JP C,ERROR_IN_READ ; ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
1: DI
|
||||
LD HL,SYS_SECTOR_START
|
||||
LD DE,#C800 ; sys sector of tr-dos disk in bank3 of ram-disk
|
||||
ACC_SetBlockSize
|
||||
LD A,0
|
||||
ACC_CopyBlock
|
||||
LD A,(HL)
|
||||
LD (DE),A
|
||||
ACC_Off
|
||||
;EI
|
||||
|
||||
LD HL,MSG_LOAD_IMAGE ; loading image
|
||||
LD C,Dss.PChars
|
||||
RST ToDSS
|
||||
LD A,(IMAGE_HANDLER)
|
||||
LD HL,#D000 ; ¤®£à㧨âì ¤® ª®æ áâà ¨æë
|
||||
LD DE,#3000
|
||||
LD C,Dss.Read
|
||||
RST ToDSS
|
||||
JP C,ERROR_IN_READ ;!FIXIT ®¡à ¡®â稪 ®è¨¡ª¨!!!!!
|
||||
|
||||
LD HL,PROGRES_IND ; loading TRD
|
||||
LD C,Dss.PChars
|
||||
RST ToDSS
|
||||
LD HL,MSG_LOAD_IMAGE ; loading image
|
||||
LD C,Dss.PChars
|
||||
RST ToDSS
|
||||
|
||||
DI
|
||||
LD A,(MEM_BLK)
|
||||
jp Load_IMAGE_File.scl_read_next
|
||||
LD HL,PROGRES_IND ; loading TRD
|
||||
LD C,Dss.PChars
|
||||
RST ToDSS
|
||||
|
||||
DI
|
||||
LD A,(MEM_BLK)
|
||||
JP Load_IMAGE_File.scl_read_next
|
||||
|
||||
;-----------[]
|
||||
|
||||
SCL_HEADER: DB 'SINCLAIR'
|
||||
SCL_HEADER: DB 'SINCLAIR'
|
||||
;------------[¯¥à¥¬¥ë¥]---------------
|
||||
SYS_SECTOR_START:
|
||||
DB 0
|
||||
BLOCK 224,0
|
||||
SYS_SECTOR SEEK
|
||||
DB 0
|
||||
BLOCK 224,0
|
||||
SYS_SECTOR SEEK
|
||||
SYS_SECTOR_END: BLOCK 3,0
|
||||
|
||||
SCL_FILE_ID: DB 0
|
||||
;-----------[¢ á ¬ë© ª®¥æ]-------------
|
||||
SCL_Buffer EQU $
|
||||
assert SCL_Buffer+#701 < #C000, "Buffer out of mem bank 2"
|
||||
SCL_Buffer EQU $
|
||||
ASSERT SCL_Buffer+#701<#C000,"Buffer out of mem bank 2"
|
||||
|
||||
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user