mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +03:00
7042 lines
106 KiB
NASM
7042 lines
106 KiB
NASM
;ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÑÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ»
|
||
;º TR-DOS ver. 5.04Em ³ ELSY Co. 23.11.95 º
|
||
;ÇÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄĶ
|
||
;º RE-SOURCE'd by Z80MU PROFESSIONAL version 5.2b º
|
||
;ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ
|
||
DEVICE ZXSPECTRUM128
|
||
ORG 0
|
||
|
||
;***************************************
|
||
INCLUDE 'INC/SPRINT00.INC'
|
||
;***************************************
|
||
;CNF_PORT EQU #74
|
||
AUTO_4000 EQU 04000H
|
||
AUTO_4010 EQU 04010H
|
||
AUTO_4011 EQU 04011H
|
||
AUTO_4020 EQU 04020H
|
||
AUTO_4080 EQU 04080H
|
||
AUTO_40E1 EQU 040E1H
|
||
AUTO_40E3 EQU 040E3H
|
||
AUTO_40E4 EQU 040E4H
|
||
AUTO_40E5 EQU 040E5H
|
||
AUTO_40F0 EQU 040F0H
|
||
AUTO_40F1 EQU 040F1H
|
||
AUTO_40FF EQU 040FFH
|
||
AUTO_4100 EQU 04100H
|
||
AUTO_4101 EQU 04101H
|
||
AUTO_4102 EQU 04102H
|
||
AUTO_4103 EQU 04103H
|
||
AUTO_4110 EQU 04110H
|
||
AUTO_4111 EQU 04111H
|
||
AUTO_4118 EQU 04118H
|
||
AUTO_4119 EQU 04119H
|
||
AUTO_411B EQU 0411BH
|
||
AUTO_411D EQU 0411DH
|
||
AUTO_411E EQU 0411EH
|
||
AUTO_4130 EQU 04130H
|
||
AUTO_4140 EQU 04140H
|
||
AUTO_41FF EQU 041FFH
|
||
AUTO_5220 EQU 05220H
|
||
AUTO_58E8 EQU 058E8H
|
||
|
||
AUTO_5E34 EQU 05E34H
|
||
AUTO_5F00 EQU 05F00H
|
||
AUTO_5F10 EQU 05F10H
|
||
AUTO_5F12 EQU 05F12H
|
||
AUTO_6000 EQU 06000H
|
||
PORT_128 EQU 07FFDH
|
||
AUTO_A1DB EQU 0A1DBH
|
||
AUTO_B0ED EQU 0B0EDH
|
||
AUTO_B8ED EQU 0B8EDH
|
||
AUTO_C000 EQU 0C000H
|
||
AUTO_C130 EQU 0C130H
|
||
AUTO_C308 EQU 0C308H
|
||
AUTO_C916 EQU 0C916H
|
||
AUTO_FE15 EQU 0FE15H
|
||
AUTO_FF00 EQU 0FF00H
|
||
AUTO_FFFF EQU 0FFFFH
|
||
|
||
;****************************************
|
||
|
||
DISPLAY "Start."
|
||
START:
|
||
DI
|
||
LD DE,0FFFFh
|
||
LD A,7
|
||
JR CONT_1
|
||
RST08:
|
||
NOP
|
||
CONT_1:
|
||
OUT (0FEH),A
|
||
LD A,'?'
|
||
JR CONT_2
|
||
NOP
|
||
RST10:
|
||
JP PRINT_SYM
|
||
CONT_2:
|
||
LD I,A
|
||
JP CONT_3
|
||
PRINT_LN:
|
||
JP PRINT_L
|
||
CONT_3:
|
||
NOP
|
||
NOP
|
||
NOP
|
||
AUTO_001E:
|
||
JR CONT_4
|
||
RST20:
|
||
JP RST20_EXE
|
||
RET
|
||
CONT_4:
|
||
LD H,D
|
||
LD L,E
|
||
JR CONT_5
|
||
RST28:
|
||
JP RST28_EXE
|
||
CONT_5:
|
||
LD (HL),2
|
||
DEC HL
|
||
CP H
|
||
JR NZ,CONT_5
|
||
JR CONT_6
|
||
REDIR_RST38:
|
||
; JP RST38X
|
||
; EI
|
||
; RET
|
||
RST 38H
|
||
RST 38H
|
||
RST 38H
|
||
RST 38H
|
||
RST 38H
|
||
R38:
|
||
EI
|
||
RET
|
||
CONT_6:
|
||
OR A
|
||
SBC HL,DE
|
||
ADD HL,DE
|
||
INC HL
|
||
JR NC,CONT_7
|
||
DEC (HL)
|
||
JR Z,CONT_7
|
||
DEC (HL)
|
||
JR Z,CONT_6
|
||
CONT_7:
|
||
DEC HL
|
||
LD (P_RAMTOP),HL
|
||
LD DE,3EAFh
|
||
LD BC,00A8h
|
||
LD A,E
|
||
EX DE,HL
|
||
LD SP,6000h
|
||
LD (AUTO_5F00),HL
|
||
LD HL,RET_1
|
||
PUSH HL
|
||
LD HL,3D2Fh
|
||
PUSH HL
|
||
LD HL,0B8EDh
|
||
AUTO_0064:
|
||
JR CONT_8
|
||
|
||
;********** MAGIC ***********
|
||
; JP MAGIC_1 ;AUTO_2A56
|
||
RETN
|
||
NOP
|
||
;*********************************
|
||
CONT_8:
|
||
LD (AUTO_5F10),HL
|
||
PUSH AF
|
||
LD A,201
|
||
LD (AUTO_5F12),A
|
||
POP AF
|
||
LD HL,(AUTO_5F00)
|
||
JP AUTO_5F10
|
||
RET_1:
|
||
EX DE,HL
|
||
INC HL
|
||
LD (UDG),HL
|
||
DEC HL
|
||
LD BC,AUTO_0540
|
||
LD (ERR_BEEP),BC
|
||
LD (TOP_CLEAR),HL
|
||
LD HL,03C00h
|
||
LD (ZG),HL
|
||
LD HL,(TOP_CLEAR)
|
||
LD (HL),'>'
|
||
DEC HL
|
||
LD SP,HL
|
||
DEC HL
|
||
DEC HL
|
||
LD (ERR_SP),HL
|
||
LD DE,01303h
|
||
PUSH DE
|
||
IM 1
|
||
LD IY,ERR_NR
|
||
LD HL,BEG_ADRESS
|
||
AUTO_00A8:
|
||
LD (CHANS),HL
|
||
LD DE,AUTO_15AF
|
||
LD BC,15h
|
||
EX DE,HL
|
||
CALL AUTO_0117
|
||
EX DE,HL
|
||
DEC HL
|
||
LD (DATA_ADR),HL
|
||
INC HL
|
||
LD (BAS_PROG),HL
|
||
LD (BAS_VARS),HL
|
||
LD (HL),128
|
||
INC HL
|
||
LD (E_LINE),HL
|
||
DB 54
|
||
AUTO_00C8:
|
||
DEC C
|
||
INC HL
|
||
LD (HL),128
|
||
INC HL
|
||
LD (WORK_SP),HL
|
||
LD (STK_BOT),HL
|
||
LD (STK_END),HL
|
||
LD A,'8'
|
||
LD (ATTR_P),A
|
||
LD (ATTR_T),A
|
||
LD (BORDER),A
|
||
LD HL,0223h
|
||
LD (KEY_TIME),HL
|
||
DEC (IY-58)
|
||
DEC (IY-54)
|
||
LD HL,015C6h
|
||
LD DE,REP_K_TYME
|
||
LD BC,14
|
||
CALL AUTO_0117
|
||
SET 1,(IY+1)
|
||
LD HL,RET_INS
|
||
AUTO_0100:
|
||
LD (HL),201
|
||
RST RST20
|
||
DW 00EDFH
|
||
LD HL,L_SCR_SIZE
|
||
LD (HL),2
|
||
LD HL,AUTO_128B
|
||
PUSH HL
|
||
LD A,170
|
||
LD (PR_BUFER),A
|
||
EI
|
||
JP AUTO_3D31
|
||
AUTO_0117:
|
||
LD (AUTO_5F00),HL
|
||
LD HL,AUTO_3D2F
|
||
PUSH HL
|
||
LD HL,AUTO_B0ED
|
||
LD (AUTO_5F10),HL
|
||
AUTO_0124:
|
||
LD HL,(AUTO_5F00)
|
||
JP AUTO_5F10
|
||
AUTO_012A:
|
||
CALL AUTO_20E5
|
||
CALL AUTO_1D97
|
||
LD HL,(E_LINE)
|
||
INC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
LD A,D
|
||
OR E
|
||
EX DE,HL
|
||
JR Z,AUTO_0140
|
||
XOR A
|
||
LD (ERR_3D00),A
|
||
AUTO_0140:
|
||
PUSH HL
|
||
CALL AUTO_0232
|
||
POP HL
|
||
LD (NEW_PPC),HL
|
||
XOR A
|
||
LD (NEW_S_PPC),A
|
||
RST RST20
|
||
DW 016B0H
|
||
LD HL,(BAS_PROG)
|
||
DEC HL
|
||
LD (DATA_ADR),HL
|
||
LD SP,(ERR_SP)
|
||
LD A,(ERR_3D00)
|
||
OR A
|
||
LD HL,AUTO_1B76
|
||
JR Z,AUTO_0166
|
||
RST RST20
|
||
DW 01BB0H
|
||
AUTO_0166:
|
||
PUSH HL
|
||
LD HL,RET_INS
|
||
PUSH HL
|
||
RET
|
||
AUTO_016C: ; ¢å®¤ ç¥à¥§ 3D03
|
||
CALL xchg_intf1
|
||
CALL BUFER_ON
|
||
LD A,255
|
||
LD (MSG_FLAG),A
|
||
XOR A
|
||
LD (DOS_FLAG),A
|
||
LD A,170
|
||
LD (FLAG_BOOT),A
|
||
LD HL,AUTO_0201
|
||
LD (ADR_RET),HL
|
||
LD HL,0
|
||
ADD HL,SP
|
||
LD (DOS_SP),HL
|
||
DEC HL
|
||
DEC HL
|
||
LD SP,HL
|
||
CALL AUTO_021D
|
||
LD HL,(TOP_CLEAR)
|
||
LD DE,(CH_ADR)
|
||
SBC HL,DE
|
||
EX DE,HL
|
||
JR NC,AUTO_01A5
|
||
OR A
|
||
LD DE,101h
|
||
SBC HL,DE
|
||
AUTO_01A5:
|
||
LD (CH_ADR),HL
|
||
AUTO_01A8:
|
||
CALL AUTO_01C7
|
||
AUTO_01AB:
|
||
JP Z,AUTO_01D3
|
||
CP 234
|
||
INC HL
|
||
JR NZ,AUTO_01A8
|
||
CALL AUTO_01C7
|
||
JR Z,AUTO_01AB
|
||
CP ':'
|
||
JP NZ,AUTO_01D3
|
||
INC HL
|
||
CALL AUTO_3048 ; convert words
|
||
LD HL,(ADR_DOS_COM)
|
||
JP AUTO_030A
|
||
AUTO_01C7:
|
||
LD A,(HL)
|
||
CP 13
|
||
RET Z
|
||
CP 128
|
||
RET Z
|
||
OR A
|
||
RET
|
||
CALL AUTO_1E43
|
||
AUTO_01D3:
|
||
LD HL,0
|
||
LD (DISK_1_FLG),HL
|
||
CALL AUTO_20E5
|
||
CALL AUTO_1D63
|
||
LD HL,FLAG_BOOT
|
||
LD (HL),170
|
||
LD HL,FL_NUMBER+1
|
||
LD A,(HL)
|
||
OR A
|
||
LD (HL),0
|
||
JR NZ,AUTO_01F3
|
||
CALL AUTO_1E1C
|
||
CALL AUTO_0212
|
||
AUTO_01F3:
|
||
LD SP,(DOS_SP)
|
||
LD HL,(ADR_RET)
|
||
LD BC,(DOS_ERR_2)
|
||
LD B,0
|
||
AUTO_0200:
|
||
JP (HL)
|
||
AUTO_0201:
|
||
CALL AUTO_0232
|
||
BIT 7,(IY+0)
|
||
RET NZ
|
||
LD DE,RET_INS
|
||
LD SP,(ERR_SP)
|
||
PUSH DE
|
||
RET
|
||
AUTO_0212:
|
||
CALL AUTO_1D8C
|
||
CP 13
|
||
RET Z
|
||
CALL BASIC_RST20
|
||
JR AUTO_0212
|
||
AUTO_021D:
|
||
LD HL,(ERR_SP)
|
||
LD (ERR_SP_COPY),HL
|
||
LD HL,(DOS_SP)
|
||
DEC HL
|
||
DEC HL
|
||
LD (ERR_SP),HL
|
||
LD DE,AUTO_3D16
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
RET
|
||
AUTO_0232:
|
||
LD HL,(ERR_SP_COPY)
|
||
LD (ERR_SP),HL
|
||
RET
|
||
AUTO_0239: ; ¢å®¤ ç¥à¥§ 3D00
|
||
LD HL,0
|
||
LD (DOS_FLAG),HL
|
||
ADD HL,SP
|
||
LD (DOS_SP),HL
|
||
DEC HL
|
||
DEC HL
|
||
LD SP,HL
|
||
CALL LOAD_CR
|
||
LD HL,FLAG_BOOT
|
||
LD A,(HL)
|
||
CP 170
|
||
LD A,0
|
||
LD (DOS_ERR_2),A
|
||
JP Z,AUTO_02CB
|
||
LD (HL),170
|
||
CALL AUTO_1D97
|
||
CALL OPEN_CH2
|
||
LD HL,NEW_NAME
|
||
RST PRINT_LN
|
||
CALL INIT_2X80
|
||
LD A,(BEG_ADRESS)
|
||
CP 244
|
||
JR Z,AUTO_0271
|
||
LD HL,AUTO_1000
|
||
AUTO_0270:
|
||
RST PRINT_LN
|
||
AUTO_0271:
|
||
LD A,(PR_BUFER)
|
||
CP 170
|
||
JR NZ,AUTO_02CB
|
||
CALL xchg_intf1
|
||
AUTO_027B:
|
||
LD HL,(E_LINE)
|
||
LD A,254
|
||
AUTO_0280:
|
||
LD (BAS_DOS_FLG),A
|
||
LD (HL),247
|
||
INC HL
|
||
LD (HL),'"'
|
||
INC HL
|
||
LD (HL),'b'
|
||
INC HL
|
||
LD (HL),'o'
|
||
INC HL
|
||
LD (HL),'o'
|
||
INC HL
|
||
LD (HL),'t'
|
||
INC HL
|
||
LD (HL),'"'
|
||
INC HL
|
||
CMD_NEW_EXEC:
|
||
LD (K_CUR),HL
|
||
LD (HL),13
|
||
INC HL
|
||
LD (HL),128
|
||
INC HL
|
||
LD (WORK_SP),HL
|
||
LD (STK_BOT),HL
|
||
LD (STK_END),HL
|
||
SET 3,(IY+1)
|
||
JR AUTO_02EF
|
||
AUTO_02B0:
|
||
LD B,3
|
||
AUTO_02B2:
|
||
LD A,(HL)
|
||
LD (DE),A
|
||
INC HL
|
||
INC DE
|
||
DJNZ AUTO_02B2
|
||
RET
|
||
AUTO_02B9:
|
||
LD B,' '
|
||
AUTO_02BB:
|
||
PUSH BC
|
||
XOR 8
|
||
OUT (P_DOS_FF),A
|
||
PUSH AF
|
||
LD A,5
|
||
CALL pause_1ms
|
||
POP AF
|
||
POP BC
|
||
DJNZ AUTO_02BB
|
||
RET
|
||
AUTO_02CB:
|
||
LD HL,(DOS_SP)
|
||
DEC HL
|
||
DEC HL
|
||
LD SP,HL
|
||
CALL xchg_intf1
|
||
CALL OPEN_CH0
|
||
LD A,(PDOS_COPY)
|
||
OR 3
|
||
CALL AUTO_02B9
|
||
LD A,(PDOS_COPY)
|
||
CALL AUTO_02B9
|
||
XOR A
|
||
LD (MSG_FLAG),A
|
||
CALL INPUT_LINE
|
||
CALL AUTO_3032 ; <20><>…Ž<E280A6><C5BD>€‡Ž‚€<E2809A>ˆ… ‘’<E28098>ŽŠˆ
|
||
AUTO_02EF:
|
||
CALL AUTO_1D9F ; ”“<E2809D>Š–ˆŸ BASIC ??? ( CLS LOW SCR )
|
||
LD HL,AUTO_02CB
|
||
LD (ADR_RET),HL
|
||
XOR A
|
||
LD (DOS_ERR_2),A
|
||
LD HL,(E_LINE)
|
||
PUSH HL
|
||
LD DE,COM_LN_COPY
|
||
CALL AUTO_02B0
|
||
POP HL
|
||
LD (ADR_DOS_COM),HL
|
||
AUTO_030A:
|
||
LD A,(HL)
|
||
LD B,A
|
||
AND 128
|
||
LD A,B
|
||
JR Z,AUTO_031A ; ‘’<E28098>ŽŠ€ <20>…‡ ‘‹Ž‚€-ŠŽŒ€<C592>„›
|
||
CP 254 ; RETURN
|
||
JR Z,AUTO_031A
|
||
PUSH AF
|
||
CALL AUTO_3DC8 ; SET CONT_DISK
|
||
POP AF
|
||
AUTO_031A:
|
||
LD HL,AUTO_2FF3 ; ‘<>ˆ‘ŽŠ ŠŽŒ€<C592>„
|
||
DEC HL
|
||
LD C,0
|
||
AUTO_0320:
|
||
INC C
|
||
LD D,A
|
||
LD A,22 ; 21 !!! Add new comand !!
|
||
CP C
|
||
JP C,AUTO_01D3 ; …‘‹ˆ <20>… <20>€‰„…<E2809E>Ž-‚›‰’ˆ
|
||
LD A,D
|
||
INC HL
|
||
CP (HL)
|
||
JR NZ,AUTO_0320
|
||
CP 254
|
||
CALL NZ,BUFER_ON ; ‚ª«îç¨âì ¡ãä¥à, ¥á«¨ ¥ RETURN
|
||
LD A,9
|
||
LD (S_NAME_NUM),A
|
||
XOR A
|
||
LD (DOS_ERR_2),A
|
||
LD (DOS_ERROR),A
|
||
LD (ERR_3D00),A
|
||
LD HL,FLAGS
|
||
RES 7,(HL)
|
||
LD B,0
|
||
LD HL,AUTO_3008
|
||
DEC C
|
||
SLA C
|
||
ADD HL,BC
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
EX DE,HL
|
||
PUSH HL
|
||
LD DE,AUTO_0359
|
||
PUSH DE
|
||
JP (HL)
|
||
AUTO_0359:
|
||
LD HL,FLAGS
|
||
SET 7,(HL)
|
||
POP HL
|
||
JP (HL)
|
||
NAME_TRD:
|
||
DB 127," 1986 Technology Research. "
|
||
DB "version 5.05 by Makarchenco Ivan. "
|
||
DB " <PeterS>",0,0
|
||
AUTO_03AC:
|
||
CALL AUTO_03FD
|
||
CALL PRINT_CR
|
||
CALL PRINT_CR
|
||
AUTO_03B5:
|
||
LD BC,(FREE_SEC)
|
||
CALL AUTO_1DA9
|
||
LD HL,AUTO_29D2
|
||
RST PRINT_LN
|
||
AUTO_03C0:
|
||
JP AUTO_01D3
|
||
AUTO_03C3:
|
||
PUSH AF
|
||
LD A,(BAS_DOS_FLG)
|
||
CP 254
|
||
JR NZ,AUTO_03CD
|
||
POP AF
|
||
RET
|
||
AUTO_03CD:
|
||
POP AF
|
||
LD (DOS_ERR_2),A
|
||
LD A,(MSG_FLAG)
|
||
OR A
|
||
CALL Z,PRINT_L
|
||
RET
|
||
AUTO_03D9:
|
||
LD HL,AUTO_2A28
|
||
LD A,1
|
||
JP AUTO_1C4A
|
||
AUTO_03E1:
|
||
LD HL,AUTO_2766
|
||
AUTO_03E4:
|
||
XOR A
|
||
JP AUTO_1C4A
|
||
AUTO_03E8:
|
||
XOR A
|
||
LD (CAT_SEC),A
|
||
AUTO_03EC:
|
||
LD DE,(CAT_SEC)
|
||
LD D,0
|
||
AUTO_03F2:
|
||
CALL BUFER_ON
|
||
LD HL,BUFER
|
||
LD B,1
|
||
JP READ_DISK
|
||
AUTO_03FD:
|
||
CALL BUFER_ON
|
||
LD DE,8
|
||
JR AUTO_03F2
|
||
RD_HEAD_DSK:
|
||
CALL AUTO_03FD
|
||
LD A,(CODE_10H)
|
||
CP 16
|
||
JR Z,AUTO_0415
|
||
LD HL,DISK_ERROR_MSG
|
||
RST PRINT_LN
|
||
JR AUTO_03C0
|
||
AUTO_0415:
|
||
CALL get_disk_type
|
||
RES 0,(HL)
|
||
RES 1,(HL)
|
||
LD A,(TYPE_DISK)
|
||
BIT 0,A
|
||
JR NZ,AUTO_0425
|
||
SET 0,(HL)
|
||
AUTO_0425:
|
||
BIT 3,A
|
||
RET NZ
|
||
SET 1,(HL)
|
||
RET
|
||
TEST_CR:
|
||
LD HL,(ADR_DOS_COM)
|
||
INC HL
|
||
LD A,(HL)
|
||
CP 13
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_CAT:
|
||
CALL TEST_CR
|
||
LD BC,2
|
||
LD (MED_LEN),BC
|
||
JR Z,AUTO_046A
|
||
CP '#'
|
||
JR NZ,AUTO_045D
|
||
|
||
LD (CH_ADR),HL ; Š€<C5A0>€‹ „‹Ÿ CAT
|
||
CALL AUTO_1E0B
|
||
CALL AUTO_1D8C
|
||
CP 13
|
||
JR Z,AUTO_046A
|
||
CP ','
|
||
JP NZ,CMD_ERROR
|
||
CALL BASIC_RST20
|
||
CALL AUTO_1DBD
|
||
JR AUTO_0460
|
||
|
||
AUTO_045D:
|
||
CALL INPUT_TXT
|
||
AUTO_0460:
|
||
CALL SINTAX_RET
|
||
CALL BAS_2BF1
|
||
EX DE,HL
|
||
CALL SET_DRIVE
|
||
AUTO_046A:
|
||
CALL SINTAX_RET
|
||
LD A,(OPER_DISK)
|
||
LD (DISK_2_FLG),A
|
||
CALL RD_HEAD_DSK
|
||
LD A,(MED_LEN)
|
||
AUTO_0479:
|
||
CP 2
|
||
PUSH AF
|
||
CALL Z,AUTO_1D97
|
||
POP AF
|
||
CP 17
|
||
JP NC,CMD_ERROR
|
||
CALL AUTO_1D84
|
||
LD A,255
|
||
LD (DISK_1_FLG),A
|
||
LD HL,AUTO_29F7
|
||
RST PRINT_LN
|
||
LD HL,DISK_NAME
|
||
RST PRINT_LN
|
||
CALL PRINT_CR
|
||
LD A,(N_FILES)
|
||
LD HL,N_DEL_FL
|
||
SUB (HL)
|
||
PUSH HL
|
||
CALL AUTO_1DA3
|
||
LD HL,AUTO_2A2B
|
||
RST PRINT_LN
|
||
POP HL
|
||
LD C,(HL)
|
||
CALL AUTO_1DA4
|
||
LD HL,AUTO_2A1D
|
||
RST PRINT_LN
|
||
CALL AUTO_03E8
|
||
LD HL,BUFER
|
||
AUTO_04B6:
|
||
CALL AUTO_04F6
|
||
CALL PRINT_CR
|
||
LD A,(OPER_DISK)
|
||
ADD A,'A'
|
||
RST RST10
|
||
LD B,2
|
||
AUTO_04C4:
|
||
CALL AUTO_04F6
|
||
PUSH BC
|
||
LD A,':'
|
||
RST RST10
|
||
PUSH HL
|
||
CALL AUTO_2938
|
||
LD BC,CONT_1+4
|
||
POP HL
|
||
PUSH HL
|
||
ADD HL,BC
|
||
LD C,(HL)
|
||
PUSH BC
|
||
LD A,C
|
||
LD B,2
|
||
CP 10
|
||
JR C,AUTO_04DF
|
||
DEC B
|
||
AUTO_04DF:
|
||
CP 'd'
|
||
JR NC,AUTO_04E8
|
||
AUTO_04E3:
|
||
LD A,' '
|
||
RST RST10
|
||
DJNZ AUTO_04E3
|
||
AUTO_04E8:
|
||
POP BC
|
||
CALL AUTO_1DA9
|
||
POP HL
|
||
POP BC
|
||
LD DE,RST10
|
||
ADD HL,DE
|
||
DJNZ AUTO_04C4
|
||
JR AUTO_04B6
|
||
AUTO_04F6:
|
||
PUSH HL
|
||
PUSH BC
|
||
LD A,(DISK_2_FLG)
|
||
LD HL,OPER_DISK
|
||
CP (HL)
|
||
CALL NZ,SET_DISK
|
||
POP BC
|
||
POP HL
|
||
JP AUTO_2FC6
|
||
AUTO_0507:
|
||
LD DE,RST10
|
||
ADD HL,DE
|
||
RET
|
||
AUTO_050C:
|
||
PUSH HL
|
||
PUSH BC
|
||
LD BC,AUTO_A1DB
|
||
ADD HL,BC
|
||
JR C,AUTO_0517
|
||
POP BC
|
||
POP HL
|
||
RET
|
||
AUTO_0517:
|
||
LD HL,CAT_SEC
|
||
INC (HL)
|
||
CALL AUTO_03EC
|
||
POP BC
|
||
POP HL
|
||
LD HL,BUFER
|
||
RET
|
||
GET_DISK:
|
||
AND 223
|
||
SBC A,'A'
|
||
JP C,CMD_ERROR
|
||
CP 4
|
||
JP NC,CMD_ERROR
|
||
RET
|
||
AUTO_0531:
|
||
CALL BAS_2BF1
|
||
LD A,C
|
||
CP B
|
||
JP Z,CMD_ERROR
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_NEW:
|
||
CALL AUTO_1DCD
|
||
CALL SINTAX_RET
|
||
AUTO_0540:
|
||
CALL AUTO_102E
|
||
CALL AUTO_1CB0
|
||
LD A,(OPER_DISK)
|
||
LD (DISK_1_FLG),A
|
||
JP NZ,AUTO_03D9
|
||
PUSH BC
|
||
CALL AUTO_165D
|
||
CALL AUTO_1CB0
|
||
PUSH AF
|
||
LD A,(DISK_1_FLG)
|
||
LD HL,OPER_DISK
|
||
CP (HL)
|
||
JP NZ,CMD_ERROR
|
||
CALL RD_HEAD_DSK
|
||
POP AF
|
||
JP Z,AUTO_1C50
|
||
POP BC
|
||
AUTO_0569:
|
||
CALL AUTO_166B
|
||
CALL AUTO_1E43
|
||
JP AUTO_03E1
|
||
AUTO_0572:
|
||
LD A,(ERR_3D00)
|
||
OR A
|
||
RET
|
||
AUTO_0577:
|
||
LD A,(N_DEL_FLS)
|
||
OR A
|
||
JP Z,AUTO_03D9
|
||
JP AUTO_03E1
|
||
AUTO_0581:
|
||
PUSH BC
|
||
CALL AUTO_1D97
|
||
LD A,(OPER_DISK)
|
||
ADD A,'A'
|
||
CALL PRINT_SYM
|
||
LD A,':'
|
||
CALL PRINT_SYM
|
||
LD HL,FL_NAME
|
||
CALL AUTO_2938
|
||
LD HL,AUTO_2820
|
||
CALL PRINT_L
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
PUSH AF
|
||
CALL AUTO_1D97
|
||
POP AF
|
||
POP BC
|
||
RET NZ
|
||
PUSH BC
|
||
CALL AUTO_1D97
|
||
POP BC
|
||
CALL AUTO_0781
|
||
XOR A
|
||
RET
|
||
AUTO_05B4:
|
||
LD A,(FL_TYPE)
|
||
CP '#'
|
||
JR Z,AUTO_05BD
|
||
XOR A
|
||
RET
|
||
AUTO_05BD:
|
||
LD A,10
|
||
LD (S_NAME_NUM),A
|
||
CALL AUTO_1CB3
|
||
LD A,9
|
||
LD (S_NAME_NUM),A
|
||
RET
|
||
AUTO_05CB:
|
||
LD A,(FL_NAME)
|
||
CP '*'
|
||
JP NZ,AUTO_03D9
|
||
CALL BAS_2BF1
|
||
EX DE,HL
|
||
CALL SET_DRIVE
|
||
LD A,(HL)
|
||
CP '*'
|
||
JP NZ,CMD_ERROR
|
||
LD A,(OPER_DISK)
|
||
LD (DISK_2_FLG),A
|
||
LD A,(DISK_2_FLG)
|
||
CALL SET_DISK
|
||
CALL RD_HEAD_DSK
|
||
LD A,255
|
||
LD (BUF_FLAG+1),A
|
||
AUTO_05F4:
|
||
LD A,(DISK_1_FLG)
|
||
CALL SET_DISK
|
||
CALL RD_HEAD_DSK
|
||
LD A,(BUF_FLAG+1)
|
||
INC A
|
||
LD (BUF_FLAG+1),A
|
||
LD C,A
|
||
CALL AUTO_165D
|
||
LD A,(FL_NAME)
|
||
CP 0
|
||
JP Z,AUTO_03E1
|
||
CP 1
|
||
JR Z,AUTO_05F4
|
||
LD HL,FL_START
|
||
LD DE,VAR_2
|
||
LD BC,START+7
|
||
LDIR
|
||
LD A,(DISK_2_FLG)
|
||
CALL SET_DISK
|
||
CALL AUTO_1CB3
|
||
JR NZ,AUTO_0634
|
||
CALL AUTO_05B4
|
||
JR NZ,AUTO_0634
|
||
CALL AUTO_0581
|
||
JR NZ,AUTO_05F4
|
||
AUTO_0634:
|
||
CALL AUTO_063C
|
||
CALL AUTO_1E43
|
||
JR AUTO_05F4
|
||
AUTO_063C:
|
||
CALL AUTO_03FD
|
||
LD A,(N_FILES)
|
||
CP 128
|
||
JP Z,AUTO_1C45
|
||
LD HL,VAR_2
|
||
LD DE,FL_START
|
||
LD BC,START+7
|
||
LDIR
|
||
LD DE,(FL_SIZE)
|
||
LD D,0
|
||
OR A
|
||
LD HL,(FREE_SEC)
|
||
SBC HL,DE
|
||
JP C,AUTO_1C45
|
||
LD (FREE_SEC),HL
|
||
LD HL,(CLEAR_SEC)
|
||
LD (FL_PLACE),HL
|
||
PUSH HL
|
||
CALL AUTO_072F
|
||
POP HL
|
||
LD (FL_PLACE),HL
|
||
LD HL,(CONT_SEC)
|
||
LD (CLEAR_SEC),HL
|
||
LD HL,N_FILES
|
||
INC (HL)
|
||
LD C,(HL)
|
||
DEC C
|
||
LD B,0
|
||
PUSH BC
|
||
LD DE,CONT_1
|
||
LD (CONT_SEC),DE
|
||
CALL AUTO_1E43
|
||
POP BC
|
||
CALL AUTO_166B
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_COPY:
|
||
LD HL,(ADR_DOS_COM)
|
||
INC HL
|
||
LD A,(HL)
|
||
AND 223
|
||
CP 'S'
|
||
JP Z,AUTO_1360
|
||
CP 'B'
|
||
JP Z,AUTO_152C
|
||
CALL AUTO_1DCD
|
||
CALL SINTAX_RET
|
||
CALL AUTO_166F
|
||
CALL AUTO_102E
|
||
CALL AUTO_1CB0
|
||
LD A,(OPER_DISK)
|
||
LD (DISK_1_FLG),A
|
||
JP NZ,AUTO_05CB
|
||
CALL AUTO_165D
|
||
LD HL,FL_START
|
||
LD DE,VAR_2
|
||
LD BC,START+7
|
||
LDIR
|
||
CALL AUTO_1CB0
|
||
PUSH AF
|
||
PUSH BC
|
||
LD A,(OPER_DISK)
|
||
LD (DISK_2_FLG),A
|
||
LD A,(DISK_1_FLG)
|
||
CALL SET_DISK
|
||
CALL RD_HEAD_DSK
|
||
LD A,(DISK_2_FLG)
|
||
CALL SET_DISK
|
||
CALL RD_HEAD_DSK
|
||
POP BC
|
||
POP AF
|
||
JR NZ,AUTO_06F3
|
||
CALL AUTO_05B4
|
||
JR NZ,AUTO_06F3
|
||
CALL AUTO_0581
|
||
JP NZ,AUTO_03E1
|
||
AUTO_06F3:
|
||
CALL AUTO_063C
|
||
CALL AUTO_1E43
|
||
LD A,(FL_TYPE)
|
||
CP '#'
|
||
JP NZ,AUTO_03E1
|
||
LD A,10
|
||
LD (S_NAME_NUM),A
|
||
LD HL,FL_START
|
||
INC (HL)
|
||
LD A,(DISK_1_FLG)
|
||
CALL SET_DISK
|
||
CALL AUTO_05B4
|
||
JP NZ,AUTO_03E1
|
||
AUTO_0716:
|
||
CALL AUTO_165D
|
||
LD HL,FL_START
|
||
LD DE,VAR_2
|
||
LD BC,START+7
|
||
LDIR
|
||
LD A,(DISK_2_FLG)
|
||
CALL SET_DISK
|
||
CALL RD_HEAD_DSK
|
||
JR AUTO_06F3
|
||
AUTO_072F:
|
||
LD A,(VAR_2_0)
|
||
OR A
|
||
RET Z
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
SUB (HL)
|
||
POP HL
|
||
JR NC,AUTO_0775
|
||
LD A,(VAR_2_0)
|
||
LD B,A
|
||
XOR A
|
||
LD (VAR_2_0),A
|
||
AUTO_0744:
|
||
PUSH BC
|
||
LD A,(DISK_1_FLG)
|
||
CALL SET_DISK
|
||
POP BC
|
||
PUSH BC
|
||
LD HL,(VAR_1)
|
||
PUSH HL
|
||
LD DE,(VAR_2_1)
|
||
CALL READ_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (VAR_2_1),HL
|
||
LD A,(DISK_2_FLG)
|
||
CALL SET_DISK
|
||
POP HL
|
||
POP BC
|
||
LD DE,(FL_PLACE)
|
||
CALL WRITE_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (FL_PLACE),HL
|
||
JR AUTO_072F
|
||
AUTO_0775:
|
||
LD (VAR_2_0),A
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
LD B,(HL)
|
||
POP HL
|
||
XOR A
|
||
JR AUTO_0744
|
||
AUTO_0781:
|
||
XOR A
|
||
LD (N_DEL_FLS),A
|
||
JR AUTO_07A0
|
||
;
|
||
;
|
||
;
|
||
CMD_ERASE:
|
||
CALL INPUT_TXT
|
||
CALL SINTAX_RET
|
||
CALL AUTO_102E
|
||
XOR A
|
||
LD (N_DEL_FLS),A
|
||
CALL AUTO_292F
|
||
CALL AUTO_07A0
|
||
JP NZ,AUTO_0577
|
||
JP AUTO_03E1
|
||
AUTO_07A0:
|
||
LD A,(FL_NAME)
|
||
LD (FST_SYM_NAME),A
|
||
RET NZ
|
||
LD HL,N_DEL_FLS
|
||
INC (HL)
|
||
PUSH BC
|
||
CALL AUTO_03FD
|
||
LD A,(N_FILES)
|
||
POP BC
|
||
INC C
|
||
CP C
|
||
JR NZ,AUTO_07BC
|
||
DEC A
|
||
LD (N_FILES),A
|
||
XOR A
|
||
AUTO_07BC:
|
||
PUSH AF
|
||
JR Z,AUTO_07C3
|
||
LD HL,N_DEL_FL
|
||
INC (HL)
|
||
AUTO_07C3:
|
||
PUSH BC
|
||
CALL AUTO_1E43
|
||
POP BC
|
||
DEC C
|
||
CALL AUTO_165D
|
||
POP AF
|
||
JP Z,AUTO_07D2
|
||
LD A,1
|
||
AUTO_07D2:
|
||
LD (FL_NAME),A
|
||
PUSH AF
|
||
CALL AUTO_1E40
|
||
LD A,(FST_SYM_NAME)
|
||
LD (FL_NAME),A
|
||
POP AF
|
||
JR Z,AUTO_07E7
|
||
CALL AUTO_1CB3
|
||
JR AUTO_07A0
|
||
|
||
;
|
||
AUTO_07E7:
|
||
BLOCK #07E7-$,255
|
||
CALL AUTO_03FD
|
||
LD HL,(FL_PLACE)
|
||
LD (CLEAR_SEC),HL
|
||
LD DE,(FL_SIZE)
|
||
LD HL,(FREE_SEC)
|
||
LD D,0
|
||
ADD HL,DE
|
||
LD (FREE_SEC),HL
|
||
JP AUTO_1E43
|
||
WG93_EXE_:
|
||
AND 252
|
||
JP WG93_EXE
|
||
;**************************************
|
||
DISPLAY "2k"
|
||
BLOCK #0840-$,255
|
||
INCLUDE 'trdos/tr_msd_3.asz'
|
||
|
||
|
||
BLOCK #0B00-$,255
|
||
ZG_RUS:
|
||
DB 3 ; ¨¤¥â¨ä¨ª â®à ¢¥àᨨ TR-DOS ???
|
||
;**************************************
|
||
INCLUDE 'trdos/tr_msd_2.asz'
|
||
|
||
; DSS 0E00h,255
|
||
|
||
;**************************************
|
||
;
|
||
; <20>ãá᪨© § ª®£¥¥à â®à - 40h..7Fh ᨬ¢®«ë.
|
||
;
|
||
; DSS 0E00h,255
|
||
|
||
; DB 0,0,76,82,114,82,76,0,0,0,56,4,60,68
|
||
; DB 60,0,0,0,120,64,120,68,120,0,0,0,72
|
||
; DB 72,72,72,124,4,0,0,24,40,40,40,124,68
|
||
; DB 0,0,56,68,120,64,60,0,0,16,56,84,84
|
||
; DB 56,16,0,0,0,124,64,64,64,64,0,0,0,68
|
||
; DB 40,16,40,68,0,0,0,68,76,84,100,68,0
|
||
; DB 0,16,68,76,84,100,68,0,0,0,72,80,112
|
||
; DB 72,68,0,0,0,28,36,36,36,68,0,0,0,68
|
||
; DB 108,84,84,68,0,0,0,68,68,124,68,68,0
|
||
; DB 0,0,56,68,68,68,56,0,0,0,124,68,68,68
|
||
; DB 68,0,0,0,60,68,60,36,68,0,0,0,120,68
|
||
; DB 68,120,64,64,0,0,56,64,64,64,56,0,0
|
||
; DB 0,124,16,16,16,16,0,0,0,68,68,60,4,56
|
||
; DB 0,0,0,84,84,56,84,84,0,0,0,120,68,120
|
||
; DB 68,120,0,0,0,64,64,120,68,120,0,0,0
|
||
; DB 68,68,116,76,116,0,0,0,56,68,24,68,56
|
||
; DB 0,0,0,84,84,84,84,124,0,0,0,56,4,28
|
||
; DB 4,56,0,0,0,84,84,84,84,126,2,0,0,68
|
||
; DB 68,60,4,4,0,0,0,96,32,56,36,56,0,0,76
|
||
; DB 82,114,82,82,76,0,0,60,66,66,126,66
|
||
; DB 66,0,0,124,64,124,66,66,124,0,0,68,68
|
||
; DB 68,68,68,126,2,0,24,36,36,36,36,126
|
||
; DB 66,0,126,64,124,64,64,126,0,0,56,84
|
||
; DB 84,56,16,16,0,0,126,64,64,64,64,64,0
|
||
; DB 0,66,36,24,24,36,66,0,0,66,70,74,82
|
||
; DB 98,66,0,0,90,70,74,82,98,66,0,0,68,72
|
||
; DB 112,72,68,66,0,0,30,34,34,34,34,66,0
|
||
; DB 0,66,102,90,66,66,66,0,0,66,66,126,66
|
||
; DB 66,66,0,0,60,66,66,66,66,60,0,0,126
|
||
; DB 66,66,66,66,66,0,0,62,66,66,62,34,66
|
||
; DB 0,0,124,66,66,124,64,64,0,0,60,66,64
|
||
; DB 64,66,60,0,0,254,16,16,16,16,16,0,0
|
||
; DB 66,66,62,2,66,60,0,0,84,84,56,84,84
|
||
; DB 84,0,0,124,66,124,66,66,124,0,0,64,64
|
||
; DB 124,66,66,124,0,0,66,66,114,74,74,114
|
||
; DB 0,0,60,66,12,2,66,60,0,0,84,84,84,84
|
||
; DB 84,124,0,0,60,66,14,2,66,60,0,0,84,84
|
||
; DB 84,84,84,126,2,0,66,66,66,126,2,2,0
|
||
; DB 60,66,153,161,161,153,66,60
|
||
;
|
||
;**************************************
|
||
;**************************************
|
||
BLOCK #1000 - $,255
|
||
|
||
;**************************************
|
||
DISPLAY "4k"
|
||
|
||
AUTO_1000:
|
||
DB 22,9,5,"Interface one fitted",0
|
||
;
|
||
;
|
||
;
|
||
CMD_STAR:
|
||
CALL INPUT_TXT
|
||
CALL SINTAX_RET
|
||
CALL AUTO_0531
|
||
LD A,(DE)
|
||
CALL GET_DISK
|
||
LD (CONT_DISK),A
|
||
CALL SET_DISK
|
||
JP AUTO_03E1
|
||
AUTO_102E:
|
||
LD B,'C'
|
||
LD A,(DOS_ERROR)
|
||
OR A
|
||
JR NZ,AUTO_104D
|
||
CALL AUTO_1D8C
|
||
CP 175
|
||
LD B,'C'
|
||
JR Z,AUTO_104D
|
||
CP 228
|
||
LD B,'D'
|
||
JR Z,AUTO_104D
|
||
CP '#'
|
||
LD B,'#'
|
||
JR Z,AUTO_104D
|
||
LD B,'B'
|
||
AUTO_104D:
|
||
LD HL,FL_TYPE
|
||
LD (HL),B
|
||
RET
|
||
AUTO_1052:
|
||
DI
|
||
PUSH HL
|
||
PUSH BC
|
||
PUSH DE
|
||
AUTO_1056:
|
||
RST RST20
|
||
DW 0028EH
|
||
AUTO_1059:
|
||
LD C,0
|
||
JR NZ,AUTO_1056
|
||
RST RST20
|
||
DW 0031EH
|
||
JR NC,AUTO_1056
|
||
DEC D
|
||
LD E,A
|
||
RST RST20
|
||
DW 00333H
|
||
POP DE
|
||
POP BC
|
||
POP HL
|
||
AND 223
|
||
EI
|
||
RET
|
||
AUTO_106E:
|
||
LD HL,AUTO_58E8
|
||
LD B,10
|
||
AUTO_1073:
|
||
LD (HL),7
|
||
INC HL
|
||
DJNZ AUTO_1073
|
||
LD (HL),2
|
||
INC HL
|
||
LD (HL),22
|
||
INC HL
|
||
DB 54
|
||
AUTO_107F:
|
||
INC (HL)
|
||
INC HL
|
||
LD (HL),'%'
|
||
INC HL
|
||
LD (HL),'('
|
||
INC HL
|
||
LD (HL),7
|
||
LD HL,AUTO_40F1
|
||
LD B,8
|
||
XOR A
|
||
AUTO_108F:
|
||
PUSH BC
|
||
SCF
|
||
RLA
|
||
PUSH HL
|
||
PUSH AF
|
||
LD B,5
|
||
AUTO_1096:
|
||
INC HL
|
||
LD (HL),A
|
||
DJNZ AUTO_1096
|
||
POP AF
|
||
POP HL
|
||
POP BC
|
||
LD DE,AUTO_0100
|
||
ADD HL,DE
|
||
DJNZ AUTO_108F
|
||
RET
|
||
RET
|
||
AUTO_10A5:
|
||
DB " Del."
|
||
AUTO_10AA:
|
||
DB " File(s)",0
|
||
AUTO_10B3:
|
||
DB "Title:",160
|
||
AUTO_10BA:
|
||
DB 23,17," Disk Drive: ",0
|
||
AUTO_10CA:
|
||
DB 23,16," ",0
|
||
AUTO_10CE:
|
||
DB 23,16," 40 Track S. Side",0
|
||
AUTO_10E2:
|
||
DB 23,16," 80 Track S. Side",0
|
||
AUTO_10F6:
|
||
DB 23,16," 40 Track D. Side",0
|
||
AUTO_110A:
|
||
DB 23,16," 80 Track D. Side",0
|
||
AUTO_111E:
|
||
DB 23,16," Free Sector ",0
|
||
AUTO_112E:
|
||
DB 13,13," File Name Start Length "
|
||
DB "Line",0
|
||
AUTO_1151:
|
||
LD HL,(WORK_SP)
|
||
LD (VAR_1),HL
|
||
LD BC,AUTO_021D+5
|
||
JP AUTO_1E23
|
||
AUTO_115D:
|
||
XOR A
|
||
LD DE,AUTO_2710
|
||
AUTO_1161:
|
||
SBC HL,DE
|
||
JR C,AUTO_1168
|
||
INC A
|
||
JR AUTO_1161
|
||
AUTO_1168:
|
||
ADD A,'0'
|
||
CALL AUTO_11A8
|
||
ADD HL,DE
|
||
XOR A
|
||
LD DE,AUTO_03E8
|
||
AUTO_1172:
|
||
SBC HL,DE
|
||
JR C,AUTO_1179
|
||
INC A
|
||
JR AUTO_1172
|
||
AUTO_1179:
|
||
ADD A,'0'
|
||
CALL AUTO_11A8
|
||
ADD HL,DE
|
||
XOR A
|
||
LD DE,AUTO_0064
|
||
AUTO_1183:
|
||
SBC HL,DE
|
||
JR C,AUTO_118A
|
||
INC A
|
||
JR AUTO_1183
|
||
AUTO_118A:
|
||
ADD A,'0'
|
||
CALL AUTO_11A8
|
||
ADD HL,DE
|
||
XOR A
|
||
LD DE,CONT_1+1
|
||
AUTO_1194:
|
||
SBC HL,DE
|
||
JR C,AUTO_119B
|
||
INC A
|
||
JR AUTO_1194
|
||
AUTO_119B:
|
||
ADD A,'0'
|
||
CALL AUTO_11A8
|
||
ADD HL,DE
|
||
LD A,L
|
||
ADD A,'0'
|
||
CALL AUTO_11A8
|
||
RET
|
||
AUTO_11A8:
|
||
PUSH HL
|
||
PUSH DE
|
||
CALL PRINT_SYM
|
||
POP DE
|
||
POP HL
|
||
RET
|
||
AUTO_11B0:
|
||
PUSH HL
|
||
PUSH BC
|
||
LD A,(DISK_2_FLG)
|
||
LD HL,OPER_DISK
|
||
CP (HL)
|
||
CALL NZ,SET_DISK
|
||
POP BC
|
||
POP HL
|
||
CALL AUTO_050C
|
||
LD A,(HL)
|
||
OR A
|
||
JP Z,AUTO_01D3
|
||
CP 1
|
||
CALL Z,AUTO_0507
|
||
RET NZ
|
||
JR AUTO_11B0
|
||
;
|
||
;
|
||
;
|
||
CMD_LIST:
|
||
CALL TEST_CR
|
||
LD BC,START+2
|
||
LD (MED_LEN),BC
|
||
JR Z,AUTO_1205
|
||
CP '#'
|
||
JR NZ,AUTO_11F8
|
||
LD (CH_ADR),HL
|
||
CALL AUTO_1E0B
|
||
CALL AUTO_1D8C
|
||
CP 13
|
||
JR Z,AUTO_1205
|
||
CP ','
|
||
JP NZ,CMD_ERROR
|
||
CALL BASIC_RST20
|
||
CALL AUTO_1DBD
|
||
JR AUTO_11FB
|
||
AUTO_11F8:
|
||
CALL INPUT_TXT
|
||
AUTO_11FB:
|
||
CALL SINTAX_RET
|
||
CALL BAS_2BF1
|
||
EX DE,HL
|
||
CALL SET_DRIVE
|
||
AUTO_1205:
|
||
CALL SINTAX_RET
|
||
LD A,(OPER_DISK)
|
||
LD (DISK_2_FLG),A
|
||
CALL RD_HEAD_DSK
|
||
LD A,(MED_LEN)
|
||
CP 2
|
||
PUSH AF
|
||
CALL Z,AUTO_1D97
|
||
POP AF
|
||
CP 17
|
||
JP NC,CMD_ERROR
|
||
CALL AUTO_1D84
|
||
LD A,255
|
||
LD (DISK_1_FLG),A
|
||
CALL AUTO_1151
|
||
LD HL,CLEAR_SEC
|
||
LD DE,(VAR_1)
|
||
LD BC,RST20
|
||
LDIR
|
||
CALL AUTO_03E8
|
||
LD HL,BUFER
|
||
PUSH HL
|
||
AUTO_123E:
|
||
LD HL,AUTO_10B3
|
||
PUSH BC
|
||
RST PRINT_LN
|
||
LD HL,(VAR_1)
|
||
LD BC,CONT_2+1
|
||
ADD HL,BC
|
||
RST PRINT_LN
|
||
LD HL,AUTO_10BA
|
||
RST PRINT_LN
|
||
LD A,(OPER_DISK)
|
||
ADD A,'A'
|
||
CALL PRINT_SYM
|
||
CALL PRINT_CR
|
||
LD HL,(VAR_1)
|
||
LD BC,START+3
|
||
ADD HL,BC
|
||
LD A,(HL)
|
||
LD HL,(VAR_1)
|
||
LD BC,CONT_2
|
||
ADD HL,BC
|
||
SUB (HL)
|
||
PUSH HL
|
||
CALL AUTO_1DA3
|
||
LD HL,AUTO_10AA
|
||
RST PRINT_LN
|
||
LD HL,(VAR_1)
|
||
LD BC,START+2
|
||
ADD HL,BC
|
||
LD A,(HL)
|
||
LD HL,AUTO_10CE
|
||
CP 25
|
||
JR Z,AUTO_1292
|
||
LD HL,AUTO_10E2
|
||
CP 24
|
||
JR Z,AUTO_1292
|
||
LD HL,AUTO_10F6
|
||
AUTO_128B:
|
||
CP 23
|
||
JR Z,AUTO_1292
|
||
LD HL,AUTO_110A
|
||
AUTO_1292:
|
||
RST PRINT_LN
|
||
POP HL
|
||
LD C,(HL)
|
||
CALL AUTO_1DA4
|
||
LD HL,AUTO_10A5
|
||
RST PRINT_LN
|
||
LD HL,AUTO_111E
|
||
RST PRINT_LN
|
||
LD HL,(VAR_1)
|
||
LD BC,START+4
|
||
ADD HL,BC
|
||
LD C,(HL)
|
||
INC HL
|
||
LD B,(HL)
|
||
CALL AUTO_1DA9
|
||
LD HL,AUTO_112E
|
||
RST PRINT_LN
|
||
POP BC
|
||
POP HL
|
||
LD B,16
|
||
AUTO_12B5:
|
||
CALL AUTO_11B0
|
||
CALL PRINT_CR
|
||
PUSH BC
|
||
PUSH HL
|
||
CALL AUTO_2938
|
||
LD BC,CONT_1+4
|
||
POP HL
|
||
PUSH HL
|
||
ADD HL,BC
|
||
LD C,(HL)
|
||
PUSH BC
|
||
LD A,C
|
||
LD B,2
|
||
CP 10
|
||
JR C,AUTO_12D0
|
||
DEC B
|
||
AUTO_12D0:
|
||
CP 'd'
|
||
JR NC,AUTO_12D9
|
||
AUTO_12D4:
|
||
LD A,' '
|
||
RST RST10
|
||
DJNZ AUTO_12D4
|
||
AUTO_12D9:
|
||
POP BC
|
||
CALL AUTO_1DA9
|
||
LD HL,AUTO_10CA
|
||
RST PRINT_LN
|
||
POP HL
|
||
PUSH HL
|
||
LD BC,CONT_1
|
||
ADD HL,BC
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
PUSH HL
|
||
EX DE,HL
|
||
CALL AUTO_115D
|
||
LD A,' '
|
||
CALL PRINT_SYM
|
||
POP HL
|
||
INC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
EX DE,HL
|
||
CALL AUTO_115D
|
||
POP HL
|
||
PUSH HL
|
||
LD BC,RST08
|
||
ADD HL,BC
|
||
AUTO_1303:
|
||
LD A,(HL)
|
||
CP 'B'
|
||
CALL Z,AUTO_131B
|
||
POP HL
|
||
POP BC
|
||
LD DE,RST10
|
||
ADD HL,DE
|
||
DJNZ AUTO_12B5
|
||
PUSH HL
|
||
CALL PRINT_CR
|
||
CALL PRINT_CR
|
||
JP AUTO_123E
|
||
AUTO_131B:
|
||
LD BC,START+5
|
||
ADD HL,BC
|
||
LD B,(HL)
|
||
INC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
DEC B
|
||
JR Z,AUTO_1335
|
||
DEC B
|
||
JR Z,AUTO_1335
|
||
LD A,16
|
||
AUTO_132C:
|
||
INC E
|
||
CP E
|
||
JR NZ,AUTO_1333
|
||
LD E,0
|
||
INC D
|
||
AUTO_1333:
|
||
DJNZ AUTO_132C
|
||
AUTO_1335:
|
||
LD HL,(VAR_1)
|
||
LD BC,RST20+1
|
||
ADD HL,BC
|
||
LD B,2
|
||
PUSH HL
|
||
CALL READ_DISK
|
||
LD A,128
|
||
POP HL
|
||
LD BC,AUTO_0200
|
||
CPIR
|
||
LD A,(HL)
|
||
CP 170
|
||
RET NZ
|
||
INC HL
|
||
LD C,(HL)
|
||
INC HL
|
||
LD B,(HL)
|
||
LD A,B
|
||
OR C
|
||
RET Z
|
||
PUSH BC
|
||
LD A,' '
|
||
CALL PRINT_SYM
|
||
POP BC
|
||
CALL AUTO_1DA9
|
||
RET
|
||
AUTO_1360:
|
||
CALL AUTO_1DC5
|
||
CALL BASIC_RST20
|
||
CALL AUTO_1DBD
|
||
CALL SINTAX_RET
|
||
CALL AUTO_166F
|
||
LD HL,AUTO_27AA
|
||
CALL PRINT_L
|
||
AUTO_1375:
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
JR NZ,AUTO_1375
|
||
CALL AUTO_1D9F
|
||
CALL AUTO_102E
|
||
CALL AUTO_1CB0
|
||
JP NZ,AUTO_03D9
|
||
CALL AUTO_13B7
|
||
LD A,(FL_TYPE)
|
||
CP '#'
|
||
JP NZ,AUTO_03E1
|
||
AUTO_1393:
|
||
LD A,10
|
||
LD (S_NAME_NUM),A
|
||
LD HL,FL_START
|
||
INC (HL)
|
||
CALL AUTO_1D97
|
||
LD HL,AUTO_27AA
|
||
CALL PRINT_L
|
||
AUTO_13A5:
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
JR NZ,AUTO_13A5
|
||
CALL AUTO_1CB3
|
||
JP NZ,AUTO_03E1
|
||
CALL AUTO_13B7
|
||
JR AUTO_1393
|
||
AUTO_13B7:
|
||
CALL AUTO_165D
|
||
LD HL,FL_START
|
||
LD DE,VAR_2
|
||
LD BC,START+7
|
||
LDIR
|
||
LD A,(VAR_2_0)
|
||
LD (ERR_3D00),A
|
||
CALL RD_HEAD_DSK
|
||
CALL get_disk_type
|
||
LD (DOS_CH_ADR),A
|
||
LD A,255
|
||
LD (COM_LN_COPY+1),A
|
||
CALL AUTO_1451
|
||
LD HL,(FL_NUMBER+1)
|
||
LD (FL_PLACE),HL
|
||
LD HL,(CONT_SEC)
|
||
LD (CLEAR_SEC),HL
|
||
LD HL,N_FILES
|
||
INC (HL)
|
||
LD C,(HL)
|
||
DEC C
|
||
LD B,0
|
||
PUSH BC
|
||
LD DE,CONT_1
|
||
LD (CONT_SEC),DE
|
||
CALL AUTO_1E43
|
||
POP BC
|
||
CALL AUTO_166B
|
||
CALL AUTO_1E43
|
||
RET
|
||
AUTO_1403:
|
||
XOR A
|
||
LD (COM_LN_COPY+1),A
|
||
CALL RD_HEAD_DSK
|
||
CALL get_disk_type
|
||
LD (DOS_CH_ADR+1),A
|
||
CALL AUTO_1CB3
|
||
JP Z,AUTO_1C50
|
||
CALL AUTO_03FD
|
||
LD A,(N_FILES)
|
||
CP 128
|
||
JP Z,AUTO_2723
|
||
LD HL,VAR_2
|
||
LD DE,FL_START
|
||
LD BC,START+7
|
||
LDIR
|
||
CALL AUTO_03FD
|
||
LD A,(ERR_3D00)
|
||
LD (FL_SIZE),A
|
||
LD DE,(FL_SIZE)
|
||
LD D,0
|
||
OR A
|
||
LD HL,(FREE_SEC)
|
||
SBC HL,DE
|
||
JP C,AUTO_1C45
|
||
LD (FREE_SEC),HL
|
||
LD HL,(CLEAR_SEC)
|
||
LD (FL_PLACE),HL
|
||
LD (FL_NUMBER+1),HL
|
||
RET
|
||
AUTO_1451:
|
||
LD A,(VAR_2_0)
|
||
OR A
|
||
RET Z
|
||
LD A,(COM_LN_COPY+1)
|
||
OR A
|
||
JR NZ,AUTO_146F
|
||
CALL AUTO_1D97
|
||
LD HL,AUTO_27AA
|
||
CALL PRINT_L
|
||
AUTO_1465:
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
JR NZ,AUTO_1465
|
||
CALL AUTO_1D9F
|
||
AUTO_146F:
|
||
LD A,(VAR_2_0)
|
||
OR A
|
||
RET Z
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
SUB (HL)
|
||
POP HL
|
||
JR NC,AUTO_14CB
|
||
LD A,(VAR_2_0)
|
||
LD B,A
|
||
XOR A
|
||
LD (VAR_2_0),A
|
||
AUTO_1484:
|
||
PUSH BC
|
||
LD (RD_WR_COM),A
|
||
LD HL,(VAR_1)
|
||
PUSH HL
|
||
LD DE,(VAR_2_1)
|
||
CALL AUTO_14D8
|
||
CALL READ_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (VAR_2_1),HL
|
||
CALL AUTO_1D97
|
||
LD HL,AUTO_2785
|
||
CALL PRINT_L
|
||
AUTO_14A5:
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
JR NZ,AUTO_14A5
|
||
CALL AUTO_1D9F
|
||
LD A,(COM_LN_COPY+1)
|
||
OR A
|
||
CALL NZ,AUTO_1403
|
||
POP HL
|
||
POP BC
|
||
LD DE,(FL_PLACE)
|
||
CALL AUTO_14E4
|
||
CALL WRITE_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (FL_PLACE),HL
|
||
JP AUTO_1451
|
||
AUTO_14CB:
|
||
LD (VAR_2_0),A
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
LD B,(HL)
|
||
POP HL
|
||
XOR A
|
||
JP AUTO_1484
|
||
AUTO_14D8:
|
||
PUSH HL
|
||
PUSH DE
|
||
CALL get_disk_type
|
||
LD A,(DOS_CH_ADR)
|
||
LD (HL),A
|
||
POP DE
|
||
POP HL
|
||
RET
|
||
AUTO_14E4:
|
||
PUSH HL
|
||
PUSH DE
|
||
CALL get_disk_type
|
||
LD A,(DOS_CH_ADR+1)
|
||
LD (HL),A
|
||
POP DE
|
||
POP HL
|
||
RET
|
||
AUTO_14F0:
|
||
XOR A
|
||
LD (COM_LN_COPY+1),A
|
||
CALL RD_HEAD_DSK
|
||
CALL get_disk_type
|
||
LD (DOS_CH_ADR+1),A
|
||
LD A,(TYPE_DISK)
|
||
LD (FL_START+1),A
|
||
LD HL,AUTO_0280
|
||
CP 25
|
||
JR Z,AUTO_151F
|
||
LD HL,AUTO_04F6+10
|
||
CP 24
|
||
JR Z,AUTO_151F
|
||
CP 23
|
||
JR Z,AUTO_151F
|
||
LD HL,0A00h
|
||
CP 22
|
||
JR Z,AUTO_151F
|
||
JP CMD_ERROR
|
||
AUTO_151F:
|
||
LD (FL_NAME),HL
|
||
LD BC,(FL_N_2)
|
||
SBC HL,BC
|
||
JP C,AUTO_1C45
|
||
RET
|
||
AUTO_152C:
|
||
CALL SINTAX_RET
|
||
CALL AUTO_166F
|
||
LD HL,AUTO_2779
|
||
CALL PRINT_L
|
||
LD HL,AUTO_27AA
|
||
CALL PRINT_L
|
||
AUTO_153E:
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
JR NZ,AUTO_153E
|
||
CALL AUTO_1D9F
|
||
LD A,255
|
||
LD (COM_LN_COPY+1),A
|
||
CALL RD_HEAD_DSK
|
||
CALL get_disk_type
|
||
LD (DOS_CH_ADR),A
|
||
LD A,(TYPE_DISK)
|
||
CP 25
|
||
LD HL,AUTO_0280
|
||
JR Z,AUTO_1575
|
||
LD HL,AUTO_04F6+10
|
||
CP 24
|
||
JR Z,AUTO_1575
|
||
CP 23
|
||
JR Z,AUTO_1575
|
||
LD HL,0A00h
|
||
CP 22
|
||
JR Z,AUTO_1575
|
||
JP CMD_ERROR
|
||
AUTO_1575:
|
||
LD BC,(FREE_SEC)
|
||
SBC HL,BC
|
||
LD (FL_TYPE),HL
|
||
LD (FL_N_2),HL
|
||
LD HL,START
|
||
LD (FL_N_4),HL
|
||
LD (FL_N_6),HL
|
||
CALL AUTO_15B8
|
||
CALL RD_HEAD_DSK
|
||
LD A,(FL_START+1)
|
||
LD (TYPE_DISK),A
|
||
LD HL,(FL_NAME)
|
||
LD BC,(FL_N_2)
|
||
SBC HL,BC
|
||
LD (FREE_SEC),HL
|
||
CALL AUTO_14E4
|
||
LD DE,CONT_1
|
||
LD (CONT_SEC),DE
|
||
CALL AUTO_1E43
|
||
AUTO_15AF:
|
||
JP AUTO_03E1
|
||
AUTO_15B2:
|
||
LD HL,(FL_TYPE)
|
||
LD A,H
|
||
OR L
|
||
RET
|
||
AUTO_15B8:
|
||
CALL AUTO_15B2
|
||
RET Z
|
||
LD A,(COM_LN_COPY+1)
|
||
OR A
|
||
JR NZ,AUTO_15DB
|
||
CALL AUTO_1D97
|
||
LD HL,AUTO_2779
|
||
CALL PRINT_L
|
||
LD HL,AUTO_27AA
|
||
CALL PRINT_L
|
||
AUTO_15D1:
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
JR NZ,AUTO_15D1
|
||
CALL AUTO_1D9F
|
||
AUTO_15DB:
|
||
CALL AUTO_15B2
|
||
RET Z
|
||
PUSH BC
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
LD C,(HL)
|
||
LD B,0
|
||
POP HL
|
||
SBC HL,BC
|
||
POP BC
|
||
JP NC,AUTO_1644
|
||
LD BC,(FL_TYPE)
|
||
LD HL,START
|
||
LD (FL_TYPE),HL
|
||
AUTO_15F8:
|
||
PUSH BC
|
||
LD HL,(VAR_1)
|
||
PUSH HL
|
||
CALL AUTO_14D8
|
||
LD DE,(FL_N_4)
|
||
LD B,C
|
||
CALL READ_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (FL_N_4),HL
|
||
CALL AUTO_1D97
|
||
LD HL,AUTO_2779
|
||
CALL PRINT_L
|
||
LD HL,AUTO_2785
|
||
CALL PRINT_L
|
||
AUTO_161D:
|
||
CALL AUTO_1052
|
||
CP 'Y'
|
||
JR NZ,AUTO_161D
|
||
CALL AUTO_1D9F
|
||
LD A,(COM_LN_COPY+1)
|
||
AUTO_162A:
|
||
OR A
|
||
CALL NZ,AUTO_14F0
|
||
POP HL
|
||
POP BC
|
||
LD DE,(FL_N_6)
|
||
LD B,C
|
||
CALL AUTO_14E4
|
||
CALL WRITE_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (FL_N_6),HL
|
||
JP AUTO_15B8
|
||
AUTO_1644:
|
||
LD (FL_TYPE),HL
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
LD C,(HL)
|
||
LD B,0
|
||
POP HL
|
||
XOR A
|
||
JP AUTO_15F8
|
||
CALL AUTO_165D
|
||
LD A,(FL_NAME)
|
||
CP 1
|
||
RET
|
||
AUTO_165C:
|
||
LD C,A
|
||
AUTO_165D:
|
||
XOR A
|
||
AUTO_165E:
|
||
PUSH BC
|
||
CALL AUTO_17E9
|
||
POP BC
|
||
RET
|
||
AUTO_1664:
|
||
LD C,A
|
||
AUTO_1665:
|
||
CALL AUTO_166B
|
||
JP AUTO_1E43
|
||
AUTO_166B:
|
||
LD A,255
|
||
JR AUTO_165E
|
||
AUTO_166F:
|
||
LD A,255
|
||
LD (BAS_DOS_FLG),A
|
||
CALL AUTO_1680
|
||
LD HL,(WORK_SP)
|
||
LD (VAR_1),HL
|
||
JP AUTO_1E23
|
||
AUTO_1680:
|
||
RST RST20
|
||
DW 01F1AH
|
||
LD HL,0FFFFh
|
||
SBC HL,BC
|
||
LD A,H
|
||
CP 16
|
||
JR NC,AUTO_168F
|
||
LD A,17
|
||
AUTO_168F:
|
||
DEC A
|
||
LD (L_5D23),A
|
||
LD B,A
|
||
LD C,0
|
||
RET
|
||
LD (MED_START),HL
|
||
LD (MED_LEN),HL
|
||
LD DE,(FL_SIZE)
|
||
LD HL,(DOS_CH_ADR)
|
||
LD D,0
|
||
ADD HL,DE
|
||
LD (DOS_CH_ADR),HL
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_MOVE:
|
||
CALL TEST_CR
|
||
JP NZ,AUTO_1775
|
||
CALL SINTAX_RET
|
||
CALL AUTO_166F
|
||
LD HL,(VAR_1)
|
||
LD (FL_N_4),HL
|
||
LD DE,0900h
|
||
ADD HL,DE
|
||
LD (VAR_1),HL
|
||
LD A,(L_5D23)
|
||
SUB 9
|
||
LD (L_5D23),A
|
||
LD HL,(FL_N_4)
|
||
LD DE,START
|
||
LD B,9
|
||
CALL READ_DISK
|
||
LD HL,(FL_N_4)
|
||
LD (FL_N_2),HL
|
||
LD HL,AUTO_0100
|
||
LD (MED_START),HL
|
||
LD (FL_NAME),HL
|
||
XOR A
|
||
LD (FL_N_6),HL
|
||
LD (FL_N_7),A
|
||
CALL MOVE_X00
|
||
LD DE,(FL_N_4)
|
||
LD HL,(FL_N_2)
|
||
EX DE,HL
|
||
LD BC,WG93_EXE_
|
||
ADD HL,BC
|
||
AND A
|
||
SBC HL,DE
|
||
DEC HL
|
||
LD C,L
|
||
LD B,H
|
||
EX DE,HL
|
||
LD D,H
|
||
LD E,L
|
||
INC DE
|
||
LD (HL),0
|
||
LDIR
|
||
LD HL,(FL_N_4)
|
||
LD DE,08E1h
|
||
ADD HL,DE
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
LD BC,(MED_START)
|
||
LD (HL),B
|
||
DEC HL
|
||
LD (HL),C
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
LD C,(HL)
|
||
INC HL
|
||
LD B,(HL)
|
||
EX DE,HL
|
||
LD A,L
|
||
AND 15
|
||
LD L,H
|
||
LD H,0
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD A,L
|
||
LD L,A
|
||
ADD HL,BC
|
||
LD BC,(MED_START)
|
||
LD (MED_START),HL
|
||
LD L,B
|
||
LD H,0
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
LD A,C
|
||
AND 15
|
||
ADD A,L
|
||
LD C,A
|
||
LD B,H
|
||
LD HL,(MED_START)
|
||
AND A
|
||
SBC HL,BC
|
||
EX DE,HL
|
||
LD (HL),D
|
||
DEC HL
|
||
LD (HL),E
|
||
DEC HL
|
||
LD A,(FL_N_6)
|
||
LD (HL),A
|
||
LD DE,RST10
|
||
ADD HL,DE
|
||
LD (HL),0
|
||
LD HL,(FL_N_4)
|
||
LD DE,START
|
||
LD B,9
|
||
CALL WRITE_DISK
|
||
LD A,(L_5D23)
|
||
ADD A,9
|
||
LD B,A
|
||
LD C,0
|
||
LD HL,(VAR_1)
|
||
CALL AUTO_1E2E
|
||
JP AUTO_03E1
|
||
AUTO_1775:
|
||
CALL INPUT_TXT
|
||
CALL SINTAX_RET
|
||
CALL AUTO_1C57
|
||
CALL AUTO_03FD
|
||
LD HL,FL_NAME
|
||
LD DE,DISK_NAME
|
||
LD BC,RST08
|
||
LDIR
|
||
CALL AUTO_1E43
|
||
JP AUTO_03E1
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
AUTO_17A5:
|
||
LD A,(AUTO_5CD3)
|
||
OR A
|
||
RET Z
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
SUB (HL)
|
||
POP HL
|
||
JR NC,AUTO_17DD
|
||
LD A,(AUTO_5CD3)
|
||
LD B,A
|
||
XOR A
|
||
LD (AUTO_5CD3),A
|
||
AUTO_17BA:
|
||
PUSH BC
|
||
LD HL,(VAR_1)
|
||
PUSH HL
|
||
LD DE,(AUTO_5CD5)
|
||
CALL READ_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (AUTO_5CD5),HL
|
||
POP HL
|
||
POP BC
|
||
LD DE,(MED_START)
|
||
CALL WRITE_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (MED_START),HL
|
||
JR AUTO_17A5
|
||
AUTO_17DD:
|
||
LD (AUTO_5CD3),A
|
||
PUSH HL
|
||
LD HL,L_5D23
|
||
LD B,(HL)
|
||
POP HL
|
||
XOR A
|
||
JR AUTO_17BA
|
||
AUTO_17E9:
|
||
PUSH AF
|
||
LD HL,CAT_SEC
|
||
LD (HL),0
|
||
LD A,C
|
||
AUTO_17F0:
|
||
SUB 16
|
||
JR C,AUTO_17F7
|
||
INC (HL)
|
||
JR AUTO_17F0
|
||
AUTO_17F7:
|
||
ADD A,16
|
||
LD C,A
|
||
PUSH BC
|
||
CALL AUTO_03EC
|
||
POP BC
|
||
POP AF
|
||
CALL AUTO_1CA4
|
||
LD DE,FL_NAME
|
||
LD BC,RST10
|
||
OR A
|
||
JR Z,AUTO_180D
|
||
EX DE,HL
|
||
AUTO_180D:
|
||
LDIR
|
||
RET
|
||
DISPLAY "6k"
|
||
;
|
||
;
|
||
;
|
||
CMD_VERIFY:
|
||
LD A,255
|
||
LD (DISK_2_FLG),A
|
||
;
|
||
;
|
||
;
|
||
CMD_LOAD:
|
||
CALL AUTO_1852
|
||
AUTO_1818:
|
||
CALL AUTO_1836
|
||
CALL SINTAX_RET
|
||
LD A,255
|
||
LD (ERR_3D00),A
|
||
LD A,(DISK_2_FLG)
|
||
CP 255
|
||
JP Z,AUTO_03E1
|
||
LD A,(FL_TYPE)
|
||
CP 'B'
|
||
JP Z,AUTO_012A
|
||
JP AUTO_03E1
|
||
AUTO_1836:
|
||
CALL AUTO_187A
|
||
CALL SINTAX_RET
|
||
CALL AUTO_18AB
|
||
JP AUTO_1921
|
||
AUTO_1842:
|
||
LD HL,(CH_ADR)
|
||
INC HL
|
||
LD A,(HL)
|
||
CP 13
|
||
RET Z
|
||
LD A,1
|
||
LD (DOS_ERROR),A
|
||
CALL AUTO_1DEB
|
||
AUTO_1852:
|
||
XOR A
|
||
LD (ERR_3D00),A
|
||
RET
|
||
AUTO_1857:
|
||
CALL AUTO_102E
|
||
LD A,'B'
|
||
CP B
|
||
JR NZ,AUTO_1866
|
||
LD HL,(CH_ADR)
|
||
DEC HL
|
||
LD (CH_ADR),HL
|
||
AUTO_1866:
|
||
CALL AUTO_1DEB
|
||
LD HL,(DOS_CH_ADR)
|
||
LD (MED_START),HL
|
||
LD HL,(MED_LEN)
|
||
LD (DOS_CH_ADR),HL
|
||
XOR A
|
||
LD (DOS_ERROR),A
|
||
RET
|
||
AUTO_187A:
|
||
CALL TEST_CR
|
||
JP Z,AUTO_027B
|
||
CALL INPUT_TXT
|
||
CALL AUTO_0572
|
||
CALL NZ,AUTO_1857
|
||
CALL AUTO_1D8C
|
||
CP 175
|
||
CALL Z,AUTO_1842
|
||
CP 228
|
||
PUSH AF
|
||
CALL AUTO_0572
|
||
CALL Z,AUTO_102E
|
||
POP AF
|
||
CALL Z,AUTO_1BFC
|
||
CALL SINTAX_RET
|
||
CALL AUTO_292F
|
||
AUTO_18A4:
|
||
JP NZ,AUTO_03D9
|
||
CALL AUTO_165D
|
||
RET
|
||
AUTO_18AB:
|
||
CALL TYPE_FL_X00
|
||
OR A
|
||
LD HL,(FL_START)
|
||
JR Z,AUTO_18B7
|
||
LD HL,(DOS_CH_ADR)
|
||
AUTO_18B7:
|
||
LD DE,(FL_PLACE)
|
||
CP 3
|
||
LD A,(FL_SIZE)
|
||
PUSH DE
|
||
LD DE,(FL_LEN)
|
||
JR NZ,AUTO_18CB
|
||
LD DE,(MED_LEN)
|
||
AUTO_18CB:
|
||
LD B,A
|
||
LD (MED_LEN),DE
|
||
LD A,(FL_TYPE)
|
||
CP 'C'
|
||
LD A,B
|
||
JR NZ,AUTO_18FD
|
||
LD A,B
|
||
CP D
|
||
JR Z,AUTO_18F6
|
||
DEC A
|
||
CP D
|
||
LD A,B
|
||
JR Z,AUTO_18F6
|
||
LD A,(DOS_ERROR)
|
||
CP 3
|
||
LD A,B
|
||
JR Z,AUTO_18F6
|
||
XOR A
|
||
LD (DOS_ERROR),A
|
||
LD D,B
|
||
LD E,0
|
||
LD (MED_LEN),DE
|
||
JR AUTO_18F9
|
||
AUTO_18F6:
|
||
CALL AUTO_191B
|
||
AUTO_18F9:
|
||
LD A,B
|
||
CALL AUTO_1EAC
|
||
AUTO_18FD:
|
||
LD B,A
|
||
LD A,(FL_TYPE)
|
||
CP 'C'
|
||
POP DE
|
||
RET Z
|
||
PUSH DE
|
||
CP 'B'
|
||
PUSH AF
|
||
CALL Z,AUTO_1A01
|
||
POP AF
|
||
CP 'D'
|
||
CALL Z,AUTO_1A4C
|
||
CALL AUTO_191B
|
||
LD A,(MED_LEN+1)
|
||
LD B,A
|
||
POP DE
|
||
RET
|
||
AUTO_191B:
|
||
LD A,3
|
||
LD (DOS_ERROR),A
|
||
RET
|
||
AUTO_1921:
|
||
CALL AUTO_0572
|
||
JR Z,AUTO_192D
|
||
PUSH AF
|
||
CALL AUTO_1A94
|
||
POP AF
|
||
CP 255
|
||
AUTO_192D:
|
||
PUSH AF
|
||
CALL Z,AUTO_195C
|
||
POP AF
|
||
JR Z,AUTO_1937
|
||
JP WRITE_DISK
|
||
AUTO_1937:
|
||
LD A,(DOS_ERROR)
|
||
CP 3
|
||
CALL Z,AUTO_1946
|
||
LD HL,(E_LINE)
|
||
DEC HL
|
||
LD (HL),128
|
||
RET
|
||
AUTO_1946:
|
||
LD A,(DISK_2_FLG)
|
||
CP 255
|
||
JP NZ,AUTO_2FDE
|
||
LD A,(MED_LEN)
|
||
OR A
|
||
RET Z
|
||
LD C,A
|
||
LD B,1
|
||
LD DE,(CONT_SEC)
|
||
JR AUTO_196A
|
||
AUTO_195C:
|
||
LD A,(DISK_2_FLG)
|
||
CP 255
|
||
JP NZ,READ_DISK
|
||
LD (CONT_SEC),DE
|
||
LD C,0
|
||
AUTO_196A:
|
||
LD A,B
|
||
OR A
|
||
RET Z
|
||
LD (MED_START),HL
|
||
LD (DOS_CH_ADR),DE
|
||
AUTO_1974:
|
||
PUSH BC
|
||
LD B,1
|
||
LD DE,(DOS_CH_ADR)
|
||
LD HL,BUFER
|
||
CALL READ_DISK
|
||
LD HL,(CONT_SEC)
|
||
LD (DOS_CH_ADR),HL
|
||
POP BC
|
||
LD HL,(MED_START)
|
||
LD DE,BUFER
|
||
AUTO_198E:
|
||
LD A,(DE)
|
||
CP (HL)
|
||
JR NZ,AUTO_199D
|
||
INC HL
|
||
INC DE
|
||
DEC C
|
||
JR NZ,AUTO_198E
|
||
LD (MED_START),HL
|
||
DJNZ AUTO_1974
|
||
RET
|
||
AUTO_199D:
|
||
LD HL,AUTO_276B
|
||
LD A,13
|
||
JP AUTO_1C4A
|
||
;
|
||
;
|
||
;
|
||
CMD_PEEK:
|
||
LD A,255
|
||
JR AUTO_19AB
|
||
;
|
||
;
|
||
;
|
||
CMD_POKE:
|
||
LD A,238
|
||
AUTO_19AB:
|
||
LD (ERR_3D00),A
|
||
JP AUTO_1818
|
||
;
|
||
;
|
||
;
|
||
CMD_MERGE:
|
||
LD A,255
|
||
LD (FL_NUMBER+1),A
|
||
CALL AUTO_187A
|
||
CALL SINTAX_RET
|
||
LD A,(FL_TYPE)
|
||
CP 'B'
|
||
JP NZ,CMD_ERROR
|
||
LD BC,(FL_START)
|
||
LD (MED_LEN),BC
|
||
PUSH BC
|
||
INC BC
|
||
RST RST20
|
||
DW 00030H
|
||
AUTO_19D1:
|
||
LD (HL),128
|
||
EX DE,HL
|
||
POP DE
|
||
PUSH HL
|
||
LD DE,(FL_PLACE)
|
||
CALL AUTO_191B
|
||
LD A,(MED_LEN+1)
|
||
LD B,A
|
||
CALL AUTO_1852
|
||
CALL AUTO_1921
|
||
POP HL
|
||
LD DE,(BAS_PROG)
|
||
RST RST20
|
||
DW 008D2H
|
||
JP AUTO_03E1
|
||
AUTO_19F2:
|
||
EX DE,HL
|
||
SCF
|
||
SBC HL,DE
|
||
RET C
|
||
LD DE,CONT_1+1
|
||
ADD HL,DE
|
||
LD B,H
|
||
LD C,L
|
||
AUTO_19FD:
|
||
RST RST20
|
||
DW 01F05H
|
||
RET
|
||
AUTO_1A01:
|
||
LD DE,(BAS_PROG)
|
||
LD HL,(E_LINE)
|
||
DEC HL
|
||
PUSH HL
|
||
PUSH DE
|
||
SBC HL,DE
|
||
LD DE,(FL_START)
|
||
PUSH DE
|
||
PUSH HL
|
||
LD HL,START
|
||
LD A,(DISK_2_FLG)
|
||
CP 255
|
||
JR Z,AUTO_1A20
|
||
LD HL,START+5
|
||
AUTO_1A20:
|
||
ADD HL,DE
|
||
LD (MED_LEN),HL
|
||
POP HL
|
||
LD A,(DISK_2_FLG)
|
||
CP 255
|
||
JR NZ,AUTO_1A31
|
||
POP DE
|
||
POP DE
|
||
POP HL
|
||
JR AUTO_1A48
|
||
AUTO_1A31:
|
||
CALL AUTO_19F2
|
||
POP BC
|
||
POP DE
|
||
POP HL
|
||
PUSH BC
|
||
RST RST20
|
||
DW 019E5H
|
||
POP BC
|
||
CALL AUTO_1E32
|
||
INC HL
|
||
LD BC,(FL_LEN)
|
||
ADD HL,BC
|
||
LD (BAS_VARS),HL
|
||
AUTO_1A48:
|
||
LD HL,(BAS_PROG)
|
||
RET
|
||
AUTO_1A4C:
|
||
LD DE,(FL_LEN)
|
||
LD (MED_LEN),DE
|
||
LD HL,(MED_START)
|
||
LD A,(DISK_2_FLG)
|
||
CP 255
|
||
RET Z
|
||
LD HL,(DOS_CH_ADR)
|
||
PUSH HL
|
||
CALL AUTO_19F2
|
||
POP HL
|
||
LD A,H
|
||
OR L
|
||
JR Z,AUTO_1A79
|
||
LD HL,(MED_START)
|
||
DEC HL
|
||
DEC HL
|
||
DEC HL
|
||
LD BC,(DOS_CH_ADR)
|
||
INC BC
|
||
INC BC
|
||
INC BC
|
||
CALL AUTO_1E2E
|
||
AUTO_1A79:
|
||
LD HL,(E_LINE)
|
||
DEC HL
|
||
LD BC,(FL_LEN)
|
||
PUSH BC
|
||
INC BC
|
||
INC BC
|
||
INC BC
|
||
CALL AUTO_1E32
|
||
INC HL
|
||
LD A,(AUTO_5CD2)
|
||
LD (HL),A
|
||
INC HL
|
||
POP DE
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
INC HL
|
||
RET
|
||
AUTO_1A94:
|
||
LD A,(DOS_CH_ADR)
|
||
LD C,B
|
||
LD B,A
|
||
LD A,C
|
||
CP B
|
||
JR C,AUTO_1AB6
|
||
LD A,B
|
||
OR A
|
||
JP Z,CMD_ERROR
|
||
DEC B
|
||
JR Z,AUTO_1AB0
|
||
LD A,16
|
||
AUTO_1AA7:
|
||
INC E
|
||
CP E
|
||
JR NZ,AUTO_1AAE
|
||
LD E,0
|
||
INC D
|
||
AUTO_1AAE:
|
||
DJNZ AUTO_1AA7
|
||
AUTO_1AB0:
|
||
LD B,1
|
||
LD HL,(MED_START)
|
||
RET
|
||
AUTO_1AB6:
|
||
LD HL,AUTO_29ED
|
||
LD A,5
|
||
JP AUTO_1C4A
|
||
AUTO_1ABE:
|
||
CALL AUTO_292F
|
||
CALL Z,SET_7_TYPE
|
||
AUTO_1AC4:
|
||
CALL AUTO_03FD
|
||
LD A,(N_FILES)
|
||
CP 128
|
||
JP Z,AUTO_2723
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_SAVE:
|
||
CALL AUTO_1852
|
||
LD HL,START
|
||
LD (AUTO_5CD1),HL
|
||
CALL INPUT_TXT
|
||
CALL AUTO_1D8C
|
||
CP 175
|
||
JR Z,AUTO_1B39
|
||
CP 202
|
||
JR NZ,AUTO_1AF8
|
||
CALL AUTO_1E0B
|
||
CALL SINTAX_RET
|
||
LD HL,(MED_LEN)
|
||
LD (AUTO_5CD1),HL
|
||
LD HL,FL_TYPE
|
||
JR AUTO_1B1F
|
||
AUTO_1AF8:
|
||
CP 170
|
||
JR NZ,AUTO_1B0D
|
||
LD HL,AUTO_4000
|
||
DB 34
|
||
AUTO_1B00:
|
||
RST RST10
|
||
LD E,H
|
||
LD HL,AUTO_1B00
|
||
LD (DOS_CH_ADR),HL
|
||
LD (MED_LEN),HL
|
||
JR AUTO_1B48
|
||
AUTO_1B0D:
|
||
CALL SINTAX_RET
|
||
CALL AUTO_1D8C
|
||
LD HL,FL_TYPE
|
||
CP 228
|
||
JR Z,AUTO_1B2C
|
||
CP 13
|
||
JP NZ,CMD_ERROR
|
||
AUTO_1B1F:
|
||
LD (HL),'B'
|
||
CALL AUTO_1ABE
|
||
CALL AUTO_1E1C
|
||
AUTO_1B27:
|
||
CALL AUTO_1BDE
|
||
JR AUTO_1B53
|
||
AUTO_1B2C:
|
||
LD (HL),'D'
|
||
CALL AUTO_1ABE
|
||
CALL AUTO_1C0F
|
||
JR NC,AUTO_1B53
|
||
JP C,CMD_ERROR
|
||
AUTO_1B39:
|
||
CALL AUTO_1DE5
|
||
LD HL,(DOS_CH_ADR)
|
||
LD (MED_START),HL
|
||
LD HL,(MED_LEN)
|
||
LD (DOS_CH_ADR),HL
|
||
AUTO_1B48:
|
||
CALL SINTAX_RET
|
||
LD A,'C'
|
||
LD (FL_TYPE),A
|
||
CALL AUTO_1ABE
|
||
AUTO_1B53:
|
||
CALL OWERWR_X01
|
||
JP AUTO_0569
|
||
AUTO_1B59:
|
||
LD HL,(MED_START)
|
||
LD (FL_START),HL
|
||
EX DE,HL
|
||
LD HL,(DOS_CH_ADR)
|
||
LD A,L
|
||
OR H
|
||
JP Z,CMD_ERROR
|
||
LD A,L
|
||
OR A
|
||
JR Z,AUTO_1B6D
|
||
INC H
|
||
AUTO_1B6D:
|
||
LD A,H
|
||
LD (FL_SIZE),A
|
||
LD E,A
|
||
LD D,0
|
||
DB 42,10
|
||
AUTO_1B76:
|
||
LD E,(HL)
|
||
SBC HL,DE
|
||
JP C,AUTO_1C45
|
||
PUSH HL
|
||
LD HL,(E_LINE)
|
||
LD (HL),170
|
||
INC HL
|
||
LD DE,(AUTO_5CD1)
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
LD HL,(MED_LEN)
|
||
LD (FL_LEN),HL
|
||
LD HL,(CLEAR_SEC)
|
||
LD (FL_PLACE),HL
|
||
EX DE,HL
|
||
LD HL,(FL_START)
|
||
LD A,(FL_SIZE)
|
||
LD B,A
|
||
CALL WRITE_DISK
|
||
LD HL,(CONT_SEC)
|
||
PUSH HL
|
||
CALL AUTO_03FD
|
||
POP HL
|
||
LD (CLEAR_SEC),HL
|
||
POP HL
|
||
LD (FREE_SEC),HL
|
||
LD HL,N_FILES
|
||
LD A,(HL)
|
||
LD (FL_NUMBER),A
|
||
INC (HL)
|
||
PUSH HL
|
||
CALL AUTO_1E43
|
||
POP HL
|
||
LD C,(HL)
|
||
DEC C
|
||
AUTO_1BBF:
|
||
LD A,(FL_TYPE)
|
||
CP 'B'
|
||
CALL Z,AUTO_1BC8
|
||
RET
|
||
AUTO_1BC8:
|
||
LD HL,(E_LINE)
|
||
LD DE,(BAS_PROG)
|
||
SCF
|
||
SBC HL,DE
|
||
LD (FL_START),HL
|
||
LD HL,(BAS_VARS)
|
||
SBC HL,DE
|
||
LD (FL_LEN),HL
|
||
RET
|
||
AUTO_1BDE:
|
||
LD HL,(BAS_VARS)
|
||
LD DE,(BAS_PROG)
|
||
SBC HL,DE
|
||
LD (MED_LEN),HL
|
||
LD HL,(BAS_PROG)
|
||
LD (MED_START),HL
|
||
LD HL,(E_LINE)
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
SBC HL,DE
|
||
LD (DOS_CH_ADR),HL
|
||
RET
|
||
AUTO_1BFC:
|
||
CALL AUTO_1C1B
|
||
RET NC
|
||
LD HL,START
|
||
LD (DOS_CH_ADR),HL
|
||
LD A,(DISK_2_FLG)
|
||
CP 255
|
||
RET NZ
|
||
JP AUTO_1C13
|
||
AUTO_1C0F:
|
||
CALL AUTO_1C1B
|
||
RET NC
|
||
AUTO_1C13:
|
||
LD A,14
|
||
LD HL,AUTO_27DD
|
||
JP AUTO_1C4A
|
||
AUTO_1C1B:
|
||
CALL BASIC_RST20
|
||
CALL AUTO_1D9B
|
||
SET 7,C
|
||
LD A,C
|
||
LD (AUTO_5CD2),A
|
||
JR NC,AUTO_1C2B
|
||
AUTO_1C29:
|
||
SCF
|
||
RET
|
||
AUTO_1C2B:
|
||
JR NZ,AUTO_1C29
|
||
INC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
INC HL
|
||
LD (MED_START),HL
|
||
LD (MED_LEN),DE
|
||
LD (DOS_CH_ADR),DE
|
||
CALL BASIC_RST20
|
||
CP ')'
|
||
JR NZ,AUTO_1C2B
|
||
RET
|
||
AUTO_1C45:
|
||
LD HL,AUTO_29BB
|
||
LD A,3
|
||
AUTO_1C4A:
|
||
CALL AUTO_03C3
|
||
JP AUTO_01D3
|
||
AUTO_1C50:
|
||
LD HL,AUTO_29C5
|
||
LD A,2
|
||
JR AUTO_1C4A
|
||
AUTO_1C57:
|
||
LD HL,FL_NAME
|
||
LD B,8
|
||
AUTO_1C5C:
|
||
LD (HL),' '
|
||
INC HL
|
||
DJNZ AUTO_1C5C
|
||
CALL AUTO_0531
|
||
EX DE,HL
|
||
CALL SET_DRIVE
|
||
LD A,C
|
||
OR A
|
||
JP Z,CMD_ERROR
|
||
CP 9
|
||
JR C,AUTO_1C73
|
||
LD C,8
|
||
AUTO_1C73:
|
||
LD A,(HL)
|
||
CP ' '
|
||
JP C,CMD_ERROR
|
||
LD DE,FL_NAME
|
||
PUSH BC
|
||
LDIR
|
||
POP BC
|
||
RET
|
||
SET_DRIVE:
|
||
INC HL
|
||
LD A,(HL)
|
||
CP ':'
|
||
JR NZ,AUTO_1C98
|
||
DEC HL
|
||
LD A,(HL)
|
||
CALL GET_DISK
|
||
|
||
PUSH BC
|
||
PUSH HL
|
||
CALL SET_DISK
|
||
POP HL
|
||
POP BC
|
||
|
||
DEC BC
|
||
DEC BC
|
||
INC HL
|
||
INC HL
|
||
RET
|
||
AUTO_1C98:
|
||
DEC HL
|
||
LD A,(CONT_DISK)
|
||
|
||
PUSH BC
|
||
PUSH HL
|
||
CALL SET_DISK
|
||
POP HL
|
||
POP BC
|
||
RET
|
||
AUTO_1CA4:
|
||
LD L,C
|
||
LD H,0
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
LD BC,BUFER
|
||
ADD HL,BC
|
||
RET
|
||
AUTO_1CB0:
|
||
CALL AUTO_1C57
|
||
AUTO_1CB3:
|
||
CALL AUTO_03E8
|
||
LD B,128
|
||
LD C,0
|
||
AUTO_1CBA:
|
||
PUSH BC
|
||
CALL AUTO_1CA4
|
||
CALL AUTO_050C
|
||
POP BC
|
||
PUSH BC
|
||
LD A,C
|
||
CP 16
|
||
JR NZ,AUTO_1CCD
|
||
POP BC
|
||
LD C,0
|
||
JR AUTO_1CBA
|
||
AUTO_1CCD:
|
||
LD DE,FL_NAME
|
||
LD A,(S_NAME_NUM)
|
||
LD B,A
|
||
XOR A
|
||
CP (HL)
|
||
JR NZ,AUTO_1CDB
|
||
POP BC
|
||
JR AUTO_1CE4
|
||
AUTO_1CDB:
|
||
CALL AUTO_2713
|
||
POP BC
|
||
JR Z,AUTO_1CE7
|
||
INC C
|
||
DJNZ AUTO_1CBA
|
||
AUTO_1CE4:
|
||
OR 255
|
||
RET
|
||
AUTO_1CE7:
|
||
LD A,128
|
||
SUB B
|
||
LD C,A
|
||
LD (FL_NUMBER),A
|
||
XOR A
|
||
RET Z
|
||
AUTO_1CF0:
|
||
CALL AUTO_1CB3
|
||
LD HL,DOS_ERR_2
|
||
LD (HL),C
|
||
RET Z
|
||
LD (HL),255
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_RETURN:
|
||
CALL SINTAX_RET
|
||
CALL AUTO_20E5
|
||
RES 3,(IY+1)
|
||
CALL AUTO_0232
|
||
LD SP,(DOS_SP)
|
||
LD HL,(ERR_SP)
|
||
DEC HL
|
||
LD A,18
|
||
CP (HL)
|
||
JR NZ,AUTO_1D19
|
||
DEC HL
|
||
LD (ERR_SP),HL
|
||
AUTO_1D19:
|
||
RET
|
||
CMD_ERROR:
|
||
BIT 7,(IY+0)
|
||
JR Z,AUTO_1D25
|
||
LD A,11
|
||
LD (ERR_NR),A
|
||
AUTO_1D25:
|
||
INC A
|
||
LD HL,AUTO_29B2
|
||
ERR_EXIT:
|
||
CALL AUTO_03C3
|
||
JP AUTO_01D3
|
||
AUTO_1D2F:
|
||
LD A,(ERR_NR)
|
||
LD HL,AUTO_27CA
|
||
CP 20
|
||
JR Z,ERR_EXIT
|
||
CP 12
|
||
JR Z,ERR_EXIT
|
||
LD HL,AUTO_27D2
|
||
CP 3
|
||
JR Z,ERR_EXIT
|
||
LD HL,AUTO_27DD
|
||
CP 1
|
||
JR Z,ERR_EXIT
|
||
JR CMD_ERROR
|
||
;
|
||
;
|
||
;
|
||
CMD_RUN:
|
||
CALL AUTO_1852
|
||
CALL AUTO_1836
|
||
CALL SINTAX_RET
|
||
LD HL,(FL_START)
|
||
LD A,(FL_TYPE)
|
||
CP 'B'
|
||
JP Z,AUTO_012A
|
||
PUSH HL
|
||
RET
|
||
AUTO_1D63:
|
||
LD HL,BAS_DOS_FLG
|
||
LD A,(HL)
|
||
DB 254
|
||
AUTO_1D68:
|
||
RST R38
|
||
LD (HL),0
|
||
RET NZ
|
||
RST RST20
|
||
DW 016BFH
|
||
RET
|
||
AUTO_1D70:
|
||
BIT 7,(IY+1)
|
||
RET
|
||
SINTAX_RET:
|
||
CALL AUTO_1D70
|
||
RET NZ
|
||
POP HL
|
||
RET
|
||
AUTO_1D7B:
|
||
CALL BASIC_RST20
|
||
CALL AUTO_1DC1
|
||
JR AUTO_1D70
|
||
OPEN_CH0:
|
||
XOR A
|
||
AUTO_1D84:
|
||
RST RST20
|
||
DW 01601H
|
||
RET
|
||
OPEN_CH2:
|
||
LD A,2
|
||
JR AUTO_1D84
|
||
AUTO_1D8C:
|
||
RST RST20
|
||
DW 00018H
|
||
AUTO_1D8F:
|
||
RET
|
||
CALL OPEN_CH0
|
||
RST RST20
|
||
DW 00F2CH
|
||
RET
|
||
AUTO_1D97:
|
||
RST RST20
|
||
DW 00D6BH
|
||
RET
|
||
AUTO_1D9B:
|
||
RST RST20
|
||
DW 028B2H
|
||
RET
|
||
AUTO_1D9F:
|
||
RST RST20
|
||
DW 00D6EH
|
||
RET
|
||
AUTO_1DA3:
|
||
LD C,A
|
||
AUTO_1DA4:
|
||
LD B,0
|
||
JP AUTO_1DA9
|
||
AUTO_1DA9:
|
||
PUSH BC
|
||
CALL xchg_intf1
|
||
POP BC
|
||
RST RST20
|
||
DW 01A1BH
|
||
CALL xchg_intf1
|
||
RET
|
||
BAS_2BF1:
|
||
RST RST20
|
||
DW 02BF1H
|
||
RET
|
||
AUTO_1DB9:
|
||
RST RST20
|
||
DW 01E99H
|
||
RET
|
||
AUTO_1DBD:
|
||
RST RST20
|
||
DW 01C8CH
|
||
RET
|
||
AUTO_1DC1:
|
||
RST RST20
|
||
DW 01C82H
|
||
RET
|
||
AUTO_1DC5:
|
||
LD HL,(ADR_DOS_COM)
|
||
AUTO_1DC8:
|
||
INC HL
|
||
LD (CH_ADR),HL
|
||
RET
|
||
AUTO_1DCD:
|
||
CALL INPUT_TXT
|
||
AUTO_1DD0:
|
||
CALL AUTO_1D8C
|
||
CP ','
|
||
JP NZ,CMD_ERROR
|
||
CALL BASIC_RST20
|
||
CALL AUTO_1DBD
|
||
RET
|
||
INPUT_TXT:
|
||
CALL AUTO_1DC5
|
||
JP AUTO_1DBD
|
||
AUTO_1DE5:
|
||
CALL AUTO_1D8C
|
||
CP 175
|
||
RET NZ
|
||
AUTO_1DEB:
|
||
CALL AUTO_1D7B
|
||
JR Z,AUTO_1DFB
|
||
CALL AUTO_1DB9
|
||
LD (DOS_CH_ADR),BC
|
||
LD (MED_LEN),BC
|
||
AUTO_1DFB:
|
||
CALL AUTO_1D8C
|
||
CP ','
|
||
JR Z,AUTO_1E0B
|
||
CP 13
|
||
JP NZ,CMD_ERROR
|
||
CALL SINTAX_RET
|
||
RET
|
||
AUTO_1E0B:
|
||
CALL AUTO_1D7B
|
||
RET Z
|
||
CALL AUTO_1DB9
|
||
LD (MED_LEN),BC
|
||
LD A,3
|
||
LD (DOS_ERROR),A
|
||
RET
|
||
AUTO_1E1C:
|
||
LD HL,(ADR_DOS_COM)
|
||
RST RST20
|
||
DW 011A7H
|
||
RET
|
||
AUTO_1E23:
|
||
LD HL,(WORK_SP)
|
||
RST RST20
|
||
DW 00030H
|
||
AUTO_1E29:
|
||
RET
|
||
BASIC_RST20:
|
||
RST RST20
|
||
DW 00020H
|
||
AUTO_1E2D:
|
||
RET
|
||
AUTO_1E2E:
|
||
RST RST20
|
||
DW 019E8H
|
||
RET
|
||
AUTO_1E32:
|
||
RST RST20
|
||
DW 01655H
|
||
RET
|
||
READ_TRK_NUM:
|
||
CALL READ_ADR_LABL
|
||
LD A,H
|
||
OUT (WG_TRK),A
|
||
RET
|
||
READ_DISK:
|
||
XOR A
|
||
JR AUTO_1E64
|
||
AUTO_1E40:
|
||
CALL AUTO_166B
|
||
AUTO_1E43:
|
||
LD DE,(CONT_SEC)
|
||
DEC DE
|
||
LD B,1
|
||
LD HL,BUFER
|
||
WRITE_DISK:
|
||
PUSH HL
|
||
PUSH DE
|
||
CALL get_disk_type
|
||
BIT 7,(HL)
|
||
JR Z,AUTO_1E60
|
||
BIT 0,(HL)
|
||
JR NZ,AUTO_1E60
|
||
LD HL,READ_ONLY_MSG
|
||
JP ERR_EXIT
|
||
AUTO_1E60:
|
||
POP DE
|
||
POP HL
|
||
AUTO_1E62:
|
||
LD A,255
|
||
AUTO_1E64:
|
||
LD (RD_WR_COM),A
|
||
AUTO_1E67:
|
||
LD (CONT_SEC),DE
|
||
JP R_W_REDIR
|
||
|
||
LD (HL),30 ; <20>… ¨á¯. !!!
|
||
|
||
AUTO_1E70:
|
||
POP HL
|
||
POP BC
|
||
XOR A
|
||
OR B
|
||
RET Z
|
||
AUTO_1E75:
|
||
PUSH BC
|
||
PUSH HL
|
||
CALL save_bufer
|
||
LD A,(CONT_SEC)
|
||
CALL save_sector
|
||
LD A,(CONT_TRK)
|
||
CALL Global_trk
|
||
LD A,(RD_WR_COM)
|
||
OR A
|
||
PUSH AF
|
||
CALL Z,AUTO_3F0E
|
||
POP AF
|
||
CALL NZ,AUTO_3F0A
|
||
POP HL
|
||
LD DE,AUTO_0100
|
||
ADD HL,DE
|
||
PUSH HL
|
||
LD A,16
|
||
LD HL,CONT_SEC
|
||
INC (HL)
|
||
CP (HL)
|
||
JR NZ,AUTO_1EA7
|
||
LD (HL),0
|
||
LD HL,CONT_TRK
|
||
INC (HL)
|
||
AUTO_1EA7:
|
||
POP HL
|
||
POP BC
|
||
DJNZ AUTO_1E75
|
||
RET
|
||
AUTO_1EAC:
|
||
PUSH HL
|
||
LD H,A
|
||
LD L,0
|
||
PUSH HL
|
||
SBC HL,DE
|
||
CALL C,AUTO_1EBC
|
||
POP HL
|
||
LD A,H
|
||
POP HL
|
||
RET C
|
||
LD A,D
|
||
RET
|
||
AUTO_1EBC:
|
||
XOR A
|
||
LD (DOS_ERROR),A
|
||
SCF
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_FORMAT:
|
||
LD HL,START
|
||
LD (MED_START),HL
|
||
LD (DOS_CH_ADR),HL
|
||
LD (AUTO_5CD1),HL
|
||
CALL TEST_CR
|
||
JP Z,CMD_ERROR ; FORMATER ; !!!!! ( CMD_ERROR )
|
||
CALL FORM_STATE ; 1/2/3 INPUT_TXT
|
||
CALL SINTAX_RET
|
||
CALL FORM_X03
|
||
JP RAMD_X14
|
||
AUTO_1EE0:
|
||
AND 128
|
||
LD A,'('
|
||
JR Z,AUTO_1EE8
|
||
LD A,'P'
|
||
AUTO_1EE8:
|
||
LD (MED_START),A
|
||
CALL AUTO_3D98
|
||
CALL set_side_1
|
||
CALL pause_750ms
|
||
LD E,1
|
||
CALL AUTO_1FFD
|
||
CALL set_side_0
|
||
LD E,0
|
||
CALL AUTO_1FFD
|
||
LD A,(FL_NAME)
|
||
CP '$'
|
||
JR Z,AUTO_1F1B
|
||
CALL set_side_1
|
||
CALL pause_750ms
|
||
CALL READ_ADR_LABL2
|
||
LD A,H
|
||
CP 1
|
||
JR NZ,AUTO_1F1B
|
||
LD A,128
|
||
LD (DOS_CH_ADR+1),A
|
||
AUTO_1F1B:
|
||
CALL FORM_X02 ; ä®à¬ â¨à®¢ ¨¥ !!!
|
||
LD HL,BUFER
|
||
LD (HL),0
|
||
LD DE,BUFER+1
|
||
LD BC,0FFh
|
||
LDIR
|
||
LD BC,MED_START
|
||
LD DE,DOS_CH_ADR+1
|
||
LD A,(BC)
|
||
CP 'P'
|
||
JR Z,AUTO_1F49
|
||
LD A,(DE)
|
||
CP 128
|
||
JR Z,AUTO_1F42
|
||
LD A,25
|
||
LD HL,0270H
|
||
JR AUTO_1F55
|
||
AUTO_1F42:
|
||
LD A,23
|
||
AUTO_1F44:
|
||
LD HL,04F0h
|
||
JR AUTO_1F55
|
||
AUTO_1F49:
|
||
LD A,(DE)
|
||
CP 128
|
||
LD A,24
|
||
JR NZ,AUTO_1F44
|
||
LD A,22
|
||
LD HL,09F0h
|
||
AUTO_1F55:
|
||
LD (TYPE_DISK),A
|
||
LD (FREE_SEC),HL
|
||
LD A,1
|
||
LD (CLEAR_TRK),A
|
||
LD A,16
|
||
LD (CODE_10H),A
|
||
LD HL,DISK_MRK_1
|
||
LD DE,DISK_ALT_NM
|
||
LD BC,RST08
|
||
LD (HL),' '
|
||
LDIR
|
||
LD HL,FL_NAME
|
||
LD DE,DISK_NAME
|
||
LD BC,RST08
|
||
LDIR
|
||
CALL set_side_0
|
||
LD B,1
|
||
LD DE,8
|
||
LD HL,BUFER
|
||
CALL AUTO_1E62
|
||
LD A,(DOS_ERROR)
|
||
PUSH AF
|
||
XOR A
|
||
LD (FL_TYPE),A
|
||
LD HL,(FREE_SEC)
|
||
LD (MED_START),HL
|
||
LD HL,FL_NAME
|
||
RST PRINT_LN
|
||
LD A,13
|
||
RST RST10
|
||
LD HL,(MED_START)
|
||
POP AF
|
||
PUSH HL
|
||
LD D,0
|
||
LD E,A
|
||
SBC HL,DE
|
||
LD B,H
|
||
LD C,L
|
||
CALL AUTO_1DA9
|
||
LD A,'/'
|
||
RST RST10
|
||
POP BC
|
||
CALL AUTO_1DA9
|
||
JP AUTO_01D3
|
||
AUTO_1FB9:
|
||
DB 1,9,2,10,3,11,4,12,5,13,6,14,7,15,8
|
||
DB 16,1
|
||
test_d_traks:
|
||
CALL get_disk_time
|
||
OR 17
|
||
LD B,A
|
||
LD A,'2'
|
||
CALL Goto_trk
|
||
LD A,2
|
||
CALL Goto_trk
|
||
CALL pause_50ms
|
||
IN A,(WG_COM)
|
||
AND 4
|
||
LD A,'P'
|
||
JR Z,AUTO_1FE7
|
||
LD A,'('
|
||
AUTO_1FE7:
|
||
LD (MED_START),A
|
||
RET
|
||
set_side_0:
|
||
LD A,(PDOS_COPY)
|
||
OR '<' ; 3C - áâ®à® 0 3C..3F
|
||
AUTO_1FF0:
|
||
LD (PDOS_COPY),A
|
||
OUT (P_DOS_FF),A
|
||
RET
|
||
set_side_1:
|
||
LD A,(PDOS_COPY)
|
||
AND 'o' ; 06Fh - áâ®à® 1 2C..2F
|
||
JR AUTO_1FF0 ; ld a,(pdos_copy)
|
||
AUTO_1FFD: ; add a,0C0h
|
||
DI ; ld d,0
|
||
LD A,244 ; rl d
|
||
AUTO_2000: ;
|
||
OUT (WG_COM),A ;
|
||
LD HL,(FL_START) ;
|
||
LD C,127
|
||
|
||
|
||
;////////////////////////////////////
|
||
|
||
AUTO_2007:
|
||
LD B,3Eh ; ¯¥à¢ë© ¯à®¡¥«
|
||
LD D,'N'
|
||
CALL AUTO_20B1
|
||
FORM_TR_LOOP:
|
||
LD B,12
|
||
LD D,0
|
||
CALL AUTO_20B1
|
||
LD B,3
|
||
LD D,245 ; á¨åà®
|
||
CALL AUTO_20B1
|
||
LD D,254 ; ¤à¥á ï ¬¥âª
|
||
CALL AUTO_20AF
|
||
LD D,E ; â४
|
||
CALL AUTO_20AF
|
||
LD D,0 ; áâ®à®
|
||
CALL SIDE_FORMAT
|
||
LD D,(HL) ; ᥪâ®à
|
||
CALL AUTO_20AF
|
||
LD D,1 ; ¤«¨ - 256
|
||
CALL AUTO_20AF
|
||
LD D,247 ; ª®â஫ìë© ª®¤
|
||
CALL AUTO_20AF
|
||
LD B,32 ; ¢â®à®© ¯à®¡¥«
|
||
LD D,'N'
|
||
CALL AUTO_20B1
|
||
LD B,12
|
||
LD D,0
|
||
CALL AUTO_20B1
|
||
LD B,3
|
||
LD D,245 ; á¨åà®
|
||
CALL AUTO_20B1
|
||
LD D,251 ; ¬¥âª ¤ ëå
|
||
CALL AUTO_20AF
|
||
LD B,0 ; ¤ ë¥: ¢á¥ 㫨
|
||
LD D,0
|
||
CALL AUTO_20B1
|
||
LD D,247 ; ª®â஫ìë© ª®¤
|
||
CALL AUTO_20AF
|
||
LD B,3Ch ; âà¥â¨© ¯à®¡¥« ???
|
||
LD D,'N'
|
||
CALL AUTO_20B1
|
||
LD A,(HL)
|
||
INC HL
|
||
CP 16 ; ¯à®¢¥àª ¯®á«. ᥪâ®à
|
||
JR NZ,FORM_TR_LOOP ; ¥á«¨ ¥â, â® ¯à®¤®«¦ âì
|
||
IN A,(WG_COM)
|
||
AND '@'
|
||
JP NZ,AUTO_3F39
|
||
LD A,216
|
||
OUT (WG_COM),A
|
||
LD A,208
|
||
OUT (WG_COM),A
|
||
|
||
;//////////////////////////////////////
|
||
|
||
NOP
|
||
NOP
|
||
NOP
|
||
AUTO_207D:
|
||
LD A,(MED_START+1)
|
||
OR A
|
||
RET NZ
|
||
LD C,127
|
||
LD A,E
|
||
OUT (WG_TRK),A
|
||
CALL SUB_HL_14
|
||
AUTO_208A:
|
||
LD B,3
|
||
LD A,(HL)
|
||
OUT (WG_SEC),A
|
||
PUSH HL
|
||
AUTO_2090:
|
||
DI
|
||
LD A,128
|
||
OUT (WG_COM),A
|
||
PUSH BC
|
||
CALL AUTO_3FE5
|
||
IN A,(WG_COM)
|
||
AND 127
|
||
POP BC
|
||
JR Z,AUTO_20A6
|
||
DJNZ AUTO_2090
|
||
LD HL,DOS_ERROR
|
||
INC (HL)
|
||
AUTO_20A6:
|
||
POP HL
|
||
LD A,(HL)
|
||
INC HL
|
||
CP 1
|
||
JR NZ,AUTO_208A
|
||
EI
|
||
RET
|
||
AUTO_20AF:
|
||
LD B,1
|
||
AUTO_20B1:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR Z,AUTO_20B1
|
||
RET M
|
||
OUT (C),D
|
||
DJNZ AUTO_20B1
|
||
RET
|
||
|
||
FORMAT_ALL:
|
||
LD HL,MED_START
|
||
LD B,(HL)
|
||
CALL FORM_F01
|
||
LD E,255
|
||
AUTO_20C6:
|
||
PUSH BC
|
||
INC E
|
||
LD A,E
|
||
LD B,27
|
||
CALL PRINT_TRK
|
||
CALL set_side_0 ; SET SIDE 0
|
||
CALL PRINT_SIDE0 ; FORMATING !
|
||
LD A,(DOS_CH_ADR+1)
|
||
CP 128
|
||
JR NZ,AUTO_20E1
|
||
CALL set_side_1 ; SET SIDE 1
|
||
CALL PRINT_SIDE1 ; FORMATING !
|
||
AUTO_20E1:
|
||
POP BC
|
||
DJNZ AUTO_20C6
|
||
RET
|
||
|
||
AUTO_20E5:
|
||
PUSH AF
|
||
LD A,(DISK_1_FLG)
|
||
CP 255
|
||
JR Z,AUTO_211C
|
||
POP AF
|
||
CALL BUFER_OFF
|
||
xchg_intf1:
|
||
PUSH AF
|
||
LD A,(BEG_ADRESS)
|
||
CP 244
|
||
JR Z,AUTO_211C
|
||
XOR A
|
||
LD HL,INT_1_VAR
|
||
OR (HL)
|
||
LD (HL),255
|
||
JR Z,AUTO_211C
|
||
LD A,(BUF_FLAG)
|
||
OR A
|
||
LD HL,AUTO_5CC3
|
||
LD DE,AUTO_5D33
|
||
JR NZ,AUTO_2111
|
||
LD DE,AUTO_5E34
|
||
AUTO_2111:
|
||
LD B,'-'
|
||
AUTO_2113:
|
||
LD C,(HL)
|
||
LD A,(DE)
|
||
LD (HL),A
|
||
AUTO_2116:
|
||
LD A,C
|
||
LD (DE),A
|
||
INC HL
|
||
INC DE
|
||
DJNZ AUTO_2113
|
||
AUTO_211C:
|
||
POP AF
|
||
RET
|
||
|
||
AUTO_211E:
|
||
LD HL,(E_LINE)
|
||
LD (HL),13
|
||
LD (K_CUR),HL
|
||
INC HL
|
||
LD (HL),128
|
||
RET
|
||
|
||
AUTO_212A:
|
||
LD DE,(E_LINE)
|
||
LD HL,COM_LN_COPY
|
||
CALL AUTO_02B0
|
||
RET
|
||
|
||
INPUT_LINE:
|
||
LD A,(DOS_ERR_2)
|
||
OR A
|
||
PUSH AF
|
||
CALL NZ,AUTO_212A
|
||
POP AF
|
||
CALL Z,AUTO_211E
|
||
LD HL,(E_LINE)
|
||
CALL PRINT_CR
|
||
LD A,(CONT_DISK)
|
||
ADD A,'A'
|
||
RST RST10
|
||
LD A,'>'
|
||
RST RST10
|
||
LD (IY+0),255
|
||
EI
|
||
JP EDIT_X00
|
||
AUTO_2158:
|
||
CALL BASIC_RST20
|
||
CALL AUTO_1D8C
|
||
CP ','
|
||
JP NZ,CMD_ERROR
|
||
LD HL,(MED_LEN)
|
||
LD (DOS_CH_ADR),HL
|
||
CALL AUTO_1E0B
|
||
CALL SINTAX_RET
|
||
LD HL,(MED_LEN)
|
||
LD A,H
|
||
OR A
|
||
JP NZ,CMD_ERROR
|
||
INC HL
|
||
LD (MED_START),HL
|
||
LD HL,(DOS_CH_ADR)
|
||
LD (MED_LEN),HL
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_OPEN:
|
||
LD HL,(ADR_DOS_COM)
|
||
LD (CH_ADR),HL
|
||
CALL AUTO_1E0B
|
||
CALL AUTO_1DD0
|
||
AUTO_218E:
|
||
CALL AUTO_1D8C
|
||
CP 'A'
|
||
JR NC,AUTO_219A
|
||
CALL BASIC_RST20
|
||
JR AUTO_218E
|
||
AUTO_219A:
|
||
CP 165
|
||
PUSH AF
|
||
CALL Z,AUTO_2158
|
||
POP AF
|
||
JR Z,AUTO_21AE
|
||
AND 223
|
||
CP 'R'
|
||
JR Z,AUTO_21AE
|
||
CP 'W'
|
||
JP NZ,CMD_ERROR
|
||
AUTO_21AE:
|
||
LD (VAR_3),A
|
||
CALL SINTAX_RET
|
||
LD A,'#'
|
||
LD (FL_TYPE),A
|
||
LD A,0
|
||
LD (FL_START),A
|
||
CALL AUTO_21DB
|
||
PUSH AF
|
||
CALL AUTO_220F
|
||
POP AF
|
||
PUSH AF
|
||
CALL NZ,AUTO_2288
|
||
POP AF
|
||
CALL AUTO_2242
|
||
LD HL,(ADR_DOS_COM)
|
||
LD BC,AUTO_0124
|
||
ADD HL,BC
|
||
LD (ADR_DOS_COM),HL
|
||
JP AUTO_01D3
|
||
AUTO_21DB:
|
||
LD A,10
|
||
LD (S_NAME_NUM),A
|
||
CALL AUTO_1CB0
|
||
PUSH AF
|
||
CALL RD_HEAD_DSK
|
||
POP AF
|
||
JR NZ,AUTO_2206
|
||
LD A,(VAR_3)
|
||
CP 'R'
|
||
JR Z,AUTO_2201
|
||
AUTO_21F1:
|
||
LD HL,FL_START
|
||
INC (HL)
|
||
CALL AUTO_1CB3
|
||
JR Z,AUTO_21F1
|
||
LD HL,FL_START
|
||
DEC (HL)
|
||
CALL AUTO_1CB3
|
||
AUTO_2201:
|
||
CALL AUTO_165D
|
||
XOR A
|
||
RET
|
||
AUTO_2206:
|
||
LD A,(VAR_3)
|
||
CP 'R'
|
||
RET NZ
|
||
JP AUTO_03D9
|
||
AUTO_220F:
|
||
LD A,(MED_LEN)
|
||
RST RST20
|
||
DW 01727H
|
||
LD A,B
|
||
OR C
|
||
JP NZ,AUTO_221B
|
||
RET
|
||
AUTO_221B:
|
||
LD A,25
|
||
LD (ERR_NR),A
|
||
LD HL,AUTO_2804
|
||
LD A,10
|
||
AUTO_2225:
|
||
JP AUTO_1C4A
|
||
AUTO_2228:
|
||
LD A,11
|
||
LD HL,AUTO_2812
|
||
JR AUTO_2225
|
||
AUTO_222F:
|
||
PUSH HL
|
||
LD C,' '
|
||
RST RST28
|
||
LD A,(MED_START)
|
||
LD (HL),A
|
||
INC HL
|
||
XOR A
|
||
LD (HL),A
|
||
INC HL
|
||
LD (HL),A
|
||
INC HL
|
||
LD (HL),A
|
||
LD A,127
|
||
POP HL
|
||
RET
|
||
AUTO_2242:
|
||
PUSH AF
|
||
CALL AUTO_220F
|
||
EX DE,HL
|
||
LD HL,(BAS_PROG)
|
||
LD BC,(CHANS)
|
||
SBC HL,BC
|
||
EX DE,HL
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
CALL AUTO_22B2
|
||
LD A,(VAR_3)
|
||
CP 165
|
||
CALL Z,AUTO_222F
|
||
JR Z,AUTO_226B
|
||
LD A,(VAR_3)
|
||
CP 'R'
|
||
LD A,255
|
||
JR NZ,AUTO_226B
|
||
XOR A
|
||
AUTO_226B:
|
||
LD (HL),A
|
||
POP AF
|
||
JP AUTO_2270
|
||
AUTO_2270:
|
||
PUSH AF
|
||
LD BC,CONT_2+1
|
||
ADD HL,BC
|
||
PUSH HL
|
||
CALL AUTO_2423
|
||
POP HL
|
||
INC HL
|
||
LD B,1
|
||
POP AF
|
||
OR A
|
||
PUSH AF
|
||
CALL NZ,WRITE_DISK
|
||
POP AF
|
||
CALL Z,READ_DISK
|
||
RET
|
||
AUTO_2288:
|
||
LD HL,(MED_START)
|
||
PUSH HL
|
||
LD HL,AUTO_2000
|
||
LD (MED_START),HL
|
||
CALL AUTO_229A
|
||
POP HL
|
||
LD (MED_START),HL
|
||
RET
|
||
AUTO_229A:
|
||
LD HL,AUTO_1000
|
||
LD (DOS_CH_ADR),HL
|
||
CALL AUTO_1AC4
|
||
CALL AUTO_1B59
|
||
LD HL,START
|
||
LD (FL_LEN),HL
|
||
CALL AUTO_166B
|
||
JP AUTO_1E43
|
||
AUTO_22B2:
|
||
LD HL,(BAS_PROG)
|
||
DEC HL
|
||
LD (CUR_CHL),HL
|
||
PUSH HL
|
||
LD BC,AUTO_0124
|
||
CALL AUTO_1E32
|
||
LD A,0
|
||
LD B,0
|
||
AUTO_22C4:
|
||
LD (DE),A
|
||
DEC DE
|
||
DJNZ AUTO_22C4
|
||
POP HL
|
||
PUSH HL
|
||
LD DE,AUTO_3D0E
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
INC HL
|
||
LD DE,AUTO_3D06
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
INC HL
|
||
LD (HL),'D'
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
LD (HL),'$'
|
||
INC HL
|
||
LD (HL),1
|
||
INC HL
|
||
LD A,(OPER_DISK)
|
||
LD (HL),A
|
||
INC HL
|
||
LD A,(FL_NUMBER)
|
||
LD (HL),A
|
||
INC HL
|
||
LD A,(VAR_3)
|
||
CP 'R'
|
||
LD (HL),0
|
||
JR Z,AUTO_22FC
|
||
LD A,(FL_LEN)
|
||
LD (HL),A
|
||
AUTO_22FC:
|
||
INC HL
|
||
LD (HL),B
|
||
JR Z,AUTO_2304
|
||
LD A,(FL_LEN+1)
|
||
LD (HL),A
|
||
AUTO_2304:
|
||
INC HL
|
||
EX DE,HL
|
||
POP HL
|
||
PUSH DE
|
||
LD DE,RST10
|
||
ADD HL,DE
|
||
EX DE,HL
|
||
LD HL,FL_NAME
|
||
LD BC,RST10
|
||
LDIR
|
||
POP HL
|
||
RET
|
||
AUTO_2317:
|
||
LD C,13
|
||
RST RST28
|
||
LD C,(HL)
|
||
RST RST28
|
||
LD BC,CONT_4
|
||
ADD HL,BC
|
||
RET
|
||
AUTO_2321:
|
||
LD C,'$'
|
||
RST28_EXE:
|
||
LD B,0
|
||
LD HL,(CUR_CHL)
|
||
ADD HL,BC
|
||
RET
|
||
AUTO_232A:
|
||
LD C,13
|
||
RST RST28
|
||
INC (HL)
|
||
RET NZ
|
||
PUSH HL
|
||
CALL AUTO_2443
|
||
CALL AUTO_23FC
|
||
POP HL
|
||
INC HL
|
||
INC (HL)
|
||
PUSH HL
|
||
CALL AUTO_2418
|
||
POP HL
|
||
LD A,16
|
||
CP (HL)
|
||
RET NZ
|
||
PUSH HL
|
||
LD C,15
|
||
RST RST28
|
||
LD A,(HL)
|
||
CP 127
|
||
POP HL
|
||
JR Z,AUTO_2358
|
||
LD HL,(CUR_CHL)
|
||
CALL AUTO_26E1
|
||
LD C,14
|
||
RST RST28
|
||
JP AUTO_2379
|
||
AUTO_2358:
|
||
CALL AUTO_23CF
|
||
PUSH AF
|
||
CALL Z,AUTO_2418
|
||
LD C,14
|
||
RST RST28
|
||
POP AF
|
||
CALL NZ,AUTO_2370
|
||
RET
|
||
AUTO_2367:
|
||
LD (HL),0
|
||
LD C,25
|
||
RST RST28
|
||
LD D,' '
|
||
LD E,(HL)
|
||
RET
|
||
AUTO_2370:
|
||
CALL AUTO_2367
|
||
LD (MED_START),DE
|
||
JR AUTO_2381
|
||
AUTO_2379:
|
||
CALL AUTO_2367
|
||
INC E
|
||
LD (MED_START),DE
|
||
AUTO_2381:
|
||
CALL AUTO_229A
|
||
CALL BUFER_OFF
|
||
LD C,16
|
||
RST RST28
|
||
EX DE,HL
|
||
LD HL,FL_NAME
|
||
LD BC,RST10
|
||
LDIR
|
||
LD C,12
|
||
RST RST28
|
||
LD A,(FL_NUMBER)
|
||
LD (HL),A
|
||
RET
|
||
AUTO_239B:
|
||
LD C,13
|
||
RST RST28
|
||
INC (HL)
|
||
RET NZ
|
||
INC HL
|
||
INC (HL)
|
||
PUSH HL
|
||
CALL AUTO_2443
|
||
LD C,'#'
|
||
RST RST28
|
||
LD A,(HL)
|
||
OR A
|
||
JR Z,AUTO_23B6
|
||
POP HL
|
||
PUSH HL
|
||
DEC (HL)
|
||
CALL AUTO_23FC
|
||
POP HL
|
||
PUSH HL
|
||
INC (HL)
|
||
AUTO_23B6:
|
||
CALL AUTO_2418
|
||
POP HL
|
||
LD A,16
|
||
CP (HL)
|
||
CALL Z,AUTO_23C1
|
||
RET
|
||
AUTO_23C1:
|
||
CALL AUTO_23CF
|
||
PUSH AF
|
||
CALL BUFER_OFF
|
||
POP AF
|
||
JP NZ,AUTO_2492
|
||
JP AUTO_2418
|
||
AUTO_23CF:
|
||
LD (HL),0
|
||
LD C,25
|
||
RST RST28
|
||
INC (HL)
|
||
LD C,16
|
||
RST RST28
|
||
LD DE,FL_NAME
|
||
LD BC,RST10
|
||
LDIR
|
||
CALL AUTO_1CB3
|
||
RET NZ
|
||
AUTO_23E4:
|
||
CALL AUTO_165D
|
||
LD C,16
|
||
RST RST28
|
||
EX DE,HL
|
||
LD HL,FL_NAME
|
||
LD BC,RST10
|
||
LDIR
|
||
LD C,12
|
||
RST RST28
|
||
LD A,(FL_NUMBER)
|
||
LD (HL),A
|
||
XOR A
|
||
RET
|
||
AUTO_23FC:
|
||
CALL AUTO_2423
|
||
CALL AUTO_2321
|
||
LD B,1
|
||
CALL WRITE_DISK
|
||
LD C,15
|
||
RST RST28
|
||
LD A,(HL)
|
||
CP 127
|
||
RET Z
|
||
CALL AUTO_2321
|
||
XOR A
|
||
LD B,A
|
||
AUTO_2413:
|
||
LD (HL),A
|
||
INC HL
|
||
DJNZ AUTO_2413
|
||
RET
|
||
AUTO_2418:
|
||
CALL AUTO_2423
|
||
CALL AUTO_2321
|
||
LD B,1
|
||
JP READ_DISK
|
||
AUTO_2423:
|
||
LD HL,(CUR_CHL)
|
||
LD BC,AUTO_001E
|
||
ADD HL,BC
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
LD C,14
|
||
RST RST28
|
||
LD B,(HL)
|
||
DEC B
|
||
INC B
|
||
PUSH AF
|
||
LD A,16
|
||
JR Z,AUTO_2441
|
||
AUTO_2438:
|
||
INC E
|
||
CP E
|
||
JR NZ,AUTO_243F
|
||
LD E,0
|
||
INC D
|
||
AUTO_243F:
|
||
DJNZ AUTO_2438
|
||
AUTO_2441:
|
||
POP AF
|
||
RET
|
||
AUTO_2443:
|
||
LD C,11
|
||
RST RST28
|
||
LD A,(HL)
|
||
JP SET_DISK
|
||
AUTO_244A:
|
||
LD HL,RET_INS
|
||
PUSH HL
|
||
LD HL,xchg_intf1
|
||
PUSH HL
|
||
PUSH AF
|
||
CALL xchg_intf1
|
||
LD A,10
|
||
LD (S_NAME_NUM),A
|
||
POP AF
|
||
CALL AUTO_24A2
|
||
PUSH AF
|
||
CALL AUTO_2650
|
||
JP Z,AUTO_249E
|
||
POP AF
|
||
CALL AUTO_2317
|
||
LD (HL),A
|
||
JP AUTO_232A
|
||
AUTO_246E:
|
||
LD C,13
|
||
RST RST28
|
||
LD A,(HL)
|
||
LD BC,CONT_1+5
|
||
ADD HL,BC
|
||
CP (HL)
|
||
RET NZ
|
||
LD C,14
|
||
RST RST28
|
||
LD A,(HL)
|
||
LD BC,CONT_1+5
|
||
ADD HL,BC
|
||
CP (HL)
|
||
RET NZ
|
||
LD HL,BEG_ADRESS
|
||
LD A,(HL)
|
||
CP 244
|
||
JR Z,AUTO_2492
|
||
BIT 4,(HL)
|
||
JR Z,AUTO_2492
|
||
OR 1
|
||
POP HL
|
||
RET
|
||
AUTO_2492:
|
||
LD A,7
|
||
AUTO_2494:
|
||
LD (ERR_NR),A
|
||
CALL AUTO_20E5
|
||
RST RST20
|
||
DW 00058H
|
||
RET
|
||
AUTO_249E:
|
||
LD A,23
|
||
JR AUTO_2494
|
||
AUTO_24A2:
|
||
LD D,A
|
||
LD C,15
|
||
RST RST28
|
||
LD A,(HL)
|
||
CP 127
|
||
LD A,D
|
||
RET NZ
|
||
LD BC,CONT_2
|
||
ADD HL,BC
|
||
LD A,(HL)
|
||
OR A
|
||
LD A,D
|
||
JR NZ,AUTO_24D5
|
||
DEC HL
|
||
LD A,(HL)
|
||
OR A
|
||
JR NZ,AUTO_24C2
|
||
PUSH BC
|
||
PUSH HL
|
||
PUSH DE
|
||
CALL AUTO_24F8
|
||
POP DE
|
||
POP HL
|
||
POP BC
|
||
AUTO_24C2:
|
||
LD C,(HL)
|
||
LD A,D
|
||
EX DE,HL
|
||
LD HL,(VAR_1)
|
||
ADD HL,BC
|
||
CP 6
|
||
LD (HL),A
|
||
CALL Z,AUTO_2504
|
||
LD C,'!'
|
||
RST RST28
|
||
INC (HL)
|
||
POP HL
|
||
RET
|
||
AUTO_24D5:
|
||
DEC HL
|
||
LD A,(HL)
|
||
DEC HL
|
||
INC A
|
||
CP (HL)
|
||
INC HL
|
||
INC (HL)
|
||
PUSH HL
|
||
PUSH AF
|
||
LD C,'#'
|
||
RST RST28
|
||
LD (HL),255
|
||
POP AF
|
||
POP HL
|
||
JR C,AUTO_24EE
|
||
LD A,D
|
||
CP 13
|
||
JR Z,AUTO_24F2
|
||
POP BC
|
||
RET
|
||
AUTO_24EE:
|
||
LD A,D
|
||
CP 13
|
||
RET NZ
|
||
AUTO_24F2:
|
||
XOR A
|
||
LD (HL),A
|
||
INC HL
|
||
LD (HL),A
|
||
LD A,D
|
||
RET
|
||
AUTO_24F8:
|
||
LD HL,(WORK_SP)
|
||
LD (VAR_1),HL
|
||
LD BC,RST10
|
||
JP AUTO_1E23
|
||
AUTO_2504:
|
||
LD (HL),13
|
||
LD HL,(CH_ADR)
|
||
LD (MED_START),HL
|
||
LD HL,(VAR_1)
|
||
LD (CH_ADR),HL
|
||
LD HL,FLAGS
|
||
RES 7,(HL)
|
||
CALL AUTO_1DC1
|
||
LD HL,FLAGS
|
||
SET 7,(HL)
|
||
LD HL,(VAR_1)
|
||
LD (CH_ADR),HL
|
||
CALL AUTO_1DC1
|
||
CALL AUTO_1DB9
|
||
PUSH BC
|
||
POP DE
|
||
LD C,' '
|
||
RST RST28
|
||
LD B,(HL)
|
||
XOR A
|
||
LD HL,START
|
||
LD (MED_LEN),HL
|
||
AUTO_2538:
|
||
ADD HL,DE
|
||
JR NC,AUTO_2544
|
||
PUSH HL
|
||
LD HL,(MED_LEN)
|
||
INC HL
|
||
LD (MED_LEN),HL
|
||
POP HL
|
||
AUTO_2544:
|
||
DJNZ AUTO_2538
|
||
LD (DOS_CH_ADR),HL
|
||
LD A,(MED_LEN)
|
||
LD HL,DOS_CH_ADR+1
|
||
RRD
|
||
AND 15
|
||
LD (MED_LEN),A
|
||
LD HL,(MED_START)
|
||
LD (CH_ADR),HL
|
||
CALL AUTO_2568
|
||
LD C,'!'
|
||
RST RST28
|
||
LD A,255
|
||
LD (HL),A
|
||
INC HL
|
||
LD (HL),A
|
||
RET
|
||
AUTO_2568:
|
||
LD C,25
|
||
RST RST28
|
||
LD A,(DOS_CH_ADR+1)
|
||
CP (HL)
|
||
JP NZ,AUTO_2584
|
||
LD C,14
|
||
RST RST28
|
||
LD A,(MED_LEN)
|
||
CP (HL)
|
||
JP NZ,AUTO_25A7
|
||
AUTO_257C:
|
||
LD C,13
|
||
RST RST28
|
||
LD A,(DOS_CH_ADR)
|
||
LD (HL),A
|
||
RET
|
||
AUTO_2584:
|
||
CALL AUTO_25CA
|
||
CALL NZ,AUTO_25C3
|
||
LD A,(DOS_CH_ADR+1)
|
||
LD C,25
|
||
RST RST28
|
||
LD (HL),A
|
||
LD C,16
|
||
RST RST28
|
||
LD DE,FL_NAME
|
||
LD BC,RST10
|
||
LDIR
|
||
CALL AUTO_1CB3
|
||
JP NZ,AUTO_25D2
|
||
CALL AUTO_23E4
|
||
JR AUTO_25AD
|
||
AUTO_25A7:
|
||
CALL AUTO_25CA
|
||
CALL NZ,AUTO_25C3
|
||
AUTO_25AD:
|
||
LD A,(MED_LEN)
|
||
LD C,14
|
||
RST RST28
|
||
LD (HL),A
|
||
PUSH HL
|
||
CALL AUTO_2443
|
||
CALL AUTO_2418
|
||
POP HL
|
||
DEC HL
|
||
LD A,(DOS_CH_ADR)
|
||
LD (HL),A
|
||
JR AUTO_257C
|
||
AUTO_25C3:
|
||
CALL AUTO_2443
|
||
CALL AUTO_23FC
|
||
RET
|
||
AUTO_25CA:
|
||
LD C,'#'
|
||
RST RST28
|
||
LD A,(HL)
|
||
OR A
|
||
LD (HL),0
|
||
RET
|
||
AUTO_25D2:
|
||
LD HL,(DOS_CH_ADR+1)
|
||
LD H,' '
|
||
LD (MED_START),HL
|
||
LD HL,(DOS_CH_ADR)
|
||
PUSH HL
|
||
LD HL,(MED_LEN)
|
||
PUSH HL
|
||
CALL AUTO_2381
|
||
POP HL
|
||
LD (MED_LEN),HL
|
||
POP HL
|
||
LD (DOS_CH_ADR),HL
|
||
JR AUTO_25AD
|
||
AUTO_25EF:
|
||
CALL xchg_intf1
|
||
LD HL,TV_FLAG
|
||
RES 3,(HL)
|
||
LD HL,(ERR_SP)
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
OR A
|
||
LD HL,AUTO_107F
|
||
SBC HL,DE
|
||
JR NZ,AUTO_2626
|
||
LD SP,(ERR_SP)
|
||
POP DE
|
||
POP DE
|
||
LD (ERR_SP),DE
|
||
AUTO_260F:
|
||
CALL AUTO_262B
|
||
JR C,AUTO_261D
|
||
AUTO_2614:
|
||
LD HL,RET_INS
|
||
PUSH HL
|
||
LD HL,AUTO_20E5
|
||
PUSH HL
|
||
RET
|
||
AUTO_261D:
|
||
CP 13
|
||
JR Z,AUTO_2614
|
||
RST RST20
|
||
DW 00F85H
|
||
JR AUTO_260F
|
||
AUTO_2626:
|
||
CALL AUTO_262B
|
||
JR AUTO_2614
|
||
AUTO_262B:
|
||
LD A,10
|
||
LD (S_NAME_NUM),A
|
||
CALL AUTO_2650
|
||
JR Z,AUTO_2642
|
||
CP 127
|
||
JP NZ,AUTO_249E
|
||
LD BC,CONT_2
|
||
ADD HL,BC
|
||
LD (HL),0
|
||
JR AUTO_2645
|
||
AUTO_2642:
|
||
CALL AUTO_246E
|
||
AUTO_2645:
|
||
CALL AUTO_2317
|
||
LD A,(HL)
|
||
PUSH AF
|
||
CALL AUTO_239B
|
||
POP AF
|
||
SCF
|
||
RET
|
||
AUTO_2650:
|
||
LD C,15
|
||
RST RST28
|
||
LD A,(HL)
|
||
OR A
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_CLOSE:
|
||
LD HL,(ADR_DOS_COM)
|
||
LD (CH_ADR),HL
|
||
CALL AUTO_1E0B
|
||
CALL SINTAX_RET
|
||
LD A,(MED_LEN)
|
||
RST RST20
|
||
DW 01727H
|
||
LD A,B
|
||
OR C
|
||
JP Z,AUTO_01D3
|
||
PUSH HL
|
||
LD HL,(CHANS)
|
||
ADD HL,BC
|
||
LD A,(HL)
|
||
LD HL,AUTO_3D0E
|
||
CP H
|
||
POP HL
|
||
JP NZ,AUTO_2228
|
||
LD (HL),0
|
||
INC HL
|
||
LD (HL),0
|
||
LD (DOS_CH_ADR),BC
|
||
LD HL,(CHANS)
|
||
ADD HL,BC
|
||
DEC HL
|
||
LD (MED_START),HL
|
||
CALL AUTO_26CE
|
||
LD HL,(MED_START)
|
||
LD BC,AUTO_0124
|
||
CALL AUTO_1E2E
|
||
LD HL,REP_K_TYME
|
||
LD B,16
|
||
AUTO_269D:
|
||
PUSH BC
|
||
LD BC,(DOS_CH_ADR)
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
EX DE,HL
|
||
SBC HL,BC
|
||
EX DE,HL
|
||
JR C,AUTO_26BC
|
||
LD D,(HL)
|
||
DEC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
PUSH HL
|
||
EX DE,HL
|
||
LD BC,AUTO_0124
|
||
SBC HL,BC
|
||
EX DE,HL
|
||
POP HL
|
||
LD (HL),D
|
||
DEC HL
|
||
LD (HL),E
|
||
INC HL
|
||
AUTO_26BC:
|
||
INC HL
|
||
POP BC
|
||
DJNZ AUTO_269D
|
||
LD HL,(ADR_DOS_COM)
|
||
LD BC,AUTO_0124
|
||
SBC HL,BC
|
||
LD (ADR_DOS_COM),HL
|
||
JP AUTO_01D3
|
||
AUTO_26CE:
|
||
LD BC,CONT_1+6
|
||
ADD HL,BC
|
||
LD A,(HL)
|
||
OR A
|
||
RET Z
|
||
LD HL,(MED_START)
|
||
LD (CUR_CHL),HL
|
||
CALL AUTO_26E1
|
||
JP AUTO_23FC
|
||
AUTO_26E1:
|
||
LD BC,CONT_1+4
|
||
ADD HL,BC
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
LD BC,CONT_1+4
|
||
ADD HL,BC
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
LD C,16
|
||
RST RST28
|
||
LD DE,FL_NAME
|
||
LD BC,RST10
|
||
LDIR
|
||
CALL AUTO_2443
|
||
LD C,12
|
||
RST RST28
|
||
LD C,(HL)
|
||
CALL AUTO_166B
|
||
JP AUTO_1E43
|
||
PRINT_L:
|
||
LD A,(HL)
|
||
OR A
|
||
RET Z
|
||
AND 127
|
||
RST RST10
|
||
BIT 7,(HL)
|
||
RET NZ
|
||
AUTO_2710:
|
||
INC HL
|
||
JR PRINT_L
|
||
AUTO_2713:
|
||
LD A,(DE)
|
||
CP (HL)
|
||
RET NZ
|
||
INC DE
|
||
INC HL
|
||
DJNZ AUTO_2713
|
||
RET
|
||
exit_No_disk:
|
||
LD HL,AUTO_27FC
|
||
LD A,6
|
||
JP AUTO_1C4A
|
||
AUTO_2723:
|
||
LD HL,AUTO_27ED
|
||
LD A,4
|
||
JP AUTO_1C4A
|
||
set_error_26:
|
||
LD A,26
|
||
JR AUTO_2731
|
||
LD A,18
|
||
AUTO_2731:
|
||
LD (ERR_NR),A
|
||
RET
|
||
LD A,3
|
||
JR AUTO_2731
|
||
AUTO_2739:
|
||
XOR A
|
||
LD (MED_START+1),A
|
||
LD (DOS_ERROR),A
|
||
IN A,(WG_COM)
|
||
LD (DRV_READY),A
|
||
LD E,D
|
||
PUSH DE
|
||
LD A,E
|
||
OUT (WG_DATA),A
|
||
LD A,24
|
||
CALL WG93_EXE
|
||
LD A,(DRV_READY)
|
||
AND 128
|
||
CALL NZ,pause_750ms
|
||
POP DE
|
||
CALL AUTO_207D
|
||
LD A,(DOS_ERROR)
|
||
OR A
|
||
RET Z
|
||
LD A,7
|
||
LD (DOS_ERR_2),A
|
||
RET
|
||
AUTO_2766:
|
||
DB "O.K.",0
|
||
AUTO_276B:
|
||
DB "Verify Error.",141
|
||
AUTO_2779:
|
||
DB "BACKUP DISK",141
|
||
AUTO_2785:
|
||
DB "Insert Destination disk",13,"then "
|
||
DB "press Y",0
|
||
AUTO_27AA:
|
||
DB "Insert Source disk then press Y",0
|
||
AUTO_27CA:
|
||
DB "*BREAK*",141
|
||
AUTO_27D2:
|
||
DB "Out of RAM",141
|
||
AUTO_27DD:
|
||
DB "Array not found",141
|
||
AUTO_27ED:
|
||
DB "Directory full",141
|
||
AUTO_27FC:
|
||
DB "No disk",141
|
||
DISPLAY "10k"
|
||
AUTO_2804:
|
||
DB "Stream opened",141
|
||
AUTO_2812:
|
||
DB "Not disk file",141
|
||
AUTO_2820:
|
||
DB "File exists",13,"Over write?(Y/N",169
|
||
AUTO_283C:
|
||
PUSH AF
|
||
PUSH BC
|
||
LD (WORK_4),DE
|
||
LD (WORK_2),HL
|
||
CALL xchg_intf1
|
||
LD A,255
|
||
LD (MSG_FLAG),A
|
||
LD (FL_NUMBER+1),A
|
||
POP BC
|
||
POP AF
|
||
LD HL,AUTO_0201
|
||
LD (ADR_RET),HL
|
||
LD HL,START
|
||
ADD HL,SP
|
||
LD (DOS_SP),HL
|
||
DEC HL
|
||
DEC HL
|
||
LD SP,HL
|
||
PUSH AF
|
||
CALL AUTO_021D
|
||
LD HL,AUTO_288C
|
||
AUTO_2869:
|
||
LD A,(HL)
|
||
CP C
|
||
JR NZ,AUTO_287F
|
||
POP AF
|
||
INC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
LD HL,AUTO_01D3
|
||
PUSH HL
|
||
PUSH DE
|
||
LD HL,(WORK_2)
|
||
LD DE,(WORK_4)
|
||
RET
|
||
AUTO_287F:
|
||
CP 255
|
||
JR NZ,AUTO_2887
|
||
POP AF
|
||
JP AUTO_01D3
|
||
AUTO_2887:
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
JR AUTO_2869
|
||
AUTO_288C:
|
||
DB 0
|
||
DW AUTO_3D98
|
||
DB 1
|
||
DW SET_DISK
|
||
DB 2
|
||
DW Global_trk
|
||
DB 3
|
||
DW save_sector
|
||
DB 4
|
||
DW save_bufer
|
||
DB 5
|
||
DW READ_DISK
|
||
DB 6
|
||
DW WRITE_DISK
|
||
DB 7
|
||
DW AUTO_28D8
|
||
DB 8
|
||
DW AUTO_165C
|
||
DB 9
|
||
DW AUTO_1664
|
||
DB 10
|
||
DW AUTO_1CF0
|
||
DB 11
|
||
DW AUTO_28FB
|
||
DB 12
|
||
DW AUTO_28F2
|
||
DB 13
|
||
DW AUTO_01D3
|
||
DB 14
|
||
DW AUTO_290F
|
||
DB 15
|
||
DW AUTO_01D3
|
||
DB 16
|
||
DW AUTO_01D3
|
||
DB 17
|
||
DW AUTO_01D3
|
||
DB 18
|
||
DW AUTO_2926
|
||
DB 19
|
||
DW AUTO_28E0
|
||
DB 20
|
||
DW AUTO_28E3
|
||
DB 21
|
||
DW AUTO_2739
|
||
DB 22
|
||
DW set_side_0
|
||
DB 23
|
||
DW set_side_1
|
||
DB 24
|
||
DW RD_HEAD_DSK
|
||
DB 255
|
||
AUTO_28D8:
|
||
PUSH AF
|
||
CALL RD_HEAD_DSK
|
||
POP AF
|
||
JP AUTO_0479
|
||
AUTO_28E0:
|
||
XOR A
|
||
JR AUTO_28E5
|
||
AUTO_28E3:
|
||
LD A,255
|
||
AUTO_28E5:
|
||
LD DE,FL_NAME
|
||
LD BC,RST10
|
||
OR A
|
||
JR Z,AUTO_28EF
|
||
EX DE,HL
|
||
AUTO_28EF:
|
||
LDIR
|
||
RET
|
||
AUTO_28F2:
|
||
CALL RD_HEAD_DSK
|
||
CALL AUTO_1AC4
|
||
JP AUTO_1B27
|
||
AUTO_28FB:
|
||
LD (MED_START),HL
|
||
LD (DOS_CH_ADR),DE
|
||
LD (MED_LEN),DE
|
||
JP TYPE_FL_X02
|
||
|
||
CALL AUTO_1AC4 ; ???
|
||
JP FORM_X04 ; ???
|
||
AUTO_290F:
|
||
OR A
|
||
LD (DOS_ERROR),A
|
||
LD (DOS_CH_ADR),HL
|
||
LD (MED_LEN),DE
|
||
CALL AUTO_1CB3
|
||
CALL AUTO_18A4
|
||
CALL AUTO_18AB
|
||
JP AUTO_1921
|
||
AUTO_2926:
|
||
CALL RD_HEAD_DSK
|
||
CALL AUTO_1CB3
|
||
JP AUTO_07A0
|
||
AUTO_292F:
|
||
CALL AUTO_1C57
|
||
CALL RD_HEAD_DSK
|
||
JP AUTO_1CB3
|
||
AUTO_2938:
|
||
PUSH BC
|
||
LD B,8
|
||
AUTO_293B:
|
||
LD A,(HL)
|
||
RST RST10
|
||
INC HL
|
||
DJNZ AUTO_293B
|
||
LD A,'<'
|
||
RST RST10
|
||
LD A,(HL)
|
||
RST RST10
|
||
LD A,'>'
|
||
RST RST10
|
||
POP BC
|
||
RET
|
||
BUFER_ON:
|
||
PUSH HL
|
||
PUSH DE
|
||
PUSH BC
|
||
PUSH AF
|
||
LD HL,BUF_FLAG
|
||
LD A,(HL)
|
||
OR A
|
||
JR Z,AUTO_2992
|
||
PUSH HL
|
||
LD BC,AUTO_0100+1
|
||
PUSH BC
|
||
CALL AUTO_19FD
|
||
POP BC
|
||
POP HL
|
||
LD (HL),0
|
||
LD HL,BUFER
|
||
CALL AUTO_1E32
|
||
LD HL,(ADR_DOS_COM)
|
||
LD BC,AUTO_0100+1
|
||
ADD HL,BC
|
||
JR AUTO_298F
|
||
BUFER_OFF:
|
||
PUSH HL
|
||
PUSH DE
|
||
PUSH BC
|
||
PUSH AF
|
||
LD HL,BUF_FLAG
|
||
LD A,(HL)
|
||
OR A
|
||
JR NZ,AUTO_2992
|
||
LD (HL),255
|
||
LD HL,BUFER
|
||
LD BC,AUTO_0100+1
|
||
CALL AUTO_1E2E
|
||
OR A
|
||
LD BC,AUTO_0100+1
|
||
LD HL,(ADR_DOS_COM)
|
||
SBC HL,BC
|
||
AUTO_298F:
|
||
LD (ADR_DOS_COM),HL
|
||
AUTO_2992:
|
||
POP AF
|
||
POP BC
|
||
POP DE
|
||
POP HL
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_40:
|
||
XOR A
|
||
|
||
|
||
AUTO_2998:
|
||
BLOCK #2998 - $,255
|
||
LD (MED_START),A
|
||
CALL SINTAX_RET
|
||
CALL TEST_CR
|
||
JP Z,CMD_ERROR
|
||
CALL get_disk_type
|
||
LD A,(MED_START)
|
||
LD (HL),A
|
||
JP AUTO_03E1
|
||
;
|
||
;
|
||
;
|
||
CMD_80:
|
||
LD A,128
|
||
JR AUTO_2998
|
||
AUTO_29B2:
|
||
DB 13,"*ERROR*",141
|
||
AUTO_29BB:
|
||
DB 13,"No space",141
|
||
AUTO_29C5:
|
||
DB 13,"File exists",141
|
||
AUTO_29D2:
|
||
DB " Free",141
|
||
READ_ONLY_MSG:
|
||
DB 13,"Read Onl",249
|
||
DISK_ERROR_MSG:
|
||
DB 13,"Disc Erro",242
|
||
AUTO_29ED:
|
||
DB 13,"Rec. O/",198
|
||
AUTO_29F7:
|
||
DB "Title:",160
|
||
AUTO_29FE:
|
||
DB 13,"Retry,Abort,Ignore?",0
|
||
AUTO_2A13:
|
||
DB 13,"Trk",160
|
||
AUTO_2A18:
|
||
DB " sec",160
|
||
AUTO_2A1D:
|
||
DB " Del. File",141
|
||
AUTO_2A28:
|
||
DB 13,"No"
|
||
AUTO_2A2B:
|
||
DB " File(s)",141,0
|
||
AUTO_2A35:
|
||
LD HL,AUTO_2A41
|
||
LD DE,AUTO_4080
|
||
LD BC,RST20
|
||
LDIR
|
||
RET
|
||
;
|
||
; TEST 128/48 ROM ¯à®£à ¬¬ ¢ RAM !!!
|
||
;
|
||
AUTO_2A41:
|
||
LD A,(AUTO_03B5)
|
||
CP 243
|
||
LD A,16
|
||
JR Z,AUTO_2A4B
|
||
XOR A
|
||
AUTO_2A4B:
|
||
LD (K_STATE+1),A
|
||
LD BC,PORT_128
|
||
LD A,16
|
||
OUT (C),A
|
||
RET
|
||
MAGIC_2:
|
||
AUTO_2A56:
|
||
PUSH AF
|
||
PUSH BC
|
||
PUSH DE
|
||
PUSH HL
|
||
PUSH IX
|
||
PUSH IY
|
||
EXX
|
||
PUSH BC
|
||
PUSH DE
|
||
PUSH HL
|
||
EX AF,AF'
|
||
PUSH AF
|
||
LD A,I
|
||
PUSH AF
|
||
LD A,R
|
||
PUSH AF
|
||
LD HL,START
|
||
ADD HL,SP
|
||
PUSH HL
|
||
LD A,3Ch
|
||
OUT (P_DOS_FF),A
|
||
LD A,'?'
|
||
LD I,A
|
||
IN A,(WG_COM)
|
||
AND 128
|
||
RRCA
|
||
RRCA
|
||
RRCA
|
||
LD (K_STATE+1),A
|
||
CALL AUTO_2F65
|
||
CALL pause_750ms
|
||
CALL pause_750ms
|
||
LD DE,CONT_1+1
|
||
LD HL,AUTO_4000
|
||
PUSH HL
|
||
CALL AUTO_2D73
|
||
LD HL,AUTO_4100
|
||
LD DE,CONT_1+2
|
||
CALL AUTO_2D73
|
||
POP HL
|
||
PUSH HL
|
||
LD DE,RST08
|
||
CALL AUTO_2F1B
|
||
LD HL,AUTO_40E3
|
||
LD A,(HL)
|
||
LD (K_STATE),A
|
||
INC HL
|
||
LD A,(HL)
|
||
INC (HL)
|
||
INC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
OR A
|
||
EX DE,HL
|
||
LD DE,AUTO_00A8+24
|
||
SBC HL,DE
|
||
LD (AUTO_40E5),HL
|
||
LD HL,AUTO_4000
|
||
LD DE,RST08
|
||
CALL AUTO_2D73
|
||
POP HL
|
||
LD DE,(AUTO_40E1)
|
||
PUSH DE
|
||
LD DE,CONT_1+1
|
||
CALL AUTO_2F1B
|
||
POP DE
|
||
CALL AUTO_2D4C
|
||
PUSH DE
|
||
LD A,3Ch
|
||
OUT (P_DOS_FF),A
|
||
CALL AUTO_2F65
|
||
LD HL,AUTO_4000
|
||
LD DE,RST08
|
||
LD B,1
|
||
CALL AUTO_2F1B
|
||
POP DE
|
||
LD HL,(AUTO_40E1)
|
||
LD (AUTO_40E1),DE
|
||
PUSH HL
|
||
LD HL,AUTO_4000
|
||
LD DE,RST08
|
||
LD B,1
|
||
CALL AUTO_2D73
|
||
LD A,(AUTO_40E4)
|
||
DEC A
|
||
CALL AUTO_2CE5
|
||
LD (HL),'@'
|
||
INC HL
|
||
LD B,7
|
||
AUTO_2B09:
|
||
LD (HL),' '
|
||
INC HL
|
||
DJNZ AUTO_2B09
|
||
LD (HL),'C'
|
||
POP DE
|
||
POP BC
|
||
INC HL
|
||
LD (HL),C
|
||
INC HL
|
||
LD (HL),B
|
||
INC HL
|
||
INC HL
|
||
INC HL
|
||
LD (HL),192
|
||
INC HL
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
LD HL,AUTO_4000
|
||
LD DE,START
|
||
IN A,(WG_SEC)
|
||
DEC A
|
||
LD E,A
|
||
LD B,1
|
||
CALL AUTO_2D73
|
||
LD HL,START
|
||
ADD HL,SP
|
||
LD (AUTO_4140),HL
|
||
LD SP,AUTO_41FF
|
||
CALL AUTO_2A35
|
||
LD HL,AUTO_C000
|
||
XOR A
|
||
AUTO_2B3F:
|
||
ADD A,(HL)
|
||
INC HL
|
||
LD B,A
|
||
LD A,H
|
||
OR A
|
||
LD A,B
|
||
JR NZ,AUTO_2B3F
|
||
LD HL,AUTO_4100
|
||
LD (HL),A
|
||
PUSH HL
|
||
LD HL,AUTO_2B58
|
||
PUSH HL
|
||
LD HL,AUTO_3D2F
|
||
PUSH HL
|
||
DI
|
||
JP AUTO_4080
|
||
AUTO_2B58:
|
||
POP HL
|
||
LD BC,PORT_128
|
||
LD A,170
|
||
LD (AUTO_4130),A
|
||
LD D,5
|
||
LD A,(K_STATE+1)
|
||
OR D
|
||
LD D,A
|
||
OUT (C),D
|
||
LD A,(AUTO_C130)
|
||
CP 170
|
||
JP NZ,AUTO_2C1B
|
||
LD A,D
|
||
AND 248
|
||
LD D,A
|
||
INC HL
|
||
LD B,8
|
||
AUTO_2B79:
|
||
LD (HL),D
|
||
OUT (C),D
|
||
XOR A
|
||
LD HL,AUTO_C000
|
||
AUTO_2B80:
|
||
ADD A,(HL)
|
||
INC HL
|
||
LD E,A
|
||
LD A,H
|
||
OR A
|
||
LD A,E
|
||
JR NZ,AUTO_2B80
|
||
LD HL,AUTO_4100
|
||
CP (HL)
|
||
INC HL
|
||
JR Z,AUTO_2B93
|
||
INC D
|
||
DJNZ AUTO_2B79
|
||
DEC D
|
||
AUTO_2B93:
|
||
LD B,8
|
||
AUTO_2B95:
|
||
PUSH BC
|
||
CALL AUTO_2C37
|
||
POP BC
|
||
DJNZ AUTO_2B95
|
||
LD C,0
|
||
CALL AUTO_2F3A
|
||
CALL AUTO_2D2A
|
||
LD A,(AUTO_40E4)
|
||
LD (AUTO_4102),A
|
||
INC A
|
||
LD (AUTO_40E4),A
|
||
LD HL,(AUTO_40E5)
|
||
LD DE,START+1
|
||
SBC HL,DE
|
||
LD (AUTO_40E5),HL
|
||
RET C
|
||
LD HL,(AUTO_40E1)
|
||
LD (AUTO_411E),HL
|
||
CALL AUTO_2D1E
|
||
LD A,'8'
|
||
LD (AUTO_4111),A
|
||
LD A,1
|
||
LD (AUTO_411D),A
|
||
LD HL,AUTO_4100
|
||
LD (AUTO_4119),HL
|
||
LD HL,AUTO_0100
|
||
LD (AUTO_411B),HL
|
||
LD DE,(AUTO_40E1)
|
||
CALL AUTO_2F65
|
||
LD C,D
|
||
CALL AUTO_2F3A
|
||
LD HL,AUTO_4100
|
||
LD B,1
|
||
CALL AUTO_2D58
|
||
LD (AUTO_40E1),DE
|
||
LD C,0
|
||
CALL AUTO_2F3A
|
||
CALL AUTO_2D34
|
||
LD A,(AUTO_4102)
|
||
CALL AUTO_2CE5
|
||
LD DE,AUTO_4110
|
||
LD BC,RST10
|
||
EX DE,HL
|
||
LDIR
|
||
IN A,(WG_SEC)
|
||
DEC A
|
||
LD E,A
|
||
LD D,0
|
||
LD HL,AUTO_4000
|
||
CALL AUTO_2D73
|
||
LD BC,PORT_128
|
||
LD A,(AUTO_4101)
|
||
OUT (C),A
|
||
AUTO_2C1B:
|
||
LD HL,(AUTO_4140)
|
||
LD SP,HL
|
||
LD HL,AUTO_4000
|
||
LD DE,CONT_1+1
|
||
CALL AUTO_2F1B
|
||
LD HL,AUTO_4100
|
||
LD DE,CONT_1+2
|
||
CALL AUTO_2F1B
|
||
LD A,'<'
|
||
PUSH AF
|
||
JP AUTO_2EBC
|
||
AUTO_2C37:
|
||
LD A,B
|
||
DEC A
|
||
LD (AUTO_4103),A
|
||
LD B,A
|
||
LD A,(AUTO_4101)
|
||
AND 7
|
||
CP B
|
||
RET Z
|
||
LD A,2
|
||
CP B
|
||
RET Z
|
||
LD A,(AUTO_4101)
|
||
AND 8
|
||
JR Z,AUTO_2C55
|
||
LD A,B
|
||
CP 7
|
||
RET Z
|
||
JR AUTO_2C59
|
||
AUTO_2C55:
|
||
LD A,B
|
||
CP 5
|
||
RET Z
|
||
AUTO_2C59:
|
||
CALL AUTO_2C5D
|
||
RET
|
||
AUTO_2C5D:
|
||
LD HL,AUTO_4101
|
||
LD A,(HL)
|
||
AND 248
|
||
LD C,A
|
||
LD A,B
|
||
OR C
|
||
PUSH BC
|
||
LD BC,PORT_128
|
||
OUT (C),A
|
||
POP BC
|
||
LD HL,AUTO_C000
|
||
AUTO_2C70:
|
||
LD A,(HL)
|
||
OR A
|
||
JR NZ,AUTO_2C7A
|
||
INC HL
|
||
LD A,H
|
||
OR A
|
||
JR NZ,AUTO_2C70
|
||
RET
|
||
AUTO_2C7A:
|
||
CALL AUTO_2C7E
|
||
RET
|
||
AUTO_2C7E:
|
||
LD C,0
|
||
CALL AUTO_2F3A
|
||
CALL AUTO_2D2A
|
||
LD A,(AUTO_40E4)
|
||
LD (AUTO_4102),A
|
||
INC A
|
||
LD (AUTO_40E4),A
|
||
LD HL,(AUTO_40E5)
|
||
LD DE,CONT_6+6
|
||
SBC HL,DE
|
||
LD (AUTO_40E5),HL
|
||
RET C
|
||
LD HL,(AUTO_40E1)
|
||
LD (AUTO_411E),HL
|
||
CALL AUTO_2D1E
|
||
LD A,'@'
|
||
LD (AUTO_411D),A
|
||
LD HL,AUTO_C000
|
||
LD (AUTO_4119),HL
|
||
LD HL,AUTO_4000
|
||
LD (AUTO_411B),HL
|
||
LD DE,(AUTO_40E1)
|
||
CALL AUTO_2D3E
|
||
LD (AUTO_40E1),DE
|
||
LD C,0
|
||
CALL AUTO_2F3A
|
||
CALL AUTO_2D34
|
||
LD A,(AUTO_4102)
|
||
CALL AUTO_2CE5
|
||
LD DE,AUTO_4110
|
||
LD BC,RST10
|
||
EX DE,HL
|
||
LDIR
|
||
IN A,(WG_SEC)
|
||
DEC A
|
||
LD E,A
|
||
LD D,0
|
||
LD HL,AUTO_4000
|
||
CALL AUTO_2D73
|
||
RET
|
||
AUTO_2CE5:
|
||
LD C,A
|
||
AND 240
|
||
RRCA
|
||
RRCA
|
||
RRCA
|
||
RRCA
|
||
LD B,A
|
||
PUSH BC
|
||
LD E,B
|
||
LD D,0
|
||
LD HL,AUTO_4000
|
||
PUSH DE
|
||
CALL AUTO_2F1B
|
||
POP DE
|
||
POP BC
|
||
LD B,0
|
||
LD A,C
|
||
AND 15
|
||
RLCA
|
||
RLCA
|
||
RLCA
|
||
RLCA
|
||
LD HL,AUTO_4000
|
||
ADD A,L
|
||
LD L,A
|
||
RET
|
||
AUTO_2D09:
|
||
LD HL,AUTO_4110
|
||
LD B,9
|
||
AUTO_2D0E:
|
||
LD (HL),' '
|
||
INC HL
|
||
DJNZ AUTO_2D0E
|
||
LD A,'@'
|
||
LD (AUTO_4110),A
|
||
LD A,'C'
|
||
LD (AUTO_4118),A
|
||
RET
|
||
AUTO_2D1E:
|
||
CALL AUTO_2D09
|
||
LD A,(AUTO_4103)
|
||
ADD A,'0'
|
||
LD (AUTO_4111),A
|
||
RET
|
||
AUTO_2D2A:
|
||
LD HL,AUTO_4000
|
||
LD DE,RST08
|
||
CALL AUTO_2F1B
|
||
RET
|
||
AUTO_2D34:
|
||
LD HL,AUTO_4000
|
||
LD DE,RST08
|
||
CALL AUTO_2D73
|
||
RET
|
||
AUTO_2D3E:
|
||
CALL AUTO_2F65
|
||
LD C,D
|
||
CALL AUTO_2F3A
|
||
LD HL,AUTO_C000
|
||
LD B,'@'
|
||
JR AUTO_2D58
|
||
AUTO_2D4C:
|
||
CALL AUTO_2F65
|
||
LD C,D
|
||
CALL AUTO_2F3A
|
||
LD HL,AUTO_4000
|
||
LD B,192
|
||
AUTO_2D58:
|
||
PUSH BC
|
||
PUSH DE
|
||
CALL AUTO_2D73
|
||
LD DE,AUTO_0100
|
||
ADD HL,DE
|
||
POP DE
|
||
INC E
|
||
LD A,E
|
||
CP 16
|
||
JR NZ,AUTO_2D6F
|
||
LD E,0
|
||
INC D
|
||
LD C,D
|
||
CALL AUTO_2F3A
|
||
AUTO_2D6F:
|
||
POP BC
|
||
DJNZ AUTO_2D58
|
||
RET
|
||
AUTO_2D73:
|
||
LD A,E
|
||
INC A
|
||
OUT (WG_SEC),A
|
||
PUSH HL
|
||
LD D,20
|
||
PUSH DE
|
||
AUTO_2D7B:
|
||
DI
|
||
LD C,127
|
||
LD A,160
|
||
OUT (WG_COM),A
|
||
CALL AUTO_3FCA
|
||
POP DE
|
||
POP HL
|
||
IN A,(WG_COM)
|
||
AND 127
|
||
RET Z
|
||
DEC D
|
||
PUSH HL
|
||
PUSH DE
|
||
JR NZ,AUTO_2D7B
|
||
HALT
|
||
AUTO_2D92:
|
||
LD HL,(FL_START)
|
||
LD DE,(FL_PLACE)
|
||
LD A,(FL_SIZE)
|
||
LD B,A
|
||
CALL READ_DISK
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
CMD_GOTO:
|
||
CALL INPUT_TXT
|
||
CALL SINTAX_RET
|
||
CALL AUTO_102E
|
||
CALL AUTO_1C57
|
||
LD (AUTO_4020),BC
|
||
LD A,C
|
||
CP 8
|
||
JR NC,AUTO_2DD2
|
||
CALL RD_HEAD_DSK
|
||
CALL AUTO_1CB3
|
||
JP NZ,AUTO_03D9
|
||
LD HL,FL_NAME
|
||
LD BC,(AUTO_4020)
|
||
ADD HL,BC
|
||
LD (HL),'8'
|
||
PUSH HL
|
||
CALL AUTO_1CB3
|
||
POP HL
|
||
JR Z,AUTO_2DD8
|
||
LD (HL),' '
|
||
AUTO_2DD2:
|
||
CALL AUTO_1CB3
|
||
JP AUTO_2E33
|
||
AUTO_2DD8:
|
||
CALL AUTO_162A
|
||
CALL AUTO_2D92
|
||
LD SP,AUTO_40FF
|
||
LD B,8
|
||
AUTO_2DE3:
|
||
PUSH BC
|
||
LD A,B
|
||
LD BC,PORT_128
|
||
DEC A
|
||
PUSH AF
|
||
OR 16
|
||
OUT (C),A
|
||
POP AF
|
||
ADD A,'0'
|
||
LD HL,FL_NAME
|
||
LD BC,(AUTO_4020)
|
||
ADD HL,BC
|
||
LD (HL),A
|
||
CALL AUTO_1CB3
|
||
JR NZ,AUTO_2E05
|
||
CALL AUTO_165D
|
||
CALL AUTO_2D92
|
||
AUTO_2E05:
|
||
POP BC
|
||
DJNZ AUTO_2DE3
|
||
LD A,' '
|
||
LD HL,FL_NAME
|
||
LD BC,(AUTO_4020)
|
||
ADD HL,BC
|
||
LD (HL),A
|
||
CALL AUTO_1CB3
|
||
CALL AUTO_165D
|
||
PUSH BC
|
||
PUSH AF
|
||
LD BC,PORT_128
|
||
LD A,(AUTO_4101)
|
||
OUT (C),A
|
||
POP AF
|
||
POP BC
|
||
JR AUTO_2E39
|
||
CALL INPUT_TXT
|
||
CALL SINTAX_RET
|
||
CALL AUTO_102E
|
||
CALL AUTO_292F
|
||
AUTO_2E33:
|
||
JP NZ,AUTO_03D9
|
||
CALL AUTO_165D
|
||
AUTO_2E39:
|
||
LD A,(FL_NAME)
|
||
CP '$'
|
||
DI
|
||
JR NZ,AUTO_2E43
|
||
IM 2
|
||
AUTO_2E43:
|
||
LD SP,AUTO_40F0
|
||
CALL get_disk_type
|
||
LD (AUTO_4010),A
|
||
LD A,(PDOS_COPY)
|
||
LD (AUTO_4011),A
|
||
LD HL,(FL_START)
|
||
PUSH HL
|
||
LD DE,(FL_PLACE)
|
||
PUSH DE
|
||
INC E
|
||
LD A,E
|
||
CP 16
|
||
JR NZ,AUTO_2E64
|
||
LD E,0
|
||
INC D
|
||
AUTO_2E64:
|
||
LD C,D
|
||
CALL AUTO_2F07
|
||
LD A,(AUTO_4010)
|
||
AND 2
|
||
CALL NZ,AUTO_2F0F
|
||
LD A,C
|
||
CALL AUTO_2F50
|
||
LD HL,AUTO_4100
|
||
LD B,191
|
||
AUTO_2E79:
|
||
PUSH BC
|
||
PUSH DE
|
||
CALL AUTO_2F1B
|
||
LD DE,AUTO_0100
|
||
ADD HL,DE
|
||
POP DE
|
||
INC E
|
||
LD A,E
|
||
CP 16
|
||
JR NZ,AUTO_2E9C
|
||
LD E,0
|
||
INC D
|
||
LD C,D
|
||
CALL AUTO_2F07
|
||
LD A,(AUTO_4010)
|
||
AND 2
|
||
CALL NZ,AUTO_2F0F
|
||
LD A,C
|
||
CALL AUTO_2F50
|
||
AUTO_2E9C:
|
||
POP BC
|
||
DJNZ AUTO_2E79
|
||
POP DE
|
||
POP HL
|
||
LD SP,HL
|
||
LD A,(AUTO_4011)
|
||
PUSH AF
|
||
LD C,D
|
||
CALL AUTO_2F07
|
||
LD A,(AUTO_4010)
|
||
AND 2
|
||
CALL NZ,AUTO_2F0F
|
||
LD A,C
|
||
CALL AUTO_2F50
|
||
LD HL,AUTO_4000
|
||
CALL AUTO_2F1B
|
||
AUTO_2EBC:
|
||
POP AF
|
||
EX AF,AF'
|
||
POP AF
|
||
LD R,A
|
||
POP AF
|
||
LD I,A
|
||
DI
|
||
LD A,255
|
||
JP PO,AUTO_2ECC
|
||
LD A,0
|
||
AUTO_2ECC:
|
||
LD (K_STATE),A
|
||
POP AF
|
||
POP HL
|
||
POP DE
|
||
POP BC
|
||
EXX
|
||
EX AF,AF'
|
||
POP IY
|
||
POP IX
|
||
POP HL
|
||
POP DE
|
||
POP BC
|
||
LD A,(BORDER)
|
||
AND '8'
|
||
RRCA
|
||
RRCA
|
||
RRCA
|
||
OUT (0FEH),A
|
||
LD A,(AUTO_5B08)
|
||
CP 238
|
||
JR NZ,AUTO_2EF7
|
||
PUSH BC
|
||
LD BC,PORT_128
|
||
LD A,(AUTO_5B5C)
|
||
OUT (C),A
|
||
POP BC
|
||
AUTO_2EF7:
|
||
LD A,(K_STATE)
|
||
OR A
|
||
LD A,201
|
||
LD (K_STATE),A
|
||
JR NZ,AUTO_2F03
|
||
EI
|
||
AUTO_2F03:
|
||
POP AF
|
||
JP K_STATE
|
||
AUTO_2F07:
|
||
LD A,(AUTO_4011)
|
||
OR 3Ch
|
||
AUTO_2F0C:
|
||
OUT (P_DOS_FF),A
|
||
RET
|
||
AUTO_2F0F:
|
||
LD A,C
|
||
OR A
|
||
RRA
|
||
LD C,A
|
||
RET NC
|
||
LD A,(AUTO_4011)
|
||
AND 'o'
|
||
JR AUTO_2F0C
|
||
AUTO_2F1B:
|
||
LD A,E
|
||
INC A
|
||
OUT (WG_SEC),A
|
||
PUSH HL
|
||
LD D,20
|
||
PUSH DE
|
||
AUTO_2F23:
|
||
DI
|
||
LD C,127
|
||
LD A,128
|
||
OUT (WG_COM),A
|
||
CALL AUTO_3FE5
|
||
POP DE
|
||
POP HL
|
||
IN A,(WG_COM)
|
||
AND 127
|
||
RET Z
|
||
DEC D
|
||
PUSH HL
|
||
PUSH DE
|
||
JR NZ,AUTO_2F23
|
||
HALT
|
||
AUTO_2F3A:
|
||
LD A,3Ch
|
||
OUT (P_DOS_FF),A
|
||
LD A,(K_STATE)
|
||
AND 8
|
||
JR NZ,AUTO_2F4F
|
||
LD A,C
|
||
OR A
|
||
RRA
|
||
LD C,A
|
||
JR NC,AUTO_2F4F
|
||
LD A,2Ch
|
||
OUT (P_DOS_FF),A
|
||
AUTO_2F4F:
|
||
LD A,C
|
||
AUTO_2F50:
|
||
OUT (WG_DATA),A
|
||
CALL pause_50ms
|
||
LD A,24
|
||
AUTO_2F57:
|
||
OUT (WG_COM),A
|
||
AUTO_2F59:
|
||
IN A,(P_DOS_FF)
|
||
AND 128
|
||
JR Z,AUTO_2F59
|
||
PUSH BC
|
||
CALL pause_50ms
|
||
POP BC
|
||
RET
|
||
AUTO_2F65:
|
||
LD A,8
|
||
JR AUTO_2F57
|
||
AUTO_2F69:
|
||
LD HL,(DOS_SP)
|
||
DEC HL
|
||
DEC HL
|
||
LD SP,HL
|
||
JP AUTO_1D2F
|
||
;
|
||
; RST20 procedure
|
||
;
|
||
RST20_EXE:
|
||
LD (WORK_2),HL
|
||
LD (WORK_4),DE
|
||
POP HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
INC HL
|
||
PUSH HL
|
||
LD HL,AUTO_3D2F
|
||
PUSH HL
|
||
PUSH DE
|
||
LD HL,RET_INS
|
||
PUSH HL
|
||
LD HL,(WORK_2)
|
||
LD DE,(WORK_4)
|
||
RET
|
||
;
|
||
; INIT DOS VARS
|
||
;
|
||
AUTO_2F90: ; INIT DATA DOS
|
||
LD HL,0FFFFh
|
||
LD (TIME_A),HL
|
||
LD (TIME_C),HL
|
||
LD (DISK_C),HL
|
||
CALL INIT_2X80_1 ; *** !!! ***
|
||
; LD (DISK_A),HL
|
||
XOR A
|
||
LD (FLAG_BOOT),A
|
||
LD (CONT_DISK),A
|
||
LD (INT_1_VAR),A
|
||
LD (DOS_ERR_2),A
|
||
LD (FL_NUMBER+1),A
|
||
LD A,255
|
||
OUT (P_DOS_FF),A
|
||
LD (ERR_NR),A
|
||
LD (PDOS_COPY),A
|
||
LD (BUF_FLAG),A
|
||
LD A,201
|
||
LD (RET_INS),A
|
||
LD A,0D0h
|
||
OUT (WG_COM),A
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
AUTO_2FC6:
|
||
CALL AUTO_050C
|
||
LD A,(HL)
|
||
OR A
|
||
JP Z,AUTO_03AC
|
||
CP 1
|
||
CALL Z,AUTO_0507
|
||
RET NZ
|
||
JR AUTO_2FC6
|
||
;
|
||
;
|
||
;
|
||
AUTO_2FD6:
|
||
LD B,1
|
||
LD HL,BUFER
|
||
JP AUTO_1E67
|
||
AUTO_2FDE:
|
||
PUSH HL
|
||
LD DE,(CONT_SEC)
|
||
CALL AUTO_2FD6
|
||
LD A,(MED_LEN)
|
||
POP DE
|
||
OR A
|
||
RET Z
|
||
LD C,A
|
||
LD HL,BUFER
|
||
LDIR
|
||
RET
|
||
;
|
||
; COMANDS
|
||
;
|
||
AUTO_2FF3:
|
||
DB 207,42,208,209
|
||
DB 230,210,239,248
|
||
DB 254,190,244,213
|
||
DB 247,211,212,255
|
||
DB 52,236,56,240
|
||
DB 214,'/'
|
||
AUTO_3008:
|
||
DW CMD_CAT
|
||
DW CMD_STAR
|
||
DW CMD_FORMAT
|
||
DW CMD_MOVE
|
||
|
||
DW CMD_NEW
|
||
DW CMD_ERASE
|
||
DW CMD_LOAD
|
||
DW CMD_SAVE
|
||
|
||
DW CMD_RETURN
|
||
DW CMD_PEEK
|
||
DW CMD_POKE
|
||
DW CMD_MERGE
|
||
|
||
DW CMD_RUN
|
||
DW CMD_OPEN
|
||
DW CMD_CLOSE
|
||
DW CMD_COPY
|
||
|
||
DW CMD_40
|
||
DW CMD_GOTO
|
||
DW CMD_80
|
||
DW CMD_LIST
|
||
|
||
DW CMD_VERIFY
|
||
DW CMD_MSDOS
|
||
;
|
||
;
|
||
;
|
||
AUTO_3032:
|
||
LD HL,(E_LINE)
|
||
LD (ADR_DOS_COM),HL
|
||
LD (DOS_CH_ADR),HL
|
||
LD A,255
|
||
LD (DOS_ERROR),A
|
||
LD HL,MED_LEN
|
||
JR AUTO_3054
|
||
; LD (MED_START),HL ; 3 ¡ ©â § ïâë ᯨ᪮¬ ª®¬ ¤
|
||
; nop
|
||
; nop
|
||
; nop
|
||
AUTO_3048:
|
||
LD (ADR_DOS_COM),HL
|
||
LD (DOS_CH_ADR),HL
|
||
CALL AUTO_30E1
|
||
RET NZ
|
||
INC HL
|
||
INC HL
|
||
AUTO_3054:
|
||
JP REDIR_LINE_CODING
|
||
; LD (MED_START),HL
|
||
AUTO_3057: ; ¯à¥®¡à §®¢ ¨¥ ª®¬ ¤®© áâப¨ !!!
|
||
CALL AUTO_30A9 ; ¯®¨áª á«®¢
|
||
JR NZ,AUTO_3087 ; ¥á«¨ ¥â, ¢ë室
|
||
EX DE,HL
|
||
INC DE
|
||
LD B,0
|
||
LD HL,AUTO_31C8
|
||
ADD HL,BC
|
||
LD A,(HL)
|
||
LD HL,(DOS_CH_ADR)
|
||
LD (HL),A
|
||
INC HL
|
||
EX DE,HL
|
||
RST RST20
|
||
DW 019DDH
|
||
PUSH BC
|
||
RST RST20
|
||
DW 019E8H
|
||
POP BC
|
||
LD A,(DOS_ERROR)
|
||
OR A
|
||
JR NZ,AUTO_3087
|
||
LD HL,(MED_START)
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
EX DE,HL
|
||
OR A
|
||
SBC HL,BC
|
||
EX DE,HL
|
||
LD (HL),D
|
||
DEC HL
|
||
LD (HL),E
|
||
AUTO_3087:
|
||
LD HL,(DOS_CH_ADR)
|
||
LD A,(HL)
|
||
CP 13
|
||
RET Z
|
||
INC HL ; á«¥¤ãî饥 á«®¢®
|
||
LD (DOS_CH_ADR),HL
|
||
LD A,(HL)
|
||
CP 13
|
||
RET Z
|
||
CP '"'
|
||
JR NZ,AUTO_3057
|
||
AUTO_309A:
|
||
INC HL
|
||
LD A,(HL)
|
||
CP 13
|
||
RET Z
|
||
CP '"'
|
||
JR NZ,AUTO_309A
|
||
INC HL
|
||
LD (DOS_CH_ADR),HL
|
||
JR AUTO_3057
|
||
AUTO_30A9:
|
||
LD HL,(DOS_CH_ADR)
|
||
LD DE,AUTO_30FD
|
||
LD C,0
|
||
AUTO_30B1:
|
||
LD A,(HL)
|
||
AND 223
|
||
LD B,A
|
||
OR A
|
||
JR NZ,AUTO_30BB
|
||
INC HL
|
||
JR AUTO_30B1
|
||
AUTO_30BB:
|
||
LD A,(DE)
|
||
AND 128
|
||
JR NZ,AUTO_30C8
|
||
LD A,(DE)
|
||
CP B
|
||
JR NZ,AUTO_30D9
|
||
INC HL
|
||
INC DE
|
||
JR AUTO_30B1
|
||
AUTO_30C8:
|
||
LD A,(DE)
|
||
AND 127
|
||
CP B
|
||
RET Z
|
||
AUTO_30CD:
|
||
INC C
|
||
LD HL,(DOS_CH_ADR)
|
||
INC DE
|
||
LD A,(DE)
|
||
CP 255
|
||
JR NZ,AUTO_30B1
|
||
OR A
|
||
RET
|
||
AUTO_30D9:
|
||
INC DE
|
||
LD A,(DE)
|
||
AND 128
|
||
JR Z,AUTO_30D9
|
||
JR AUTO_30CD
|
||
AUTO_30E1:
|
||
LD HL,(PPC)
|
||
INC HL
|
||
INC HL
|
||
LD A,H
|
||
OR L
|
||
JR Z,AUTO_30F4
|
||
XOR A
|
||
LD (DOS_ERROR),A
|
||
DEC HL
|
||
DEC HL
|
||
RST RST20
|
||
DW 0196EH
|
||
RET
|
||
AUTO_30F4:
|
||
LD A,255
|
||
LD (DOS_ERROR),A
|
||
LD HL,(E_LINE)
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
AUTO_30FD:
|
||
DB "SAVE",128, "SAV",197 ; 248,248
|
||
DB "LOAD",128, "LOA",196 ; 239,239
|
||
DB "RUN",128, "RU",206 ; 247,247
|
||
DB "CAT",128, "CA",212 ; 207,207
|
||
;
|
||
DB "ERASE",128, "ERAS",197 ; 210,210
|
||
DB "NEW",128, "NE",215 ; 230,230
|
||
DB "MOVE",128, "MOV",197 ; 209,209
|
||
DB "MERGE",128, "MERG",197 ; 213,213
|
||
;
|
||
DB "PEEK",128, "PEE",203 ; 190,190
|
||
DB "POKE",128, "POK",197 ; 244,244
|
||
DB "OPEN",131, "CLOSE",131 ; 211,212
|
||
DB "CODE",128, "COD",197 ; 175,175
|
||
;
|
||
DB "RND",128, "RN",196 ; 165,165
|
||
DB "DATA",128, "DAT",193 ; 228,228
|
||
DB "SCREEN",4,132, "SCREEN",132 ; 170,170
|
||
DB "COPY",128, "COP",217 ; 255,255
|
||
;
|
||
DB "FORMAT",128, "FORMA",212 ; 208,208
|
||
DB "GOTO",128, "GOT",207 ; 236,236
|
||
DB "LIST",128, "LIS",212 ; 240,240
|
||
DB "LINE",128, "LIN",197 ; 202,202
|
||
;
|
||
DB "VERIFY",128, "VERIF",217 ; 214,214
|
||
DB 255,255
|
||
|
||
AUTO_31C8:
|
||
DB 248,248
|
||
DB 239,239
|
||
DB 247,247
|
||
DB 207,207
|
||
|
||
DB 210,210
|
||
DB 230,230
|
||
DB 209,209
|
||
DB 213,213
|
||
|
||
DB 190,190
|
||
DB 244,244
|
||
DB 211,212
|
||
DB 175,175
|
||
|
||
DB 165,165
|
||
DB 228,228
|
||
DB 170,170
|
||
DB 255,255
|
||
|
||
DB 208,208
|
||
DB 236,236
|
||
DB 240,240
|
||
DB 202,202
|
||
|
||
DB 214,214
|
||
DB 0
|
||
;
|
||
;
|
||
;
|
||
AUTO_31F3:
|
||
BLOCK #31F3 - $,255
|
||
LD HL,(CHANS)
|
||
OR A
|
||
LD BC,BUFER
|
||
SBC HL,BC
|
||
RET
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
;
|
||
;
|
||
;
|
||
INIT_2X80:
|
||
JP AUTO_106E
|
||
INIT_2X80_1:
|
||
XOR A
|
||
LD (OPER_DISK),A
|
||
LD A,3Ch
|
||
LD (PDOS_COPY),A
|
||
OUT (P_DOS_FF),A
|
||
LD HL,8383h
|
||
LD (DISK_A),HL
|
||
LD (DISK_B),HL
|
||
LD (DISK_C),HL
|
||
LD (DISK_D),HL
|
||
LD HL,303H
|
||
LD (TIME_A),HL
|
||
LD (TIME_B),HL
|
||
LD (TIME_C),HL
|
||
LD (TIME_D),HL
|
||
; CALL INIT_SYS_PAGE
|
||
RET
|
||
;
|
||
;
|
||
;
|
||
LOAD_CR:
|
||
LD A,13
|
||
LD (COM_LN_COPY),A
|
||
JP AUTO_021D
|
||
;
|
||
;
|
||
;
|
||
PRINT_TRK:
|
||
PUSH HL
|
||
PUSH BC
|
||
PUSH AF
|
||
PUSH DE
|
||
LD A,207
|
||
LD (SCR_PL_L),A
|
||
LD A,15
|
||
LD (SCR_POS_L),A
|
||
LD A,E
|
||
JR CONV1
|
||
;
|
||
;
|
||
;
|
||
PRINT_LINE:
|
||
LD A,(HL)
|
||
CP 255
|
||
RET Z
|
||
RST RST10
|
||
INC HL
|
||
JR PRINT_LINE
|
||
;
|
||
;
|
||
;
|
||
CONV1:
|
||
LD B,'0'
|
||
CONV2:
|
||
SUB 10
|
||
JR C,CONV3
|
||
INC B
|
||
JR CONV2
|
||
CONV3:
|
||
PUSH AF
|
||
LD A,B
|
||
RST RST10
|
||
POP AF
|
||
ADD A,':'
|
||
RST RST10
|
||
POP DE
|
||
POP AF
|
||
POP BC
|
||
POP HL
|
||
EI
|
||
JP Goto_trk
|
||
|
||
|
||
MSG_FORM:
|
||
DB 22,0,0,"Formating trk:",23,21," side:",255
|
||
MSG_FILE_1:
|
||
DB 22,0,0,"File ",'"',19,1,255
|
||
MSG_FILE_2:
|
||
DB 19,0,'"',13," exists.. Overwrite ? (y/n)",255
|
||
MSG_DISK:
|
||
DB 22,0,0,"Disk : ",255
|
||
MSG_FORM_2:
|
||
DB 22,0,0,"FORMAT:",23,12," 1 - Original"
|
||
DB 13,23,12," 2 - Turbo"
|
||
DB 13,23,12," 3 - Turbo/FAST"
|
||
DB 13,23,12," 4 - Quick",255
|
||
; DB 13,23,12," 5 - RAM-Disk",255
|
||
MSG_AT00:
|
||
DB 22,0,0,255
|
||
|
||
FORM_STATE:
|
||
CALL INPUT_TXT
|
||
CALL SINTAX_RET
|
||
LD HL,(CH_ADR)
|
||
LD A,(HL)
|
||
CP '"'
|
||
JR NZ,FORM_NO_NEXT
|
||
INC HL
|
||
LD A,(HL)
|
||
FORM_NO_NEXT:
|
||
CP 0Dh
|
||
RET Z
|
||
CP 80H
|
||
RET Z
|
||
JP NC,CMD_ERROR
|
||
CP ' '
|
||
JP C,CMD_ERROR
|
||
AND 0DFh
|
||
LD (MED_START+1),A
|
||
RET
|
||
;
|
||
;
|
||
FORM_F01:
|
||
INC HL
|
||
LD A,(FL_LEN)
|
||
LD (HL),A
|
||
XOR A
|
||
RET
|
||
;
|
||
;
|
||
PRINT_SIDE1:
|
||
PUSH AF
|
||
LD A,'1'
|
||
JR PR_SIDE_X
|
||
PRINT_SIDE0:
|
||
PUSH AF
|
||
LD A,'0'
|
||
PR_SIDE_X:
|
||
PUSH AF
|
||
LD A,219
|
||
LD (SCR_PL_L),A
|
||
LD A,27
|
||
LD (SCR_POS_L),A
|
||
POP AF
|
||
RST RST10
|
||
POP AF
|
||
JP AUTO_1FFD
|
||
;
|
||
;
|
||
;
|
||
OWERWR_1:
|
||
CALL LOW_CLS_AT00
|
||
LD HL,MSG_FILE_1
|
||
CALL PRINT_LINE
|
||
CALL PRINT_NAME
|
||
LD HL,MSG_FILE_2
|
||
CALL PRINT_LINE
|
||
LD HL,AUTO_4000
|
||
PAUSE_X01:
|
||
DEC HL
|
||
LD A,H
|
||
OR L
|
||
JR NZ,PAUSE_X01
|
||
CALL AUTO_1052
|
||
JR REWR_CONT1
|
||
|
||
|
||
|
||
PRINT_NAME:
|
||
LD A,(OPER_DISK)
|
||
ADD A,'A'
|
||
RST RST10
|
||
LD A,':'
|
||
RST RST10
|
||
LD HL,FL_NAME
|
||
JP AUTO_2938
|
||
|
||
|
||
REWR_CONT1:
|
||
PUSH AF
|
||
CALL LOW_CLS_AT00
|
||
POP AF
|
||
CP 'Y'
|
||
RET Z
|
||
CP 13
|
||
RET
|
||
|
||
|
||
|
||
SET_7_TYPE:
|
||
CALL AUTO_165D
|
||
LD HL,FL_TYPE
|
||
SET 7,(HL)
|
||
RET
|
||
|
||
FORM_X02:
|
||
CALL LOW_CLS_AT00
|
||
LD HL,MSG_FORM ; 'format track: side:'
|
||
CALL PRINT_LINE
|
||
CALL FORMAT_ALL ; ¯à®£à ¬¬ ä®à¬ â¨à®¢ ¨ï !
|
||
CALL LOW_CLS_AT00
|
||
LD HL,MSG_DISK
|
||
CALL PRINT_LINE
|
||
RET
|
||
|
||
FORM_X03:
|
||
LD A,(MED_START+1)
|
||
CP 15H
|
||
CALL AUTO_1C57
|
||
CALL AUTO_1D97
|
||
LD A,2
|
||
RST RST20
|
||
DW 01601H
|
||
LD HL,NEW_NAME
|
||
RST PRINT_LN
|
||
|
||
FORM_X04:
|
||
CALL AUTO_106E
|
||
LD A,(MED_START+1)
|
||
AND A
|
||
JR NZ,FORM_NO_Q
|
||
CALL DISK_REDIR
|
||
CP 4
|
||
LD A,14H
|
||
JR NC,FORM_NO_Q
|
||
FORM_X05:
|
||
CALL LOW_CLS_AT00
|
||
LD HL,MSG_FORM_2
|
||
CALL PRINT_LINE
|
||
CALL AUTO_1052
|
||
AND A
|
||
JP Z,AUTO_01D3
|
||
FORM_NO_Q:
|
||
LD (MED_START+1),A
|
||
SUB 11H
|
||
JR Z,F_ORIGINAL
|
||
JR C,FORM_X05
|
||
DEC A
|
||
JR Z,F_TURBO
|
||
DEC A
|
||
JR Z,F_FAST
|
||
DEC A
|
||
JR Z,F_TURBO
|
||
; JR FORM_LOOP_X
|
||
|
||
F_ORIGINAL: ; Original FORMAT
|
||
LD HL,AUTO_1FB9
|
||
FORM_X07:
|
||
XOR A
|
||
FORM_X08:
|
||
LD (FL_LEN),A
|
||
LD (FL_START),HL
|
||
CALL LOW_CLS_AT00
|
||
RET
|
||
|
||
F_TURBO: ; Turbo FORMAT
|
||
LD HL,F_TURBO_DT
|
||
JR FORM_X07
|
||
|
||
F_FAST: ; Turbo/FAST FORMAT
|
||
LD A,1
|
||
LD HL,F_TURBO_DT
|
||
JR FORM_X08
|
||
|
||
F_TURBO_DT:
|
||
DB 1,2,3,4,5,6,7,8,9,10,11,12,13,14,15
|
||
DB 16,1
|
||
|
||
|
||
SUB_HL_14:
|
||
LD A,L
|
||
SUB 14
|
||
LD L,A
|
||
RET NC
|
||
DEC H
|
||
RET
|
||
|
||
LOW_CLS_AT00:
|
||
RST RST20
|
||
DW 00D6EH
|
||
LD HL,MSG_AT00
|
||
JP PRINT_LINE
|
||
|
||
TYPE_FL_X00:
|
||
LD A,(FL_TYPE)
|
||
CP 'B'
|
||
JR Z,TYPE_FL_X01
|
||
CP 'D'
|
||
JR Z,TYPE_FL_X01
|
||
CP '#'
|
||
JR Z,TYPE_FL_X01
|
||
LD A,'C'
|
||
LD (FL_TYPE),A
|
||
TYPE_FL_X01:
|
||
LD A,(DOS_ERROR)
|
||
RET
|
||
|
||
|
||
TYPE_FL_X02:
|
||
CALL AUTO_1CF0
|
||
CALL Z,SET_7_TYPE
|
||
TYPE_FL_X03:
|
||
CALL RD_HEAD_DSK
|
||
CALL AUTO_1AC4
|
||
JP AUTO_1B53
|
||
|
||
OWERWR_X01:
|
||
LD HL,FL_TYPE
|
||
BIT 7,(HL)
|
||
JR NZ,OWERWR_X02
|
||
JP AUTO_1B59
|
||
OWERWR_X02:
|
||
RES 7,(HL)
|
||
CALL OWERWR_1
|
||
JP NZ,AUTO_01D3
|
||
LD DE,(DOS_CH_ADR)
|
||
LD A,E
|
||
OR A
|
||
JR Z,OWERWR_X03
|
||
INC D
|
||
OWERWR_X03:
|
||
LD A,(FL_SIZE)
|
||
CP D
|
||
JR NC,OWERWR_X04
|
||
CALL AUTO_2926
|
||
JR TYPE_FL_X03
|
||
OWERWR_X04:
|
||
LD B,D
|
||
LD HL,(E_LINE)
|
||
LD (HL),170
|
||
INC HL
|
||
LD DE,(AUTO_5CD1)
|
||
LD (HL),E
|
||
INC HL
|
||
LD (HL),D
|
||
LD C,6
|
||
LD HL,(MED_LEN)
|
||
LD (FL_LEN),HL
|
||
LD HL,(MED_START)
|
||
LD (FL_START),HL
|
||
LD DE,(FL_PLACE)
|
||
CALL WRITE_DISK
|
||
LD BC,(FL_NUMBER)
|
||
CALL AUTO_1BBF
|
||
CALL AUTO_1665
|
||
RET
|
||
|
||
|
||
LABEL_X00:
|
||
EI
|
||
JP AUTO_2F69
|
||
|
||
;///////////////////////////////////
|
||
|
||
SIDE_FORMAT: ; „«ï ä®à¬ â¨à®¢ ¨ï á ®¬¥à®¬ áâ®à®ë !!!
|
||
LD A,(PDOS_COPY)
|
||
BIT 5,A
|
||
JR Z,SIDE_OUTS
|
||
INC D
|
||
SIDE_OUTS:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR Z,SIDE_OUTS
|
||
RET M
|
||
OUT (C),D
|
||
RET
|
||
;**************************************
|
||
|
||
INCLUDE 'trdos/tr_rmd_s.asz'
|
||
INCLUDE 'trdos/tr_msd_s.asz'
|
||
|
||
;**************************************
|
||
; „®¯®«¥¨ï ª ¯à®£à ¬¬¥ MOVE
|
||
;**************************************
|
||
|
||
MOVE_X00:
|
||
LD HL,(FL_N_4)
|
||
MOVE_X01:
|
||
LD A,(HL)
|
||
CP 0
|
||
RET Z
|
||
CP 1
|
||
JR Z,MOVE_X02
|
||
CALL MOVE_X03
|
||
MOVE_X02:
|
||
LD DE,RST10
|
||
ADD HL,DE
|
||
JR MOVE_X01
|
||
MOVE_X03:
|
||
PUSH HL
|
||
LD DE,CONT_1+4
|
||
ADD HL,DE
|
||
LD C,(HL)
|
||
INC HL
|
||
LD E,(HL)
|
||
INC HL
|
||
LD D,(HL)
|
||
LD HL,(MED_START)
|
||
AND A
|
||
SBC HL,DE
|
||
ADD HL,DE
|
||
JR Z,MOVE_X05
|
||
LD (AUTO_5CD5),DE
|
||
LD A,C
|
||
LD (AUTO_5CD3),A
|
||
CALL AUTO_17A5
|
||
MOVE_X04:
|
||
POP HL
|
||
PUSH HL
|
||
LD DE,(FL_N_2)
|
||
LD BC,RST10
|
||
LDIR
|
||
LD (FL_N_2),DE
|
||
EX DE,HL
|
||
LD DE,(FL_NAME)
|
||
DEC HL
|
||
LD (HL),D
|
||
DEC HL
|
||
LD (HL),E
|
||
LD HL,(MED_START)
|
||
LD (FL_NAME),HL
|
||
LD HL,FL_N_6
|
||
INC (HL)
|
||
POP HL
|
||
RET
|
||
MOVE_X05:
|
||
LD A,C
|
||
AND 15
|
||
ADD A,E
|
||
BIT 4,A
|
||
RES 4,A
|
||
LD E,A
|
||
JR Z,MOVE_X06
|
||
INC D
|
||
MOVE_X06:
|
||
LD A,C
|
||
RRC A
|
||
RRC A
|
||
RRC A
|
||
RRC A
|
||
AND 15
|
||
ADD A,D
|
||
LD D,A
|
||
LD (MED_START),DE
|
||
JR MOVE_X04
|
||
|
||
;*************************************
|
||
EDIT_RET:
|
||
LD HL,(E_LINE)
|
||
LD (HL),254
|
||
INC HL
|
||
LD (HL),13
|
||
INC HL
|
||
LD (HL),80H
|
||
RET
|
||
|
||
EDIT_X00:
|
||
RES 5,(IY+1)
|
||
RST RST20 ; ¢¢®¤ ª« ¢¨è¨
|
||
DW 15D4h
|
||
CP 4
|
||
JR Z,EDIT_RET
|
||
CP 7
|
||
JR NZ,EDIT_X02
|
||
CALL BEEP_1
|
||
CALL AUTO_212A ; ¢®ááâ ®¢«¥¨¥ ª®¬. áâப¨
|
||
LD HL,(E_LINE)
|
||
LD A,13
|
||
LD BC,0
|
||
CPIR
|
||
DEC HL
|
||
LD (K_CUR),HL
|
||
INC HL
|
||
INC HL
|
||
LD (HL),128
|
||
EDIT_X01:
|
||
RST RST20 ; ¢¢®¤ ª« ¢¨è¨
|
||
DW 015D4H
|
||
EDIT_X02:
|
||
CALL BEEP_1
|
||
CP 24
|
||
JR NC,EDIT_X03
|
||
CP 7 ; ¤® 7 - ¢¢®¤ ¢ ¡ãä¥à
|
||
JR C,EDIT_X03
|
||
CP 16 ; ®â 7 ¤® 16 - ।. áâப¨
|
||
JR C,EDIT_X04
|
||
RST RST20 ; ¢¢®¤ ᯥæ ᨬ¢®«®¢
|
||
DW 00F58H
|
||
JR EDIT_X01
|
||
EDIT_X03:
|
||
RST RST20 ; áâ ¤. ¢¢®¤ ¢ ¡ãä¥à । ªâ¨à®¢ ¨ï
|
||
DW 00F81H
|
||
JR EDIT_X01
|
||
EDIT_X04:
|
||
CP 7 ; 7 - ¥â ®¯¥à 樨
|
||
JR Z,EDIT_X01
|
||
CP 13 ; CR - ¢®§¢à â ¨§ ।. áâப¨
|
||
RET Z
|
||
CP 10 ; ¢¢¥àå/¢¨§ - ¥â ®¯¥à 樨
|
||
JR Z,EDIT_X01
|
||
CP 11
|
||
JR Z,EDIT_X01
|
||
RST RST20 ; ¢ë¯®«¨âì ®¯¥à æ¨î । ªâ¨à®¢ ¨ï
|
||
DW 00F92H
|
||
JR EDIT_X01
|
||
|
||
|
||
EDIT_X05:
|
||
CALL AUTO_1D9F
|
||
JP AUTO_0239
|
||
|
||
;******************************************
|
||
|
||
RUS_PRINT:
|
||
AND '?'
|
||
LD L,A
|
||
LD H,0
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
ADD HL,HL
|
||
LD BC,ZG_RUS
|
||
ADD HL,BC
|
||
DB 17
|
||
SUB D
|
||
LD E,H
|
||
LD BC,RST08
|
||
LDIR
|
||
LD A,201
|
||
LD (AUTO_5C9A),A
|
||
JP AUTO_5C9A
|
||
|
||
;**************************************
|
||
|
||
; DSS 3900H,'#'
|
||
|
||
;**********************************
|
||
DISPLAY "14k"
|
||
|
||
BLOCK #3C00 - $,255
|
||
AUTO_3C00:
|
||
RST R38
|
||
JR AUTO_3C06
|
||
RST R38
|
||
JR AUTO_3C09
|
||
;
|
||
;
|
||
BLOCK #3C06 - $,255
|
||
AUTO_3C06:
|
||
JP AUTO_3D00
|
||
;
|
||
;
|
||
BLOCK #3C09 - $,255
|
||
AUTO_3C09:
|
||
JP AUTO_3D03
|
||
|
||
;************************************
|
||
;!FIXIT not used
|
||
BLOCK #3C10 - $,255
|
||
;KBD_EXP:
|
||
LD A,D_ROM16OFF
|
||
OUT (CNF_PORT),A
|
||
RET
|
||
;
|
||
;************************************
|
||
;!FIXIT not used
|
||
BLOCK #3C18 - $,255
|
||
;KBD_OFF:
|
||
LD A,D_ROM16OFF
|
||
OUT (CNF_PORT),A
|
||
RET
|
||
|
||
;************************************
|
||
;!FIXIT not used
|
||
BLOCK #3C20 - $,255
|
||
READR_X:
|
||
CALL get_disk_time:
|
||
LD B,A
|
||
JP set_side_0
|
||
;************************************
|
||
;!FIXIT not used
|
||
BLOCK #3C30 - $,255
|
||
IN A,(WG_COM)
|
||
RET
|
||
|
||
;*****************************
|
||
|
||
NEW_NAME:
|
||
DB 22,1,3,"* Sprinter TR-DOS v.7.01 *"
|
||
DB 22,3,6, "(c) 2001 PETERS PLUS"
|
||
DB 22,5,12, "* R.F.*"
|
||
DB 22,7,9, "BETA 4Mb",0
|
||
|
||
;*****************************
|
||
|
||
;FORMATER:
|
||
; LD DE,(E_LINE)
|
||
; LD HL,TX_FORMAT
|
||
; LD BC,LEN_TX_F
|
||
; LDIR
|
||
; EX DE,HL
|
||
; JP CMD_NEW_EXEC
|
||
;TX_FORMAT:
|
||
; DB 247,'"C:FORMATER"'
|
||
;LEN_TX_F EQU $-TX_FORMAT
|
||
;******************************
|
||
;******************************
|
||
PRINT_RED:
|
||
PUSH HL
|
||
PUSH BC
|
||
PUSH DE
|
||
PUSH AF
|
||
CALL xchg_intf1
|
||
POP AF
|
||
CALL AUTO_3D94
|
||
CALL xchg_intf1
|
||
POP DE
|
||
POP BC
|
||
POP HL
|
||
RET
|
||
|
||
;*******************************
|
||
BLOCK #3CC0 - $,255
|
||
MAGIC_1:
|
||
PUSH AF
|
||
LD A,D_ROM16OFF
|
||
OUT (CNF_PORT),A
|
||
POP AF
|
||
JP MAGIC_2
|
||
;*******************************
|
||
BLOCK #3CC9 - $,255
|
||
MAGIC_3:
|
||
PUSH AF
|
||
LD A,D_ROM16OFF
|
||
OUT (CNF_PORT),A
|
||
POP AF
|
||
RETN
|
||
|
||
;*******************************
|
||
BEEP_1:
|
||
PUSH AF
|
||
LD HL,200 ; BEEP
|
||
LD D,H
|
||
LD E,(IY-1)
|
||
RST RST20
|
||
DW 03B5h
|
||
|
||
POP AF
|
||
RET
|
||
|
||
; DSS 3CF0H,255
|
||
;JP_HL_48:
|
||
; PUSH HL
|
||
;SW_ROM:
|
||
; PUSH AF
|
||
; LD A,0
|
||
; OUT (CNF_PORT),A
|
||
; POP AF
|
||
; RET
|
||
|
||
REDIR_3D13:
|
||
BIT 7,C
|
||
JP NZ,EXP_FNS ;#3FF8 EXP
|
||
BIT 6,C
|
||
JP Z,AUTO_283C
|
||
RES 6,C
|
||
JP HD_CMD ;#3FF0 ROM. DI
|
||
|
||
BLOCK #3CFA - $,255
|
||
|
||
;*****************************
|
||
|
||
AUTO_3CFA:
|
||
JP xchg_intf1
|
||
|
||
;****** 3D13 redirection ******
|
||
AUTO_3CFD:
|
||
JP REDIR_3D13
|
||
; JP AUTO_283C
|
||
|
||
;***********************************************************************;
|
||
BLOCK #3D00-$,#FF
|
||
|
||
AUTO_3D00:
|
||
NOP
|
||
JR AUTO_3D31
|
||
AUTO_3D03:
|
||
NOP
|
||
JR AUTO_3D1A
|
||
AUTO_3D06:
|
||
NOP
|
||
JP AUTO_25EF
|
||
AUTO_3D0A:
|
||
JP AUTO_244A
|
||
NOP
|
||
AUTO_3D0E:
|
||
JR AUTO_3D0A
|
||
NOP
|
||
JR AUTO_3CFA
|
||
;****** 3D13 point !!! ****
|
||
NOP
|
||
JR AUTO_3CFD
|
||
AUTO_3D16:
|
||
NOP
|
||
JP LABEL_X00
|
||
AUTO_3D1A:
|
||
CALL AUTO_3D21
|
||
PUSH HL
|
||
JP AUTO_016C
|
||
AUTO_3D21:
|
||
CALL AUTO_31F3 ; ¯à®¢¥à¨âì ¡ë« ®â¢¥¤¥ ¯ ¬ïâì ¨«¨ ¥â
|
||
NOP
|
||
NOP
|
||
CALL C,AUTO_3D4C ; ¥á«¨ ¥â, â® ¢ë§¢ âì ¯à®£à ¬¬ã ¨¨æ.
|
||
LD HL,RET_INS
|
||
RET
|
||
NOP
|
||
NOP
|
||
AUTO_3D2F:
|
||
NOP
|
||
RET
|
||
AUTO_3D31:
|
||
CALL AUTO_3D21
|
||
PUSH HL
|
||
JP EDIT_X05
|
||
AUTO_3D38:
|
||
XOR A
|
||
OUT (#F7),A ;?????
|
||
IN A,(#F7) ;?????
|
||
CP 30
|
||
JR Z,AUTO_3D44
|
||
CP 31
|
||
RET NZ
|
||
.Size EQU $-AUTO_3D38
|
||
AUTO_3D44:
|
||
RST RST08
|
||
DB 49 ;!HARDCODE
|
||
LD A,1
|
||
LD (INTERF_I),A
|
||
RET
|
||
.Size EQU $-AUTO_3D44
|
||
AUTO_3D4C:
|
||
XOR A
|
||
OUT (P_DOS_FF),A
|
||
IN A,(#F6) ;?????
|
||
LD HL,AUTO_3D38
|
||
LD DE,MEM_BOT
|
||
LD BC,AUTO_3D38.Size + AUTO_3D44.Size
|
||
LDIR
|
||
LD HL,AUTO_3D67
|
||
PUSH HL
|
||
LD HL,AUTO_3D2F
|
||
PUSH HL
|
||
JP MEM_BOT
|
||
|
||
AUTO_3D67: ; ¯®«ãç¨âì ¯ ¬ïâì ¤«ï DOS
|
||
LD HL,AUTO_2F90 ; ¨ ¢¥àãâìáï ¢ ¯à®£à ¬¬ã ¨¨æ. VARS
|
||
PUSH HL
|
||
LD HL,AUTO_3D2F
|
||
PUSH HL
|
||
LD HL,1655h ;!HARDCODE
|
||
PUSH HL
|
||
LD HL,AUTO_5BFF
|
||
PUSH HL
|
||
LD (HL),#C9 ; RET code
|
||
LD HL,P_RAMTOP+1
|
||
LD BC,CONT_8+7
|
||
RET
|
||
PRINT_CR:
|
||
LD A,13
|
||
PRINT_SYM:
|
||
JP PRINT_RED
|
||
RST R38
|
||
RST R38
|
||
NOP
|
||
NOP
|
||
JP RUS_PRINT
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
NOP
|
||
NOP
|
||
RST R38
|
||
RST R38
|
||
RST R38
|
||
AUTO_3D94:
|
||
RST RST20
|
||
DW 00010H
|
||
RET
|
||
AUTO_3D98:
|
||
LD A,8
|
||
WG93_EXE:
|
||
OUT (WG_COM),A
|
||
AUTO_3D9C:
|
||
PUSH HL
|
||
RST RST20
|
||
DW 01F54H
|
||
;RET_1F54:
|
||
JR C,AUTO_3DA5
|
||
RST RST20
|
||
DW 01B7BH
|
||
AUTO_3DA5:
|
||
POP HL
|
||
IN A,(P_DOS_FF)
|
||
AND 128
|
||
JR Z,AUTO_3D9C
|
||
RET
|
||
RESET_WG:
|
||
LD A,8
|
||
CALL WG93_EXE
|
||
LD DE,START
|
||
IN A,(WG_COM)
|
||
AND 2
|
||
LD B,A
|
||
AUTO_3DBA:
|
||
IN A,(WG_COM)
|
||
AND 2
|
||
CP B
|
||
RET NZ
|
||
INC DE
|
||
LD A,E
|
||
OR D
|
||
JR NZ,AUTO_3DBA
|
||
JP AUTO_3EE7
|
||
AUTO_3DC8:
|
||
LD A,(CONT_DISK)
|
||
SET_DISK:
|
||
JP RAMD_X12
|
||
AUTO_3DCE:
|
||
LD HL,PDOS_COPY
|
||
LD C,A
|
||
LD A,3Ch
|
||
OR C
|
||
OUT (P_DOS_FF),A
|
||
LD (HL),A
|
||
CALL get_disk_time
|
||
AND 128
|
||
JR Z,AUTO_3DFA
|
||
CALL RESET_WG
|
||
CALL test_disk
|
||
CALL get_disk_type
|
||
CP 255
|
||
JR NZ,AUTO_3DFA
|
||
PUSH HL
|
||
CALL test_d_traks
|
||
POP HL
|
||
CP 'P'
|
||
LD A,0
|
||
JR NZ,AUTO_3DF9
|
||
LD A,128
|
||
AUTO_3DF9:
|
||
LD (HL),A
|
||
AUTO_3DFA:
|
||
CALL READ_TRK_NUM
|
||
pause_50ms:
|
||
LD A,12 ;'P'
|
||
pause_1ms:
|
||
LD C,255
|
||
AUTO_3E01:
|
||
DEC C
|
||
JR NZ,AUTO_3E01
|
||
DEC A
|
||
JR NZ,pause_1ms
|
||
RET
|
||
get_disk_time:
|
||
LD DE,TIME_A
|
||
AUTO_3E0B:
|
||
LD HL,(OPER_DISK)
|
||
ADD HL,DE
|
||
LD A,(HL)
|
||
RET
|
||
get_disk_type:
|
||
LD DE,DISK_A
|
||
JR AUTO_3E0B
|
||
test_disk:
|
||
CALL get_disk_time
|
||
LD B,8
|
||
LD C,4
|
||
AUTO_3E1D:
|
||
LD (HL),B
|
||
LD A,8
|
||
CALL WG93_EXE
|
||
LD A,' '
|
||
LD B,11
|
||
CALL Goto_trk
|
||
LD B,(HL)
|
||
LD A,1
|
||
CALL Goto_trk
|
||
IN A,(WG_COM)
|
||
AND 4
|
||
JR NZ,AUTO_3E3F
|
||
XOR A
|
||
CALL Goto_trk
|
||
IN A,(WG_COM)
|
||
AND 4
|
||
RET NZ
|
||
AUTO_3E3F:
|
||
INC B
|
||
DEC C
|
||
RET Z
|
||
JR AUTO_3E1D
|
||
Goto_trk:
|
||
OUT (WG_DATA),A
|
||
LD A,B
|
||
OR 24
|
||
JP WG93_EXE_
|
||
Goto_trkx:
|
||
OUT (WG_DATA),A
|
||
PUSH BC
|
||
LD B,A
|
||
IN A,(WG_TRK)
|
||
CP B
|
||
POP BC
|
||
PUSH AF
|
||
LD A,B
|
||
OR 24
|
||
CALL WG93_EXE_
|
||
POP AF
|
||
RET Z
|
||
PUSH BC
|
||
CALL pause_50ms
|
||
POP BC
|
||
RET
|
||
Global_trk:
|
||
LD C,A
|
||
CALL set_side_0
|
||
CALL get_disk_type
|
||
AND 2
|
||
CALL NZ,made_trk_side2
|
||
PUSH BC
|
||
BIT 7,(HL)
|
||
JR Z,AUTO_3E83
|
||
BIT 0,(HL)
|
||
JR NZ,AUTO_3E83
|
||
IN A,(WG_TRK)
|
||
CP C
|
||
JR Z,AUTO_3E82
|
||
RLCA
|
||
OUT (WG_TRK),A
|
||
LD A,C
|
||
RLCA
|
||
AUTO_3E82:
|
||
LD C,A
|
||
AUTO_3E83:
|
||
CALL get_disk_time
|
||
LD B,A
|
||
IN A,(WG_TRK)
|
||
CP C
|
||
PUSH BC
|
||
CALL NZ,pause_50ms
|
||
POP BC
|
||
LD A,C
|
||
CALL Goto_trkx
|
||
POP BC
|
||
LD A,C
|
||
OUT (WG_TRK),A
|
||
LD A,(DRV_READY)
|
||
OR A
|
||
RET Z
|
||
XOR A
|
||
LD (DRV_READY),A
|
||
pause_750ms:
|
||
LD B,3
|
||
AUTO_3EA2:
|
||
LD A,255
|
||
CALL pause_1ms
|
||
DJNZ AUTO_3EA2
|
||
RET
|
||
made_trk_side2:
|
||
LD A,C
|
||
OR A
|
||
RRA
|
||
LD C,A
|
||
RET NC
|
||
JP set_side_1 ; SET SIDE 1
|
||
READ_ADR_LABL:
|
||
CALL set_side_0 ; SET SIDE 0
|
||
READ_ADR_LABL2:
|
||
IN A,(WG_COM)
|
||
AND 128
|
||
LD (DRV_READY),A
|
||
IN A,(WG_TRK)
|
||
LD H,A ; ⥪ãéãî ¤®à®¦ªã
|
||
CALL Goto_trk ; ¯®§¨æ¨®¨à®¢ ¨¥
|
||
; CALL READR_X
|
||
LD C,127
|
||
LD D,1
|
||
DI
|
||
LD A,0C0h ; ç⥨¥ ¤à¥á®© ¬¥âª¨
|
||
OUT (WG_COM),A
|
||
PUSH BC
|
||
LD B,6
|
||
AUTO_3ECE:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR NZ,AUTO_3EF2
|
||
INC DE
|
||
LD A,E
|
||
OR D
|
||
JR NZ,AUTO_3ECE
|
||
DJNZ AUTO_3ECE
|
||
POP BC
|
||
EI
|
||
LD A,208 ; ¯à¥à¢ âì ¢ë¯®«¥¨¥
|
||
OUT (WG_COM),A
|
||
LD A,(AUTO_5CD1)
|
||
CP 255
|
||
RET Z
|
||
AUTO_3EE7:
|
||
CALL set_error_26
|
||
LD A,255
|
||
LD (FLAG_BOOT),A
|
||
JP exit_No_disk
|
||
AUTO_3EF2:
|
||
POP BC
|
||
IN H,(C)
|
||
AUTO_3EF5:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR Z,AUTO_3EF5
|
||
EI
|
||
RET M
|
||
DI
|
||
IN A,(WG_DATA)
|
||
JR AUTO_3EF5
|
||
save_sector:
|
||
LD (SEC_NUM),A
|
||
RET
|
||
save_bufer:
|
||
LD (CONT_BUF_ADR),HL
|
||
RET
|
||
AUTO_3F0A:
|
||
LD A,160
|
||
JR AUTO_3F10
|
||
AUTO_3F0E:
|
||
LD A,128
|
||
AUTO_3F10:
|
||
LD (COMAND_WG),A
|
||
AUTO_3F13:
|
||
LD D,10
|
||
AUTO_3F15:
|
||
PUSH DE
|
||
DI
|
||
LD A,(SEC_NUM)
|
||
INC A
|
||
OUT (WG_SEC),A
|
||
LD HL,(CONT_BUF_ADR)
|
||
LD C,127
|
||
LD A,(COMAND_WG)
|
||
OUT (WG_COM),A
|
||
CP 160
|
||
PUSH AF
|
||
CALL Z,AUTO_3FBA
|
||
POP AF
|
||
CALL NZ,AUTO_3FD5
|
||
POP DE
|
||
EI
|
||
IN A,(WG_COM)
|
||
LD B,A
|
||
AND 127
|
||
RET Z
|
||
AUTO_3F39:
|
||
LD HL,READ_ONLY_MSG
|
||
AND '@'
|
||
JR NZ,AUTO_3F4B
|
||
LD A,B
|
||
AND 4
|
||
JR Z,AUTO_3FA0
|
||
DEC D
|
||
JR NZ,AUTO_3F15
|
||
AUTO_3F48:
|
||
LD HL,DISK_ERROR_MSG
|
||
AUTO_3F4B:
|
||
LD A,208
|
||
OUT (WG_COM),A
|
||
LD A,B
|
||
AND 1
|
||
JP NZ,AUTO_3EE7
|
||
IN A,(WG_TRK)
|
||
OR A
|
||
JR NZ,AUTO_3F5F
|
||
IN A,(WG_SEC)
|
||
CP 10
|
||
RET Z
|
||
AUTO_3F5F:
|
||
PUSH HL
|
||
CALL AUTO_1D97
|
||
POP HL
|
||
RST PRINT_LN
|
||
LD HL,AUTO_2A13
|
||
RST PRINT_LN
|
||
IN A,(WG_TRK)
|
||
CALL AUTO_1DA3
|
||
LD HL,AUTO_2A18
|
||
RST PRINT_LN
|
||
IN A,(WG_SEC)
|
||
CALL AUTO_1DA3
|
||
LD HL,AUTO_29FE
|
||
RST PRINT_LN
|
||
AUTO_3F7B:
|
||
CALL AUTO_1052
|
||
CP 'I'
|
||
RET Z
|
||
CP 'R'
|
||
JR Z,AUTO_3F94
|
||
CP 'A'
|
||
JR NZ,AUTO_3F7B
|
||
CALL set_error_26
|
||
LD A,7
|
||
LD (DOS_ERR_2),A
|
||
JP AUTO_01D3
|
||
AUTO_3F94:
|
||
LD A,(CONT_TRK)
|
||
CALL Global_trk
|
||
CALL pause_750ms
|
||
JP AUTO_3F13
|
||
AUTO_3FA0:
|
||
DEC D
|
||
JP Z,AUTO_3F48
|
||
PUSH DE
|
||
CALL get_disk_time
|
||
AND 2
|
||
JR NZ,AUTO_3FAD
|
||
INC (HL)
|
||
AUTO_3FAD:
|
||
CALL AUTO_3D98
|
||
LD A,(CONT_TRK)
|
||
CALL Global_trk
|
||
POP DE
|
||
JP AUTO_3F15
|
||
;******************************************
|
||
; Sector Write !!!
|
||
;******************************************
|
||
AUTO_3FBA:
|
||
LD B,4
|
||
AUTO_3FBC:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR NZ,AUTO_3FD1
|
||
INC DE
|
||
LD A,E
|
||
OR D
|
||
JR NZ,AUTO_3FBC
|
||
DJNZ AUTO_3FBC
|
||
RET
|
||
AUTO_3FCA:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR Z,AUTO_3FCA
|
||
RET M
|
||
AUTO_3FD1:
|
||
OUTI
|
||
JR AUTO_3FCA
|
||
;******************************************
|
||
; Sector Read !!!
|
||
;******************************************
|
||
AUTO_3FD5:
|
||
LD B,4
|
||
AUTO_3FD7:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR NZ,AUTO_3FEC
|
||
INC DE
|
||
LD A,E
|
||
OR D
|
||
JR NZ,AUTO_3FD7
|
||
DJNZ AUTO_3FD7
|
||
RET
|
||
AUTO_3FE5:
|
||
IN A,(P_DOS_FF)
|
||
AND 192
|
||
JR Z,AUTO_3FE5
|
||
RET M
|
||
AUTO_3FEC:
|
||
INI
|
||
JR AUTO_3FE5
|
||
;******************************************
|
||
|
||
|
||
;******************************************
|
||
BLOCK #3FF0-$, #FF
|
||
HD_CMD: PUSH AF
|
||
DI
|
||
LD A,D_ROM16ON
|
||
OUT (SYS_PORT_ON),A
|
||
POP AF
|
||
RET
|
||
;******************************************
|
||
|
||
|
||
;******************************************
|
||
BLOCK #3FF8-$, #FF
|
||
EXP_FNS:
|
||
PUSH AF
|
||
DI
|
||
XOR A ; D_ROM16OFF
|
||
OUT (SYS_PORT_ON),A
|
||
POP AF
|
||
RET
|
||
;******************************************
|
||
BLOCK #4000-$, #FF
|
||
DISPLAY "16k..ALL!"
|
||
;
|
||
|