;浜様様様様様様様様様様様様様用様様様様様様様様様様様様様様融 ; TR-DOS ver. 5.04Em ELSY Co. 23.11.95 ;把陳陳陳陳陳陳陳陳陳陳陳陳陳珍陳陳陳陳陳陳陳陳陳陳陳陳陳陳超 ; RE-SOURCE'd by Z80MU PROFESSIONAL version 5.2b ;藩様様様様様様様様様様様様様様様様様様様様様様様様様様様様夕 ;!TODO 甎讌碎 ↓ヨ┘ 珥 #E0 #E3 か 甌縲キ 爛痰牀 爬 ムュ皀 ≡鍼 #3D2F DEVICE ZXSPECTRUM128 ORG 0 ;*************************************** INCLUDE 'Shared_Includes/constants/sp2000.inc' INCLUDE 'inc/rom_routines.inc' INCLUDE 'Shared_Includes/constants/zx_char_codes.inc' INCLUDE 'Shared_Includes/constants/BIOS_equ.inc' INCLUDE 'Shared_Includes/constants/ZX_VARS.inc' INCLUDE 'Shared_Includes/macroses/macros.z80' TRDOS_ROM_CMD: .READ_BPB EQU BIOS.HDD_READ_BPB and #BF .READ EQU BIOS.HDD_READ and #BF .WRITE EQU BIOS.HDD_WRITE and #BF ;*************************************** ;CNF_PORT EQU #74 AUTO_4000 EQU #4000 AUTO_4010 EQU #4010 AUTO_4011 EQU #4011 AUTO_4020 EQU #4020 AUTO_4080 EQU #4080 AUTO_40E1 EQU #40E1 AUTO_40E3 EQU #40E3 AUTO_40E4 EQU #40E4 AUTO_40E5 EQU #40E5 AUTO_40F0 EQU #40F0 AUTO_40F1 EQU #40F1 AUTO_40FF EQU #40FF AUTO_4100 EQU #4100 AUTO_4101 EQU #4101 AUTO_4102 EQU #4102 AUTO_4103 EQU #4103 AUTO_4110 EQU #4110 AUTO_4111 EQU #4111 AUTO_4118 EQU #4118 AUTO_4119 EQU #4119 AUTO_411B EQU #411B AUTO_411D EQU #411D AUTO_411E EQU #411E AUTO_4130 EQU #4130 AUTO_4140 EQU #4140 AUTO_41FF EQU #41FF AUTO_5E34 EQU #5E34 AUTO_5F00 EQU #5F00 AUTO_5F10 EQU #5F10 AUTO_5F12 EQU #5F12 PORT_128 EQU #7FFD AUTO_A1DB EQU #A1DB AUTO_B0ED EQU #B0ED AUTO_C000 EQU #C000 AUTO_C130 EQU #C130 ;**************************************** START: DI LD DE,#FFFF LD A,7 JR CONT_1 RST08: NOP CONT_1: OUT (#FE),A LD A,'?' JR CONT_2 //////////////////////////////////////////////////////////////////////// _mInfoBLOCK #10-$,0 RST10: JP PRINT_SYM //////////////////////////////////////////////////////////////////////// CONT_2: LD I,A JP CONT_3 //////////////////////////////////////////////////////////////////////// _mInfoBLOCK #18-$,0 PRINT_LN: JP PRINT_L CONT_3: NOP NOP NOP AUTO_001E: JR CONT_4 //////////////////////////////////////////////////////////////////////// _mInfoBLOCK #20-$,0 RST20: JP RST20_EXE RET //////////////////////////////////////////////////////////////////////// CONT_4: LD H,D LD L,E JR CONT_5 //////////////////////////////////////////////////////////////////////// _mInfoBLOCK #28-$,0 RST28: JP RST28_EXE //////////////////////////////////////////////////////////////////////// CONT_5: LD (HL),2 DEC HL CP H JR NZ,CONT_5 JR CONT_6 //////////////////////////////////////////////////////////////////////// REDIR_RST38: _mInfoBLOCK #38-$,#FF ; JP RST38X ; EI ; RET 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 (ZX_VARS.P_RAMTOP),HL LD DE,#3EAF LD BC,#00A8 LD A,E EX DE,HL LD SP,#6000 LD (AUTO_5F00),HL LD HL,RET_1 PUSH HL LD HL,#3D2F PUSH HL LD HL,#B8ED ; る LDDR AUTO_0064: JR CONT_8 //////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////// _mInfoBLOCK #66-$,0 ;********** 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 (ZX_VARS.UDG),HL DEC HL LD BC,AUTO_0540 ;!FIXIT check disasm LD (ZX_VARS.ERR_BEEP),BC LD (ZX_VARS.TOP_CLEAR),HL LD HL,#3C00 LD (ZX_VARS.ZG),HL LD HL,(ZX_VARS.TOP_CLEAR) LD (HL),'>' DEC HL LD SP,HL DEC HL DEC HL LD (ZX_VARS.ERR_SP),HL LD DE,01303h PUSH DE IM 1 LD IY,ZX_VARS.ERR_NR LD HL,ZX_VARS.BEG_ADRESS AUTO_00A8: LD (ZX_VARS.CHANS),HL LD DE,#15AF ;!HARDCODE むメ ゛痰 皀ォ .瓱 LD BC,#15 EX DE,HL CALL AUTO_0117 EX DE,HL DEC HL LD (ZX_VARS.DATA_ADR),HL INC HL LD (ZX_VARS.BAS_PROG),HL LD (ZX_VARS.BAS_VARS),HL LD (HL),128 INC HL LD (ZX_VARS.E_LINE),HL LD (HL),"\r" INC HL LD (HL),128 INC HL LD (ZX_VARS.WORK_SPACE),HL LD (ZX_VARS.STK_BOT),HL LD (ZX_VARS.STK_END),HL LD A,'8' LD (ZX_VARS.ATTR_P),A LD (ZX_VARS.ATTR_T),A LD (ZX_VARS.BORDER),A LD HL,0223h LD (ZX_VARS.KEY_TIME),HL DEC (IY-58) DEC (IY-54) LD HL,#15C6 LD DE,ZX_VARS.REP_K_TYME LD BC,14 CALL AUTO_0117 SET 1,(IY+1) LD HL,ZX_VARS.RET_INS AUTO_0100: LD (HL),201 RST_ROM ROUTINE.clear_prb LD HL,ZX_VARS.SCR_SIZE LD (HL),2 LD HL,AUTO_128B PUSH HL LD A,170 LD (ZX_VARS.PRINTER_BUFFER),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,(ZX_VARS.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 (ZX_VARS.ERR_3D00),A AUTO_0140: PUSH HL CALL AUTO_0232 POP HL LD (ZX_VARS.NEW_PPC),HL XOR A LD (ZX_VARS.NEW_S_PPC),A RST_ROM ROUTINE.set_min LD HL,(ZX_VARS.BAS_PROG) DEC HL LD (ZX_VARS.DATA_ADR),HL LD SP,(ZX_VARS.ERR_SP) LD A,(ZX_VARS.ERR_3D00) OR A LD HL,AUTO_1B76 JR Z,AUTO_0166 RST_ROM ROUTINE.report_0 AUTO_0166: PUSH HL LD HL,ZX_VARS.RET_INS PUSH HL RET AUTO_016C: ; √ 腑爛 3D03 CALL xchg_intf1 CALL BUFER_ON LD A,255 LD (ZX_VARS.MSG_FLAG),A XOR A LD (ZX_VARS.DOS_FLAG),A LD A,170 LD (ZX_VARS.FLAG_BOOT),A LD HL,AUTO_0201 LD (ZX_VARS.ADR_RET),HL LD HL,0 ADD HL,SP LD (ZX_VARS.DOS_SP),HL DEC HL DEC HL LD SP,HL CALL AUTO_021D LD HL,(ZX_VARS.TOP_CLEAR) LD DE,(ZX_VARS.CH_ADR) SBC HL,DE EX DE,HL JR NC,AUTO_01A5 OR A LD DE,101h SBC HL,DE AUTO_01A5: LD (ZX_VARS.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,(ZX_VARS.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 (ZX_VARS.DISK_1_FLG),HL CALL AUTO_20E5 CALL AUTO_1D63 LD HL,ZX_VARS.FLAG_BOOT LD (HL),170 LD HL,ZX_VARS.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,(ZX_VARS.DOS_SP) LD HL,(ZX_VARS.ADR_RET) LD BC,(ZX_VARS.DOS_ERR_2) LD B,0 AUTO_0200: JP (HL) AUTO_0201: CALL AUTO_0232 BIT 7,(IY+0) RET NZ LD DE,ZX_VARS.RET_INS LD SP,(ZX_VARS.ERR_SP) PUSH DE RET AUTO_0212: CALL AUTO_1D8C CP 13 RET Z CALL BASIC_RST20 JR AUTO_0212 AUTO_021D: LD HL,(ZX_VARS.ERR_SP) LD (ZX_VARS.ERR_SP_COPY),HL LD HL,(ZX_VARS.DOS_SP) DEC HL DEC HL LD (ZX_VARS.ERR_SP),HL LD DE,AUTO_3D16 LD (HL),E INC HL LD (HL),D RET AUTO_0232: LD HL,(ZX_VARS.ERR_SP_COPY) LD (ZX_VARS.ERR_SP),HL RET AUTO_0239: ; √ 腑爛 3D00 LD HL,0 LD (ZX_VARS.DOS_FLAG),HL ADD HL,SP LD (ZX_VARS.DOS_SP),HL DEC HL DEC HL LD SP,HL CALL LOAD_CR LD HL,ZX_VARS.FLAG_BOOT LD A,(HL) CP 170 LD A,0 LD (ZX_VARS.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,(ZX_VARS.BEG_ADRESS) CP 244 JR Z,AUTO_0271 LD HL,AUTO_1000 ;AUTO_0270: RST PRINT_LN AUTO_0271: LD A,(ZX_VARS.PRINTER_BUFFER) CP 170 JR NZ,AUTO_02CB CALL xchg_intf1 AUTO_027B: LD HL,(ZX_VARS.E_LINE) LD A,254 AUTO_0280: LD (ZX_VARS.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:;!TODO LD (ZX_VARS.K_CUR),HL LD (HL),13 INC HL LD (HL),128 INC HL LD (ZX_VARS.WORK_SPACE),HL LD (ZX_VARS.STK_BOT),HL LD (ZX_VARS.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 (FDC_93.DrvCTRL),A PUSH AF LD A,5 CALL pause_1ms POP AF POP BC DJNZ AUTO_02BB RET AUTO_02CB: LD HL,(ZX_VARS.DOS_SP) DEC HL DEC HL LD SP,HL CALL xchg_intf1 CALL OPEN_CH0 LD A,(ZX_VARS.PDOS_COPY) OR 3 CALL AUTO_02B9 LD A,(ZX_VARS.PDOS_COPY) CALL AUTO_02B9 XOR A LD (ZX_VARS.MSG_FLAG),A CALL INPUT_LINE CALL AUTO_3032 ; AUTO_02EF: CALL AUTO_1D9F ; BASIC ??? ( CLS LOW SCR ) LD HL,AUTO_02CB LD (ZX_VARS.ADR_RET),HL XOR A LD (ZX_VARS.DOS_ERR_2),A LD HL,(ZX_VARS.E_LINE) PUSH HL LD DE,ZX_VARS.COM_LN_COPY CALL AUTO_02B0 POP HL LD (ZX_VARS.ADR_DOS_COM),HL AUTO_030A: LD A,(HL) LD B,A AND 128 LD A,B JR Z,AUTO_031A ; - CP 254 ; RETURN JR Z,AUTO_031A PUSH AF CALL AUTO_3DC8 ; SET ZX_VARS.CONT_DISK POP AF AUTO_031A: LD HL,TRDOS_CMD.LIST ; DEC HL LD C,0 AUTO_0320: INC C LD D,A LD A,TRDOS_CMD.LIST.Size CP C JP C,AUTO_01D3 ; - LD A,D INC HL CP (HL) JR NZ,AUTO_0320 CP 254 CALL NZ,BUFER_ON ; 鈑碎 <筌, メ RETURN LD A,9 LD (ZX_VARS.S_NAME_NUM),A XOR A LD (ZX_VARS.DOS_ERR_2),A LD (ZX_VARS.DOS_ERROR),A LD (ZX_VARS.ERR_3D00),A LD HL,ZX_VARS.FLAGS RES 7,(HL) LD B,0 LD HL,TRDOS_CMD.TABLE 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,ZX_VARS.FLAGS SET 7,(HL) POP HL JP (HL) ;----------------------------------------------------------------------- _mInfoBLOCK #03AC-$,#FF ; NAME_TRD: ; DB 127," 1986 Technology Research. " ; DB "version 5.05 by Makarchenco Ivan. " ; DB " ",0,0 ;----------------------------------------------------------------------- AUTO_03AC: CALL AUTO_03FD CALL PRINT_CR CALL PRINT_CR AUTO_03B5: LD BC,(ZX_VARS.FREE_SEC) CALL AUTO_1DA9 LD HL,AUTO_29D2 RST PRINT_LN ;AUTO_03C0: JP AUTO_01D3 AUTO_03C3: PUSH AF LD A,(ZX_VARS.BAS_DOS_FLG) CP 254 JR NZ,AUTO_03CD POP AF RET AUTO_03CD: POP AF LD (ZX_VARS.DOS_ERR_2),A LD A,(ZX_VARS.MSG_FLAG) OR A CALL Z,PRINT_L ;!FIXIT 荐!!!! ムイ ョ碎 ぎ 皖琺碎 皰 0 腮痰碎 ├ 蹣. 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 (ZX_VARS.CAT_SEC),A AUTO_03EC: LD DE,(ZX_VARS.CAT_SEC) LD D,0 AUTO_03F2: CALL BUFER_ON LD HL,ZX_VARS.BUFFER 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,(ZX_VARS.CODE_10H) CP 16 JR Z,AUTO_0415 ;!TEST ; ク※讚 ÷硅瘡 荐!. 蹍 竍 ; 荐!, ↓├ 蹣 甌▲琥キ メ矣 錢鍮瘴 DISK ERROR. ;LD HL,DISK_ERROR_MSG ;RST PRINT_LN ;JR AUTO_03C0 LD HL,DISK_ERROR_MSG JP RD_HEAD_DSK.FIXED ; AUTO_0415: CALL get_disk_type RES 0,(HL) RES 1,(HL) LD A,(ZX_VARS.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,(ZX_VARS.ADR_DOS_COM) INC HL LD A,(HL) CP 13 RET ; ; ; CMD_CAT: CALL TEST_CR LD BC,2 LD (ZX_VARS.MED_LEN),BC JR Z,AUTO_046A CP '#' JR NZ,AUTO_045D LD (ZX_VARS.CH_ADR),HL ; 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,(ZX_VARS.OPER_DISK) LD (ZX_VARS.DISK_2_FLG),A CALL RD_HEAD_DSK LD A,(ZX_VARS.MED_LEN) AUTO_0479: CP 2 PUSH AF CALL Z,AUTO_1D97 POP AF ;!TEST ;CP 17 CP #10 ; JP NC,CMD_ERROR CALL AUTO_1D84 LD A,255 LD (ZX_VARS.DISK_1_FLG),A LD HL,AUTO_29F7 RST PRINT_LN LD HL,ZX_VARS.DISK_NAME RST PRINT_LN CALL PRINT_CR LD A,(ZX_VARS.N_FILES) LD HL,ZX_VARS.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,ZX_VARS.BUFFER AUTO_04B6: CALL AUTO_04F6 CALL PRINT_CR LD A,(ZX_VARS.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,(ZX_VARS.DISK_2_FLG) LD HL,ZX_VARS.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,ZX_VARS.CAT_SEC INC (HL) CALL AUTO_03EC POP BC POP HL LD HL,ZX_VARS.BUFFER 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,(ZX_VARS.OPER_DISK) LD (ZX_VARS.DISK_1_FLG),A JP NZ,AUTO_03D9 PUSH BC CALL AUTO_165D CALL AUTO_1CB0 PUSH AF LD A,(ZX_VARS.DISK_1_FLG) LD HL,ZX_VARS.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,(ZX_VARS.ERR_3D00) OR A RET AUTO_0577: LD A,(ZX_VARS.N_DEL_FLS) OR A JP Z,AUTO_03D9 JP AUTO_03E1 AUTO_0581: PUSH BC CALL AUTO_1D97 LD A,(ZX_VARS.OPER_DISK) ADD A,'A' CALL PRINT_SYM LD A,':' CALL PRINT_SYM LD HL,ZX_VARS.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,(ZX_VARS.FL_TYPE) CP '#' JR Z,AUTO_05BD XOR A RET AUTO_05BD: LD A,10 LD (ZX_VARS.S_NAME_NUM),A CALL AUTO_1CB3 LD A,9 LD (ZX_VARS.S_NAME_NUM),A RET AUTO_05CB: LD A,(ZX_VARS.FL_NAME) CP '*' ;JP NZ,AUTO_03D9 JR Z,.next RET .next: CALL BAS_2BF1 EX DE,HL CALL SET_DRIVE LD A,(HL) CP '*' JP NZ,CMD_ERROR LD A,(ZX_VARS.OPER_DISK) LD (ZX_VARS.DISK_2_FLG),A LD A,(ZX_VARS.DISK_2_FLG) CALL SET_DISK CALL RD_HEAD_DSK LD A,255 LD (ZX_VARS.BUF_FLAG+1),A AUTO_05F4: LD A,(ZX_VARS.DISK_1_FLG) CALL SET_DISK CALL RD_HEAD_DSK LD A,(ZX_VARS.BUF_FLAG+1) INC A LD (ZX_VARS.BUF_FLAG+1),A LD C,A CALL AUTO_165D LD A,(ZX_VARS.FL_NAME) CP 0 JP Z,AUTO_03E1 CP 1 JR Z,AUTO_05F4 LD HL,ZX_VARS.FL_START LD DE,ZX_VARS.VAR_2 LD BC,7 LDIR LD A,(ZX_VARS.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,(ZX_VARS.N_FILES) CP 128 JP Z,AUTO_2723 LD HL,ZX_VARS.VAR_2 LD DE,ZX_VARS.FL_START LD BC,7 LDIR LD DE,(ZX_VARS.FL_SIZE) LD D,0 OR A LD HL,(ZX_VARS.FREE_SEC) SBC HL,DE JP C,AUTO_1C45 LD (ZX_VARS.FREE_SEC),HL LD HL,(ZX_VARS.CLEAR_SEC) LD (ZX_VARS.FL_PLACE),HL PUSH HL CALL AUTO_072F POP HL LD (ZX_VARS.FL_PLACE),HL LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.CLEAR_SEC),HL LD HL,ZX_VARS.N_FILES INC (HL) LD C,(HL) DEC C LD B,0 PUSH BC LD DE,CONT_1 LD (ZX_VARS.CONT_SEC),DE CALL AUTO_1E43 POP BC CALL AUTO_166B RET ; ; ; CMD_COPY: LD HL,(ZX_VARS.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,(ZX_VARS.OPER_DISK) LD (ZX_VARS.DISK_1_FLG),A ;!TEST 荐!!!! COPY "*","*" ぎ 牀▲瑙碎 ≡ィ, ┃腑 爬 ; 腮 え瓷 ━キガ "*" 瓷珮モ瘴 皰讓 轤 ;JP NZ,AUTO_05CB CALL CMD_COPY.FIXED ; CALL AUTO_165D LD HL,ZX_VARS.FL_START LD DE,ZX_VARS.VAR_2 LD BC,7 LDIR CALL AUTO_1CB0 PUSH AF PUSH BC LD A,(ZX_VARS.OPER_DISK) LD (ZX_VARS.DISK_2_FLG),A LD A,(ZX_VARS.DISK_1_FLG) CALL SET_DISK CALL RD_HEAD_DSK LD A,(ZX_VARS.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,(ZX_VARS.FL_TYPE) CP '#' JP NZ,AUTO_03E1 LD A,10 LD (ZX_VARS.S_NAME_NUM),A LD HL,ZX_VARS.FL_START INC (HL) LD A,(ZX_VARS.DISK_1_FLG) CALL SET_DISK CALL AUTO_05B4 JP NZ,AUTO_03E1 ;AUTO_0716: CALL AUTO_165D LD HL,ZX_VARS.FL_START LD DE,ZX_VARS.VAR_2 LD BC,7 LDIR LD A,(ZX_VARS.DISK_2_FLG) CALL SET_DISK CALL RD_HEAD_DSK JR AUTO_06F3 AUTO_072F: LD A,(ZX_VARS.VAR_2_0) OR A RET Z PUSH HL LD HL,ZX_VARS.WORK_SPACE.Size SUB (HL) POP HL JR NC,AUTO_0775 LD A,(ZX_VARS.VAR_2_0) LD B,A XOR A LD (ZX_VARS.VAR_2_0),A AUTO_0744: PUSH BC LD A,(ZX_VARS.DISK_1_FLG) CALL SET_DISK POP BC PUSH BC LD HL,(ZX_VARS.VAR_1) PUSH HL LD DE,(ZX_VARS.VAR_2_1) CALL READ_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.VAR_2_1),HL LD A,(ZX_VARS.DISK_2_FLG) CALL SET_DISK POP HL POP BC LD DE,(ZX_VARS.FL_PLACE) CALL WRITE_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.FL_PLACE),HL JR AUTO_072F AUTO_0775: LD (ZX_VARS.VAR_2_0),A PUSH HL LD HL,ZX_VARS.WORK_SPACE.Size LD B,(HL) POP HL XOR A JR AUTO_0744 AUTO_0781: XOR A LD (ZX_VARS.N_DEL_FLS),A JR AUTO_07A0 ; ; ; CMD_ERASE: CALL INPUT_TXT CALL SINTAX_RET CALL AUTO_102E XOR A LD (ZX_VARS.N_DEL_FLS),A CALL AUTO_292F CALL AUTO_07A0 JP NZ,AUTO_0577 JP AUTO_03E1 AUTO_07A0: LD A,(ZX_VARS.FL_NAME) LD (ZX_VARS.FST_SYM_NAME),A RET NZ LD HL,ZX_VARS.N_DEL_FLS INC (HL) PUSH BC CALL AUTO_03FD LD A,(ZX_VARS.N_FILES) POP BC INC C CP C JR NZ,AUTO_07BC DEC A LD (ZX_VARS.N_FILES),A XOR A AUTO_07BC: PUSH AF JR Z,AUTO_07C3 LD HL,ZX_VARS.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 (ZX_VARS.FL_NAME),A PUSH AF CALL AUTO_1E40 LD A,(ZX_VARS.FST_SYM_NAME) LD (ZX_VARS.FL_NAME),A POP AF JR Z,AUTO_07E7 CALL AUTO_1CB3 JR AUTO_07A0 ; AUTO_07E7: _mInfoBLOCK #07E7-$,255 CALL AUTO_03FD LD HL,(ZX_VARS.FL_PLACE) LD (ZX_VARS.CLEAR_SEC),HL LD DE,(ZX_VARS.FL_SIZE) LD HL,(ZX_VARS.FREE_SEC) LD D,0 ADD HL,DE LD (ZX_VARS.FREE_SEC),HL JP AUTO_1E43 WG93_EXE_: AND 252 JP WG93_EXE ;************************************** ;INCLUDE 'trdos/tr_HDD_4.asz' _mInfoBLOCK #0840-$,255 INCLUDE 'trdos/tr_msd_3.asz' ; _mInfoBLOCK #0B00-$,255 ;!TODO russian charset ;ZG_RUS: DB 3 ; ┐キ皋筥皰 ▲珀┬ TR-DOS ??? ;************************************** INCLUDE 'trdos/tr_msd_2.asz' ; DSS 0E00h,255 ;************************************** ;!TODO russian charset ; 竅瓷┤ Лキム皰 - 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 ; ;************************************** ;************************************** INCLUDE 'trdos/tr_HDD_4.asz' _mInfoBLOCK #1000 - $,255 ;************************************** 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 (ZX_VARS.CONT_DISK),A CALL SET_DISK JP AUTO_03E1 AUTO_102E: LD B,'C' LD A,(ZX_VARS.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,ZX_VARS.FL_TYPE LD (HL),B RET AUTO_1052: DI PUSH HL PUSH BC PUSH DE AUTO_1056: RST_ROM ROUTINE.key_scan ;AUTO_1059: LD C,0 JR NZ,AUTO_1056 RST_ROM ROUTINE.key_test JR NC,AUTO_1056 DEC D LD E,A RST_ROM ROUTINE.key_decode POP DE POP BC POP HL AND %1101'1111 EI RET AUTO_106E: LD HL,#58E8 ;むメ ┃┬ 矗─竄 LD B,10 AUTO_1073: LD (HL),7 INC HL DJNZ AUTO_1073 LD (HL),2 INC HL LD (HL),#16 INC HL LD (HL),#34 INC HL LD (HL),#25 INC HL LD (HL),#28 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,(ZX_VARS.WORK_SPACE) LD (ZX_VARS.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,(ZX_VARS.DISK_2_FLG) LD HL,ZX_VARS.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,2 LD (ZX_VARS.MED_LEN),BC JR Z,AUTO_1205 CP '#' JR NZ,AUTO_11F8 LD (ZX_VARS.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,(ZX_VARS.OPER_DISK) LD (ZX_VARS.DISK_2_FLG),A CALL RD_HEAD_DSK LD A,(ZX_VARS.MED_LEN) CP 2 PUSH AF CALL Z,AUTO_1D97 POP AF CP 16 + 1 JP NC,CMD_ERROR CALL AUTO_1D84 LD A,#FF LD (ZX_VARS.DISK_1_FLG),A CALL AUTO_1151 ; !FIXIT 襪カ錺 閧, 瓣`Δモ LD HL,ZX_VARS.CLEAR_SEC LD DE,(ZX_VARS.VAR_1) LD BC,RST20 LDIR CALL AUTO_03E8 LD HL,ZX_VARS.BUFFER PUSH HL AUTO_123E: LD HL,AUTO_10B3 PUSH BC RST PRINT_LN LD HL,(ZX_VARS.VAR_1) LD BC,CONT_2+1 ADD HL,BC RST PRINT_LN LD HL,AUTO_10BA RST PRINT_LN LD A,(ZX_VARS.OPER_DISK) ADD A,'A' CALL PRINT_SYM CALL PRINT_CR LD HL,(ZX_VARS.VAR_1) LD BC,3 ADD HL,BC LD A,(HL) LD HL,(ZX_VARS.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,(ZX_VARS.VAR_1) LD BC,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,(ZX_VARS.VAR_1) LD BC,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,8 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,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,(ZX_VARS.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,(ZX_VARS.FL_TYPE) CP '#' JP NZ,AUTO_03E1 AUTO_1393: LD A,10 LD (ZX_VARS.S_NAME_NUM),A LD HL,ZX_VARS.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,ZX_VARS.FL_START LD DE,ZX_VARS.VAR_2 LD BC,7 LDIR LD A,(ZX_VARS.VAR_2_0) LD (ZX_VARS.ERR_3D00),A CALL RD_HEAD_DSK CALL get_disk_type LD (ZX_VARS.DOS_CH_ADR),A LD A,255 LD (ZX_VARS.COM_LN_COPY+1),A CALL AUTO_1451 LD HL,(ZX_VARS.FL_NUMBER+1) LD (ZX_VARS.FL_PLACE),HL LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.CLEAR_SEC),HL LD HL,ZX_VARS.N_FILES INC (HL) LD C,(HL) DEC C LD B,0 PUSH BC LD DE,CONT_1 LD (ZX_VARS.CONT_SEC),DE CALL AUTO_1E43 POP BC CALL AUTO_166B CALL AUTO_1E43 RET AUTO_1403: XOR A LD (ZX_VARS.COM_LN_COPY+1),A CALL RD_HEAD_DSK CALL get_disk_type LD (ZX_VARS.DOS_CH_ADR+1),A CALL AUTO_1CB3 JP Z,AUTO_1C50 CALL AUTO_03FD LD A,(ZX_VARS.N_FILES) CP 128 JP Z,AUTO_2723 LD HL,ZX_VARS.VAR_2 LD DE,ZX_VARS.FL_START LD BC,7 LDIR CALL AUTO_03FD LD A,(ZX_VARS.ERR_3D00) LD (ZX_VARS.FL_SIZE),A LD DE,(ZX_VARS.FL_SIZE) LD D,0 OR A LD HL,(ZX_VARS.FREE_SEC) SBC HL,DE JP C,AUTO_1C45 LD (ZX_VARS.FREE_SEC),HL LD HL,(ZX_VARS.CLEAR_SEC) LD (ZX_VARS.FL_PLACE),HL LD (ZX_VARS.FL_NUMBER+1),HL RET AUTO_1451: LD A,(ZX_VARS.VAR_2_0) OR A RET Z LD A,(ZX_VARS.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,(ZX_VARS.VAR_2_0) OR A RET Z PUSH HL LD HL,ZX_VARS.WORK_SPACE.Size SUB (HL) POP HL JR NC,AUTO_14CB LD A,(ZX_VARS.VAR_2_0) LD B,A XOR A LD (ZX_VARS.VAR_2_0),A AUTO_1484: PUSH BC LD (ZX_VARS.RD_WR_COM),A LD HL,(ZX_VARS.VAR_1) PUSH HL LD DE,(ZX_VARS.VAR_2_1) CALL AUTO_14D8 CALL READ_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.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,(ZX_VARS.COM_LN_COPY+1) OR A CALL NZ,AUTO_1403 POP HL POP BC LD DE,(ZX_VARS.FL_PLACE) CALL AUTO_14E4 CALL WRITE_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.FL_PLACE),HL JP AUTO_1451 AUTO_14CB: LD (ZX_VARS.VAR_2_0),A PUSH HL LD HL,ZX_VARS.WORK_SPACE.Size LD B,(HL) POP HL XOR A JP AUTO_1484 AUTO_14D8: PUSH HL PUSH DE CALL get_disk_type LD A,(ZX_VARS.DOS_CH_ADR) LD (HL),A POP DE POP HL RET AUTO_14E4: PUSH HL PUSH DE CALL get_disk_type LD A,(ZX_VARS.DOS_CH_ADR+1) LD (HL),A POP DE POP HL RET AUTO_14F0: XOR A LD (ZX_VARS.COM_LN_COPY+1),A CALL RD_HEAD_DSK CALL get_disk_type LD (ZX_VARS.DOS_CH_ADR+1),A LD A,(ZX_VARS.TYPE_DISK) LD (ZX_VARS.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 (ZX_VARS.FL_NAME),HL LD BC,(ZX_VARS.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 (ZX_VARS.COM_LN_COPY+1),A CALL RD_HEAD_DSK CALL get_disk_type LD (ZX_VARS.DOS_CH_ADR),A LD A,(ZX_VARS.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,(ZX_VARS.FREE_SEC) SBC HL,BC LD (ZX_VARS.FL_TYPE),HL LD (ZX_VARS.FL_N_2),HL LD HL,0 LD (ZX_VARS.FL_N_4),HL LD (ZX_VARS.FL_N_6),HL CALL AUTO_15B8 CALL RD_HEAD_DSK LD A,(ZX_VARS.FL_START+1) LD (ZX_VARS.TYPE_DISK),A LD HL,(ZX_VARS.FL_NAME) LD BC,(ZX_VARS.FL_N_2) SBC HL,BC LD (ZX_VARS.FREE_SEC),HL CALL AUTO_14E4 LD DE,CONT_1 LD (ZX_VARS.CONT_SEC),DE CALL AUTO_1E43 JP AUTO_03E1 AUTO_15B2: LD HL,(ZX_VARS.FL_TYPE) LD A,H OR L RET AUTO_15B8: CALL AUTO_15B2 RET Z LD A,(ZX_VARS.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,ZX_VARS.WORK_SPACE.Size LD C,(HL) LD B,0 POP HL SBC HL,BC POP BC JP NC,AUTO_1644 LD BC,(ZX_VARS.FL_TYPE) LD HL,0 LD (ZX_VARS.FL_TYPE),HL AUTO_15F8: PUSH BC LD HL,(ZX_VARS.VAR_1) PUSH HL CALL AUTO_14D8 LD DE,(ZX_VARS.FL_N_4) LD B,C CALL READ_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.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,(ZX_VARS.COM_LN_COPY+1) AUTO_162A: OR A CALL NZ,AUTO_14F0 POP HL POP BC LD DE,(ZX_VARS.FL_N_6) LD B,C CALL AUTO_14E4 CALL WRITE_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.FL_N_6),HL JP AUTO_15B8 AUTO_1644: LD (ZX_VARS.FL_TYPE),HL PUSH HL LD HL,ZX_VARS.WORK_SPACE.Size LD C,(HL) LD B,0 POP HL XOR A JP AUTO_15F8 CALL AUTO_165D LD A,(ZX_VARS.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 (ZX_VARS.BAS_DOS_FLG),A CALL AUTO_1680 LD HL,(ZX_VARS.WORK_SPACE) LD (ZX_VARS.VAR_1),HL JP AUTO_1E23 AUTO_1680: RST_ROM ROUTINE.free_mem LD HL,#FFFF SBC HL,BC LD A,H CP 16 JR NC,AUTO_168F LD A,17 AUTO_168F: DEC A LD (ZX_VARS.WORK_SPACE.Size),A LD B,A LD C,0 RET ; LD (ZX_VARS.MED_START),HL LD (ZX_VARS.MED_LEN),HL LD DE,(ZX_VARS.FL_SIZE) LD HL,(ZX_VARS.DOS_CH_ADR) LD D,0 ADD HL,DE LD (ZX_VARS.DOS_CH_ADR),HL RET ; ; ; CMD_MOVE: CALL TEST_CR JP NZ,AUTO_1775 CALL SINTAX_RET CALL AUTO_166F LD HL,(ZX_VARS.VAR_1) LD (ZX_VARS.FL_N_4),HL LD DE,0900h ADD HL,DE LD (ZX_VARS.VAR_1),HL LD A,(ZX_VARS.WORK_SPACE.Size) SUB 9 LD (ZX_VARS.WORK_SPACE.Size),A LD HL,(ZX_VARS.FL_N_4) LD DE,0 LD B,9 CALL READ_DISK LD HL,(ZX_VARS.FL_N_4) LD (ZX_VARS.FL_N_2),HL LD HL,AUTO_0100 LD (ZX_VARS.MED_START),HL LD (ZX_VARS.FL_NAME),HL XOR A LD (ZX_VARS.FL_N_6),HL LD (ZX_VARS.FL_N_7),A CALL MOVE_X00 LD DE,(ZX_VARS.FL_N_4) LD HL,(ZX_VARS.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,(ZX_VARS.FL_N_4) LD DE,08E1h ADD HL,DE LD E,(HL) INC HL LD D,(HL) LD BC,(ZX_VARS.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,(ZX_VARS.MED_START) LD (ZX_VARS.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,(ZX_VARS.MED_START) AND A SBC HL,BC EX DE,HL LD (HL),D DEC HL LD (HL),E DEC HL LD A,(ZX_VARS.FL_N_6) LD (HL),A LD DE,RST10 ADD HL,DE LD (HL),0 LD HL,(ZX_VARS.FL_N_4) LD DE,0 LD B,9 CALL WRITE_DISK LD A,(ZX_VARS.WORK_SPACE.Size) ADD A,9 LD B,A LD C,0 LD HL,(ZX_VARS.VAR_1) CALL AUTO_1E2E JP AUTO_03E1 AUTO_1775: CALL INPUT_TXT CALL SINTAX_RET CALL AUTO_1C57 CALL AUTO_03FD LD HL,ZX_VARS.FL_NAME LD DE,ZX_VARS.DISK_NAME LD BC,8 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,(ZX_VARS.AUTO_5CD3) OR A RET Z PUSH HL LD HL,ZX_VARS.WORK_SPACE.Size SUB (HL) POP HL JR NC,AUTO_17DD LD A,(ZX_VARS.AUTO_5CD3) LD B,A XOR A LD (ZX_VARS.AUTO_5CD3),A AUTO_17BA: PUSH BC LD HL,(ZX_VARS.VAR_1) PUSH HL LD DE,(ZX_VARS.AUTO_5CD5) CALL READ_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.AUTO_5CD5),HL POP HL POP BC LD DE,(ZX_VARS.MED_START) CALL WRITE_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.MED_START),HL JR AUTO_17A5 AUTO_17DD: LD (ZX_VARS.AUTO_5CD3),A PUSH HL LD HL,ZX_VARS.WORK_SPACE.Size LD B,(HL) POP HL XOR A JR AUTO_17BA AUTO_17E9: PUSH AF LD HL,ZX_VARS.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,ZX_VARS.FL_NAME LD BC,RST10 OR A JR Z,AUTO_180D EX DE,HL AUTO_180D: LDIR RET ; ; ; CMD_VERIFY: LD A,255 LD (ZX_VARS.DISK_2_FLG),A ; ; ; CMD_LOAD: CALL AUTO_1852 AUTO_1818: CALL AUTO_1836 CALL SINTAX_RET LD A,255 LD (ZX_VARS.ERR_3D00),A LD A,(ZX_VARS.DISK_2_FLG) CP 255 JP Z,AUTO_03E1 LD A,(ZX_VARS.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,(ZX_VARS.CH_ADR) INC HL LD A,(HL) CP 13 RET Z LD A,1 LD (ZX_VARS.DOS_ERROR),A CALL AUTO_1DEB AUTO_1852: XOR A LD (ZX_VARS.ERR_3D00),A RET AUTO_1857: CALL AUTO_102E LD A,'B' CP B JR NZ,AUTO_1866 LD HL,(ZX_VARS.CH_ADR) DEC HL LD (ZX_VARS.CH_ADR),HL AUTO_1866: CALL AUTO_1DEB LD HL,(ZX_VARS.DOS_CH_ADR) LD (ZX_VARS.MED_START),HL LD HL,(ZX_VARS.MED_LEN) LD (ZX_VARS.DOS_CH_ADR),HL XOR A LD (ZX_VARS.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,(ZX_VARS.FL_START) JR Z,AUTO_18B7 LD HL,(ZX_VARS.DOS_CH_ADR) AUTO_18B7: LD DE,(ZX_VARS.FL_PLACE) CP 3 LD A,(ZX_VARS.FL_SIZE) PUSH DE LD DE,(ZX_VARS.FL_LEN) JR NZ,AUTO_18CB LD DE,(ZX_VARS.MED_LEN) AUTO_18CB: LD B,A LD (ZX_VARS.MED_LEN),DE LD A,(ZX_VARS.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,(ZX_VARS.DOS_ERROR) CP 3 LD A,B JR Z,AUTO_18F6 XOR A LD (ZX_VARS.DOS_ERROR),A LD D,B LD E,0 LD (ZX_VARS.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,(ZX_VARS.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,(ZX_VARS.MED_LEN+1) LD B,A POP DE RET AUTO_191B: LD A,3 LD (ZX_VARS.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,(ZX_VARS.DOS_ERROR) CP 3 CALL Z,AUTO_1946 LD HL,(ZX_VARS.E_LINE) DEC HL LD (HL),128 RET AUTO_1946: LD A,(ZX_VARS.DISK_2_FLG) CP 255 JP NZ,AUTO_2FDE LD A,(ZX_VARS.MED_LEN) OR A RET Z LD C,A LD B,1 LD DE,(ZX_VARS.CONT_SEC) JR AUTO_196A AUTO_195C: LD A,(ZX_VARS.DISK_2_FLG) CP 255 JP NZ,READ_DISK LD (ZX_VARS.CONT_SEC),DE LD C,0 AUTO_196A: LD A,B OR A RET Z LD (ZX_VARS.MED_START),HL LD (ZX_VARS.DOS_CH_ADR),DE AUTO_1974: PUSH BC LD B,1 LD DE,(ZX_VARS.DOS_CH_ADR) LD HL,ZX_VARS.BUFFER CALL READ_DISK LD HL,(ZX_VARS.CONT_SEC) LD (ZX_VARS.DOS_CH_ADR),HL POP BC LD HL,(ZX_VARS.MED_START) LD DE,ZX_VARS.BUFFER AUTO_198E: LD A,(DE) CP (HL) JR NZ,AUTO_199D INC HL INC DE DEC C JR NZ,AUTO_198E LD (ZX_VARS.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 (ZX_VARS.ERR_3D00),A JP AUTO_1818 ; ; ; CMD_MERGE: LD A,255 LD (ZX_VARS.FL_NUMBER+1),A CALL AUTO_187A CALL SINTAX_RET LD A,(ZX_VARS.FL_TYPE) CP 'B' JP NZ,CMD_ERROR LD BC,(ZX_VARS.FL_START) LD (ZX_VARS.MED_LEN),BC PUSH BC INC BC RST_ROM ROUTINE.bc_spaces ;AUTO_19D1: LD (HL),128 EX DE,HL POP DE PUSH HL LD DE,(ZX_VARS.FL_PLACE) CALL AUTO_191B LD A,(ZX_VARS.MED_LEN+1) LD B,A CALL AUTO_1852 CALL AUTO_1921 POP HL LD DE,(ZX_VARS.BAS_PROG) RST_ROM ROUTINE.me_new_lp 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_ROM ROUTINE.test_room RET AUTO_1A01: LD DE,(ZX_VARS.BAS_PROG) LD HL,(ZX_VARS.E_LINE) DEC HL PUSH HL PUSH DE SBC HL,DE LD DE,(ZX_VARS.FL_START) PUSH DE PUSH HL LD HL,0 LD A,(ZX_VARS.DISK_2_FLG) CP 255 JR Z,AUTO_1A20 LD HL,5 AUTO_1A20: ADD HL,DE LD (ZX_VARS.MED_LEN),HL POP HL LD A,(ZX_VARS.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_ROM ROUTINE.reclaim_1 POP BC CALL AUTO_1E32 INC HL LD BC,(ZX_VARS.FL_LEN) ADD HL,BC LD (ZX_VARS.BAS_VARS),HL AUTO_1A48: LD HL,(ZX_VARS.BAS_PROG) RET AUTO_1A4C: LD DE,(ZX_VARS.FL_LEN) LD (ZX_VARS.MED_LEN),DE LD HL,(ZX_VARS.MED_START) LD A,(ZX_VARS.DISK_2_FLG) CP 255 RET Z LD HL,(ZX_VARS.DOS_CH_ADR) PUSH HL CALL AUTO_19F2 POP HL LD A,H OR L JR Z,AUTO_1A79 LD HL,(ZX_VARS.MED_START) DEC HL DEC HL DEC HL LD BC,(ZX_VARS.DOS_CH_ADR) INC BC INC BC INC BC CALL AUTO_1E2E AUTO_1A79: LD HL,(ZX_VARS.E_LINE) DEC HL LD BC,(ZX_VARS.FL_LEN) PUSH BC INC BC INC BC INC BC CALL AUTO_1E32 INC HL LD A,(ZX_VARS.AUTO_5CD2) LD (HL),A INC HL POP DE LD (HL),E INC HL LD (HL),D INC HL RET AUTO_1A94: LD A,(ZX_VARS.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,(ZX_VARS.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,(ZX_VARS.N_FILES) CP 128 JP Z,AUTO_2723 RET ; ; ; CMD_SAVE: CALL AUTO_1852 LD HL,0 LD (ZX_VARS.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,(ZX_VARS.MED_LEN) LD (ZX_VARS.AUTO_5CD1),HL LD HL,ZX_VARS.FL_TYPE JR AUTO_1B1F AUTO_1AF8: CP ZX_Token.screen_dollar JR NZ,AUTO_1B0D LD HL,AUTO_4000 ; - #4000 LD (#5CD7),HL LD HL,#1B00 ;ィ か┃ - #1B00 皰 LD (ZX_VARS.DOS_CH_ADR),HL LD (ZX_VARS.MED_LEN),HL JR AUTO_1B48 AUTO_1B0D: CALL SINTAX_RET CALL AUTO_1D8C LD HL,ZX_VARS.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,(ZX_VARS.DOS_CH_ADR) LD (ZX_VARS.MED_START),HL LD HL,(ZX_VARS.MED_LEN) LD (ZX_VARS.DOS_CH_ADR),HL AUTO_1B48: CALL SINTAX_RET LD A,'C' LD (ZX_VARS.FL_TYPE),A CALL AUTO_1ABE AUTO_1B53: CALL OWERWR_X01 JP AUTO_0569 AUTO_1B59: LD HL,(ZX_VARS.MED_START) LD (ZX_VARS.FL_START),HL EX DE,HL LD HL,(ZX_VARS.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 (ZX_VARS.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,(ZX_VARS.E_LINE) LD (HL),170 INC HL LD DE,(ZX_VARS.AUTO_5CD1) LD (HL),E INC HL LD (HL),D LD HL,(ZX_VARS.MED_LEN) LD (ZX_VARS.FL_LEN),HL LD HL,(ZX_VARS.CLEAR_SEC) LD (ZX_VARS.FL_PLACE),HL EX DE,HL LD HL,(ZX_VARS.FL_START) LD A,(ZX_VARS.FL_SIZE) LD B,A CALL WRITE_DISK LD HL,(ZX_VARS.CONT_SEC) PUSH HL CALL AUTO_03FD POP HL LD (ZX_VARS.CLEAR_SEC),HL POP HL LD (ZX_VARS.FREE_SEC),HL LD HL,ZX_VARS.N_FILES LD A,(HL) LD (ZX_VARS.FL_NUMBER),A INC (HL) PUSH HL CALL AUTO_1E43 POP HL LD C,(HL) DEC C AUTO_1BBF: LD A,(ZX_VARS.FL_TYPE) CP 'B' CALL Z,AUTO_1BC8 RET AUTO_1BC8: LD HL,(ZX_VARS.E_LINE) LD DE,(ZX_VARS.BAS_PROG) SCF SBC HL,DE LD (ZX_VARS.FL_START),HL LD HL,(ZX_VARS.BAS_VARS) SBC HL,DE LD (ZX_VARS.FL_LEN),HL RET AUTO_1BDE: LD HL,(ZX_VARS.BAS_VARS) LD DE,(ZX_VARS.BAS_PROG) SBC HL,DE LD (ZX_VARS.MED_LEN),HL LD HL,(ZX_VARS.BAS_PROG) LD (ZX_VARS.MED_START),HL LD HL,(ZX_VARS.E_LINE) INC HL INC HL INC HL SBC HL,DE LD (ZX_VARS.DOS_CH_ADR),HL RET AUTO_1BFC: CALL AUTO_1C1B RET NC LD HL,0 LD (ZX_VARS.DOS_CH_ADR),HL LD A,(ZX_VARS.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 (ZX_VARS.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 (ZX_VARS.MED_START),HL LD (ZX_VARS.MED_LEN),DE LD (ZX_VARS.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,ZX_VARS.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,ZX_VARS.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,(ZX_VARS.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,ZX_VARS.BUFFER 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,ZX_VARS.FL_NAME LD A,(ZX_VARS.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 (ZX_VARS.FL_NUMBER),A XOR A RET Z AUTO_1CF0: CALL AUTO_1CB3 LD HL,ZX_VARS.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,(ZX_VARS.DOS_SP) LD HL,(ZX_VARS.ERR_SP) DEC HL LD A,18 CP (HL) JR NZ,AUTO_1D19 DEC HL LD (ZX_VARS.ERR_SP),HL AUTO_1D19: RET CMD_ERROR: BIT 7,(IY+0) JR Z,AUTO_1D25 LD A,11 LD (ZX_VARS.ERR_NR),A AUTO_1D25: INC A LD HL,AUTO_29B2 ERR_EXIT: CALL AUTO_03C3 JP AUTO_01D3 AUTO_1D2F: LD A,(ZX_VARS.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,(ZX_VARS.FL_START) LD A,(ZX_VARS.FL_TYPE) CP 'B' JP Z,AUTO_012A PUSH HL RET AUTO_1D63: LD HL,ZX_VARS.BAS_DOS_FLG LD A,(HL) CP #FF LD (HL),0 RET NZ RST_ROM ROUTINE.set_work RET ; 蹍▲爲, ┐モ 牀▲爲 痰牀 瓱瓱 ┼ 覩キ┘ る. ; 甄 ┐モ 覩キ┘, 皰 筰 Z <ぅ 瓠牀茱, ┃腑 竅←キ. 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_ROM ROUTINE.chan_open RET OPEN_CH2: LD A,2 JR AUTO_1D84 AUTO_1D8C: RST_ROM ROUTINE.get_char ;AUTO_1D8F: RET GET_CMD: CALL OPEN_CH0 RST_ROM ROUTINE.editor RET AUTO_1D97: RST_ROM ROUTINE.cls RET AUTO_1D9B: RST_ROM ROUTINE.look_vars RET AUTO_1D9F: RST_ROM ROUTINE.cls_lower RET AUTO_1DA3: LD C,A AUTO_1DA4: LD B,0 JP AUTO_1DA9 AUTO_1DA9: PUSH BC CALL xchg_intf1 POP BC RST_ROM ROUTINE.out_num_1 CALL xchg_intf1 RET BAS_2BF1: RST_ROM ROUTINE.stack_fetch RET AUTO_1DB9: RST_ROM ROUTINE.find_int2 RET AUTO_1DBD: RST_ROM ROUTINE.expt_exp RET AUTO_1DC1: RST_ROM ROUTINE.expt_1num RET AUTO_1DC5: LD HL,(ZX_VARS.ADR_DOS_COM) AUTO_1DC8: INC HL LD (ZX_VARS.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 (ZX_VARS.DOS_CH_ADR),BC LD (ZX_VARS.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 (ZX_VARS.MED_LEN),BC LD A,3 LD (ZX_VARS.DOS_ERROR),A RET AUTO_1E1C: LD HL,(ZX_VARS.ADR_DOS_COM) RST_ROM ROUTINE.remove_fp RET AUTO_1E23: LD HL,(ZX_VARS.WORK_SPACE) RST_ROM ROUTINE.bc_spaces AUTO_1E29: RET BASIC_RST20: RST_ROM ROUTINE.next_char AUTO_1E2D: RET AUTO_1E2E: RST_ROM ROUTINE.reclaim_2 RET AUTO_1E32: RST_ROM ROUTINE.make_room RET READ_TRK_NUM: CALL READ_ADR_LABL LD A,H OUT (FDC_93.Track),A RET READ_DISK: XOR A JR AUTO_1E64 AUTO_1E40: CALL AUTO_166B AUTO_1E43: LD DE,(ZX_VARS.CONT_SEC) DEC DE LD B,1 LD HL,ZX_VARS.BUFFER 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 (ZX_VARS.RD_WR_COM),A AUTO_1E67: LD (ZX_VARS.CONT_SEC),DE JP R_W_REDIR ;LD (HL),30 ; 甎. !!! _mInfoBLOCK #1E70-$,0 AUTO_1E70: POP HL POP BC XOR A OR B RET Z AUTO_1E75: PUSH BC PUSH HL CALL save_bufer LD A,(ZX_VARS.CONT_SEC) CALL save_sector LD A,(ZX_VARS.CONT_TRK) CALL Global_trk LD A,(ZX_VARS.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,ZX_VARS.CONT_SEC INC (HL) CP (HL) JR NZ,AUTO_1EA7 LD (HL),0 LD HL,ZX_VARS.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 (ZX_VARS.DOS_ERROR),A SCF RET ; ; ; CMD_FORMAT: LD HL,0 LD (ZX_VARS.MED_START),HL LD (ZX_VARS.DOS_CH_ADR),HL LD (ZX_VARS.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 (ZX_VARS.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,(ZX_VARS.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 (ZX_VARS.DOS_CH_ADR+1),A AUTO_1F1B: CALL FORM_X02 ; 筮爼皋牀┘ !!! LD HL,ZX_VARS.BUFFER LD (HL),0 LD DE,ZX_VARS.BUFFER+1 LD BC,0FFh LDIR LD BC,ZX_VARS.MED_START LD DE,ZX_VARS.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 (ZX_VARS.TYPE_DISK),A LD (ZX_VARS.FREE_SEC),HL LD A,1 LD (ZX_VARS.CLEAR_TRK),A LD A,16 LD (ZX_VARS.CODE_10H),A LD HL,ZX_VARS.DISK_MRK_1 LD DE,ZX_VARS.DISK_ALT_NM LD BC,8 LD (HL),' ' LDIR LD HL,ZX_VARS.FL_NAME LD DE,ZX_VARS.DISK_NAME LD BC,8 LDIR CALL set_side_0 LD B,1 LD DE,8 LD HL,ZX_VARS.BUFFER CALL AUTO_1E62 LD A,(ZX_VARS.DOS_ERROR) PUSH AF XOR A LD (ZX_VARS.FL_TYPE),A LD HL,(ZX_VARS.FREE_SEC) LD (ZX_VARS.MED_START),HL LD HL,ZX_VARS.FL_NAME RST PRINT_LN LD A,13 RST RST10 LD HL,(ZX_VARS.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: ;むメ #1FB9. ゛ 瓮皰牀 か 筮爼皋牀 °膈 え瓷. 甎讌礇矚 Ε むメ #1FBA か 牀▲爲 ぎ牀Κ. DB 1 DB 9,2,#A,3,#B,4,#C,5,#D,6,#E,7,#F,8,#10,1 test_d_traks: CALL get_disk_time OR 17 LD B,A LD A,#32 CALL Goto_trk LD A,2 CALL Goto_trk CALL pause_50ms IN A,(FDC_93.Command) AND 4 LD A,#50 JR Z,AUTO_1FE7 LD A,#28 AUTO_1FE7: LD (ZX_VARS.MED_START),A RET set_side_0: LD A,(ZX_VARS.PDOS_COPY) OR #3C ; 痰牀 0 3C..3F AUTO_1FF0: LD (ZX_VARS.PDOS_COPY),A OUT (FDC_93.DrvCTRL),A RET set_side_1: LD A,(ZX_VARS.PDOS_COPY) AND #6F ; 痰牀 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 (FDC_93.Command),A ; LD HL,(ZX_VARS.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,(FDC_93.Command) AND '@' JP NZ,AUTO_3F39 LD A,216 OUT (FDC_93.Command),A LD A,208 OUT (FDC_93.Command),A ;////////////////////////////////////// NOP NOP NOP AUTO_207D: LD A,(ZX_VARS.MED_START+1) OR A RET NZ LD C,127 LD A,E OUT (FDC_93.Track),A CALL SUB_HL_14 AUTO_208A: LD B,3 LD A,(HL) OUT (FDC_93.Sector),A PUSH HL AUTO_2090: DI LD A,128 OUT (FDC_93.Command),A PUSH BC CALL AUTO_3FE5 IN A,(FDC_93.Command) AND 127 POP BC JR Z,AUTO_20A6 DJNZ AUTO_2090 LD HL,ZX_VARS.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,(FDC_93.DrvCTRL) AND 192 JR Z,AUTO_20B1 RET M OUT (C),D DJNZ AUTO_20B1 RET FORMAT_ALL: LD HL,ZX_VARS.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,(ZX_VARS.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,(ZX_VARS.DISK_1_FLG) CP 255 JR Z,AUTO_211C POP AF CALL BUFER_OFF xchg_intf1: PUSH AF LD A,(ZX_VARS.BEG_ADRESS) CP #F4 JR Z,AUTO_211C XOR A LD HL,ZX_VARS.INT_1_VAR OR (HL) LD (HL),255 JR Z,AUTO_211C LD A,(ZX_VARS.BUF_FLAG) OR A LD HL,ZX_VARS.AUTO_5CC3 LD DE,ZX_VARS.AUTO_5D33 JR NZ,AUTO_2111 LD DE,AUTO_5E34 AUTO_2111: LD B,#2D 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,(ZX_VARS.E_LINE) LD (HL),13 LD (ZX_VARS.K_CUR),HL INC HL LD (HL),128 RET AUTO_212A: LD DE,(ZX_VARS.E_LINE) LD HL,ZX_VARS.COM_LN_COPY CALL AUTO_02B0 RET INPUT_LINE: LD A,(ZX_VARS.DOS_ERR_2) OR A PUSH AF CALL NZ,AUTO_212A POP AF CALL Z,AUTO_211E LD HL,(ZX_VARS.E_LINE) CALL PRINT_CR LD A,(ZX_VARS.CONT_DISK) ADD A,'A' RST RST10 LD A,'>' RST RST10 LD (IY+0),255 EI JP EDIT_X00 ;!FIXIT 腑 ↑メ皰 #1D90 EDIT_X00??? AUTO_2158: CALL BASIC_RST20 CALL AUTO_1D8C CP ',' JP NZ,CMD_ERROR LD HL,(ZX_VARS.MED_LEN) LD (ZX_VARS.DOS_CH_ADR),HL CALL AUTO_1E0B CALL SINTAX_RET LD HL,(ZX_VARS.MED_LEN) LD A,H OR A JP NZ,CMD_ERROR INC HL LD (ZX_VARS.MED_START),HL LD HL,(ZX_VARS.DOS_CH_ADR) LD (ZX_VARS.MED_LEN),HL RET ; ; ; CMD_OPEN: LD HL,(ZX_VARS.ADR_DOS_COM) LD (ZX_VARS.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 (ZX_VARS.VAR_3),A CALL SINTAX_RET LD A,'#' LD (ZX_VARS.FL_TYPE),A LD A,0 LD (ZX_VARS.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,(ZX_VARS.ADR_DOS_COM) LD BC,AUTO_0124 ADD HL,BC LD (ZX_VARS.ADR_DOS_COM),HL JP AUTO_01D3 AUTO_21DB: LD A,10 LD (ZX_VARS.S_NAME_NUM),A CALL AUTO_1CB0 PUSH AF CALL RD_HEAD_DSK POP AF JR NZ,AUTO_2206 LD A,(ZX_VARS.VAR_3) CP 'R' JR Z,AUTO_2201 AUTO_21F1: LD HL,ZX_VARS.FL_START INC (HL) CALL AUTO_1CB3 JR Z,AUTO_21F1 LD HL,ZX_VARS.FL_START DEC (HL) CALL AUTO_1CB3 AUTO_2201: CALL AUTO_165D XOR A RET AUTO_2206: LD A,(ZX_VARS.VAR_3) CP 'R' RET NZ JP AUTO_03D9 AUTO_220F: LD A,(ZX_VARS.MED_LEN) RST_ROM ROUTINE.str_data1 LD A,B OR C JP NZ,AUTO_221B RET AUTO_221B: LD A,25 LD (ZX_VARS.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,(ZX_VARS.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,(ZX_VARS.BAS_PROG) LD BC,(ZX_VARS.CHANS) SBC HL,BC EX DE,HL LD (HL),E INC HL LD (HL),D CALL AUTO_22B2 LD A,(ZX_VARS.VAR_3) CP 165 CALL Z,AUTO_222F JR Z,AUTO_226B LD A,(ZX_VARS.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,(ZX_VARS.MED_START) PUSH HL LD HL,AUTO_2000 LD (ZX_VARS.MED_START),HL CALL AUTO_229A POP HL LD (ZX_VARS.MED_START),HL RET AUTO_229A: LD HL,AUTO_1000 LD (ZX_VARS.DOS_CH_ADR),HL CALL AUTO_1AC4 CALL AUTO_1B59 LD HL,0 LD (ZX_VARS.FL_LEN),HL CALL AUTO_166B JP AUTO_1E43 AUTO_22B2: LD HL,(ZX_VARS.BAS_PROG) DEC HL LD (ZX_VARS.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,(ZX_VARS.OPER_DISK) LD (HL),A INC HL LD A,(ZX_VARS.FL_NUMBER) LD (HL),A INC HL LD A,(ZX_VARS.VAR_3) CP 'R' LD (HL),0 JR Z,AUTO_22FC LD A,(ZX_VARS.FL_LEN) LD (HL),A AUTO_22FC: INC HL LD (HL),B JR Z,AUTO_2304 LD A,(ZX_VARS.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,ZX_VARS.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,(ZX_VARS.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,(ZX_VARS.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 (ZX_VARS.MED_START),DE JR AUTO_2381 AUTO_2379: CALL AUTO_2367 INC E LD (ZX_VARS.MED_START),DE AUTO_2381: CALL AUTO_229A CALL BUFER_OFF LD C,16 RST RST28 EX DE,HL LD HL,ZX_VARS.FL_NAME LD BC,RST10 LDIR LD C,12 RST RST28 LD A,(ZX_VARS.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,ZX_VARS.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,ZX_VARS.FL_NAME LD BC,RST10 LDIR LD C,12 RST RST28 LD A,(ZX_VARS.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,(ZX_VARS.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,ZX_VARS.RET_INS PUSH HL LD HL,xchg_intf1 PUSH HL PUSH AF CALL xchg_intf1 LD A,10 LD (ZX_VARS.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,ZX_VARS.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 (ZX_VARS.ERR_NR),A CALL AUTO_20E5 RST_ROM ROUTINE.error_4 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,(ZX_VARS.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,(ZX_VARS.WORK_SPACE) LD (ZX_VARS.VAR_1),HL LD BC,RST10 JP AUTO_1E23 AUTO_2504: LD (HL),13 LD HL,(ZX_VARS.CH_ADR) LD (ZX_VARS.MED_START),HL LD HL,(ZX_VARS.VAR_1) LD (ZX_VARS.CH_ADR),HL LD HL,ZX_VARS.FLAGS RES 7,(HL) CALL AUTO_1DC1 LD HL,ZX_VARS.FLAGS SET 7,(HL) LD HL,(ZX_VARS.VAR_1) LD (ZX_VARS.CH_ADR),HL CALL AUTO_1DC1 CALL AUTO_1DB9 PUSH BC POP DE LD C,' ' RST RST28 LD B,(HL) XOR A LD HL,0 LD (ZX_VARS.MED_LEN),HL AUTO_2538: ADD HL,DE JR NC,AUTO_2544 PUSH HL LD HL,(ZX_VARS.MED_LEN) INC HL LD (ZX_VARS.MED_LEN),HL POP HL AUTO_2544: DJNZ AUTO_2538 LD (ZX_VARS.DOS_CH_ADR),HL LD A,(ZX_VARS.MED_LEN) LD HL,ZX_VARS.DOS_CH_ADR+1 RRD AND 15 LD (ZX_VARS.MED_LEN),A LD HL,(ZX_VARS.MED_START) LD (ZX_VARS.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,(ZX_VARS.DOS_CH_ADR+1) CP (HL) JP NZ,AUTO_2584 LD C,14 RST RST28 LD A,(ZX_VARS.MED_LEN) CP (HL) JP NZ,AUTO_25A7 AUTO_257C: LD C,13 RST RST28 LD A,(ZX_VARS.DOS_CH_ADR) LD (HL),A RET AUTO_2584: CALL AUTO_25CA CALL NZ,AUTO_25C3 LD A,(ZX_VARS.DOS_CH_ADR+1) LD C,25 RST RST28 LD (HL),A LD C,16 RST RST28 LD DE,ZX_VARS.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,(ZX_VARS.MED_LEN) LD C,14 RST RST28 LD (HL),A PUSH HL CALL AUTO_2443 CALL AUTO_2418 POP HL DEC HL LD A,(ZX_VARS.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,(ZX_VARS.DOS_CH_ADR+1) LD H,' ' LD (ZX_VARS.MED_START),HL LD HL,(ZX_VARS.DOS_CH_ADR) PUSH HL LD HL,(ZX_VARS.MED_LEN) PUSH HL CALL AUTO_2381 POP HL LD (ZX_VARS.MED_LEN),HL POP HL LD (ZX_VARS.DOS_CH_ADR),HL JR AUTO_25AD AUTO_25EF: CALL xchg_intf1 LD HL,ZX_VARS.TV_FLAG RES 3,(HL) LD HL,(ZX_VARS.ERR_SP) LD E,(HL) INC HL LD D,(HL) OR A LD HL,ROUTINE.ed_error ;48 basic routine SBC HL,DE JR NZ,AUTO_2626 LD SP,(ZX_VARS.ERR_SP) POP DE POP DE LD (ZX_VARS.ERR_SP),DE AUTO_260F: CALL AUTO_262B JR C,AUTO_261D AUTO_2614: LD HL,ZX_VARS.RET_INS PUSH HL LD HL,AUTO_20E5 PUSH HL RET AUTO_261D: CP 13 JR Z,AUTO_2614 RST_ROM ROUTINE.add_char_keeping_current_mode JR AUTO_260F AUTO_2626: CALL AUTO_262B JR AUTO_2614 AUTO_262B: LD A,10 LD (ZX_VARS.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,(ZX_VARS.ADR_DOS_COM) LD (ZX_VARS.CH_ADR),HL CALL AUTO_1E0B CALL SINTAX_RET LD A,(ZX_VARS.MED_LEN) RST_ROM ROUTINE.str_data1 LD A,B OR C JP Z,AUTO_01D3 PUSH HL LD HL,(ZX_VARS.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 (ZX_VARS.DOS_CH_ADR),BC LD HL,(ZX_VARS.CHANS) ADD HL,BC DEC HL LD (ZX_VARS.MED_START),HL CALL AUTO_26CE LD HL,(ZX_VARS.MED_START) LD BC,AUTO_0124 CALL AUTO_1E2E LD HL,ZX_VARS.REP_K_TYME LD B,16 AUTO_269D: PUSH BC LD BC,(ZX_VARS.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,(ZX_VARS.ADR_DOS_COM) LD BC,AUTO_0124 SBC HL,BC LD (ZX_VARS.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,(ZX_VARS.MED_START) LD (ZX_VARS.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,ZX_VARS.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 (ZX_VARS.ERR_NR),A RET LD A,3 JR AUTO_2731 AUTO_2739: XOR A LD (ZX_VARS.MED_START+1),A LD (ZX_VARS.DOS_ERROR),A IN A,(FDC_93.Command) LD (ZX_VARS.DRV_READY),A LD E,D PUSH DE LD A,E OUT (FDC_93.Data),A LD A,24 CALL WG93_EXE LD A,(ZX_VARS.DRV_READY) AND 128 CALL NZ,pause_750ms POP DE CALL AUTO_207D LD A,(ZX_VARS.DOS_ERROR) OR A RET Z LD A,7 LD (ZX_VARS.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 DB "then 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 AUTO_2804: DB "Stream opened",141 AUTO_2812: DB "Not disk file",141 AUTO_2820: DB "File exists",13 DC "Over write?(Y/N)" AUTO_283C: PUSH AF PUSH BC LD (ZX_VARS.WORK_4),DE LD (ZX_VARS.WORK_2),HL CALL xchg_intf1 LD A,255 LD (ZX_VARS.MSG_FLAG),A LD (ZX_VARS.FL_NUMBER+1),A POP BC POP AF LD HL,AUTO_0201 LD (ZX_VARS.ADR_RET),HL LD HL,0 ADD HL,SP LD (ZX_VARS.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,(ZX_VARS.WORK_2) LD DE,(ZX_VARS.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,ZX_VARS.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 (ZX_VARS.MED_START),HL LD (ZX_VARS.DOS_CH_ADR),DE LD (ZX_VARS.MED_LEN),DE JP TYPE_FL_X02 CALL AUTO_1AC4 ; ??? JP FORM_X04 ; ??? AUTO_290F: OR A LD (ZX_VARS.DOS_ERROR),A LD (ZX_VARS.DOS_CH_ADR),HL LD (ZX_VARS.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,ZX_VARS.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,ZX_VARS.BUFFER CALL AUTO_1E32 LD HL,(ZX_VARS.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,ZX_VARS.BUF_FLAG LD A,(HL) OR A JR NZ,AUTO_2992 LD (HL),255 LD HL,ZX_VARS.BUFFER LD BC,AUTO_0100+1 CALL AUTO_1E2E OR A LD BC,AUTO_0100+1 LD HL,(ZX_VARS.ADR_DOS_COM) SBC HL,BC AUTO_298F: LD (ZX_VARS.ADR_DOS_COM),HL AUTO_2992: POP AF POP BC POP DE POP HL RET ; ; ; 覩キ┘ る "40". 痰※皀 #5D11 #5C3B. 甎讌礇矚 Ε むメ: ;#2998 (覩キ┘ る 竅→ 皋 え瓷〓; 竅※皀 ≡ か #2997 釶 A 皋 え瓷〓). CMD_40: XOR A ;え瓷〓 40-ぎ牀Ε膈覃 き痰牀┤ ;荐!!!! -ム諷, 腑 え瓷〓 き痰牀┤? ; 〓-≒琺, ぎ 牀▲瑙碎 〓КΝ痰 甎讌 え瓷〓 矗ァ礇 爛Θ. AUTO_2998: LD (ZX_VARS.MED_START),A ;甌縲キ┘ 皋 え瓷〓 CALL SINTAX_RET ;メ ┐モ 牀▲爲 瓱瓱 CALL TEST_CR ;牀▲爲 ≒牀 瓱〓 痰牀 JP Z,CMD_ERROR ;メ 轤 ENTER, 皰 *ERROR* CALL get_disk_type ;.爛 むメ 閾ォ 皋 え LD A,(ZX_VARS.MED_START) ;竅→ 皋 え瓷〓 LD (HL),A JP AUTO_03E1 ;甌♂キ┘ O.K. ; 覩キ┘ る "80". 痰※皀 #5D11 #5C3B. CMD_80: LD A,#80 ;え瓷〓 80-ぎ牀Ε膈覃 き痰牀┤ ;荐!!!! -ム諷, 腑 え瓷〓 き痰牀┤? ; 〓-≒琺, ぎ 牀▲瑙碎 〓КΝ痰 甎讌 え瓷〓 矗ァ礇 爛Θ. JR AUTO_2998 ; ; ; ;むメ #29B2. オ痰 甌♂キ┤ TR-DOS. 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: DC 13, "Read Only" DISK_ERROR_MSG: DC 13, "Disk Error" AUTO_29ED: DC 13, "Rec. O/F" AUTO_29F7: DC "Title: " AUTO_29FE: DZ 13, "Retry,Abort,Ignore?" AUTO_2A13: DC 13, "Trk " AUTO_2A18: DC " sec " AUTO_2A1D: DB " Del. File", 141 AUTO_2A28: DB 13, "No" AUTO_2A2B: DZ " File(s)", 141 AUTO_2A35: LD HL,AUTO_2A41 LD DE,AUTO_4080 LD BC,20 LDIR RET ; ; TEST 128/48 ROM 牀 RAM !!! ; AUTO_2A41: LD A,(AUTO_03B5) CP #F3 LD A,16 JR Z,AUTO_2A4B XOR A AUTO_2A4B: LD (ZX_VARS.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,0 ADD HL,SP PUSH HL LD A,3Ch OUT (FDC_93.DrvCTRL),A LD A,'?' LD I,A IN A,(FDC_93.Command) AND 128 RRCA RRCA RRCA LD (ZX_VARS.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,8 CALL AUTO_2F1B LD HL,AUTO_40E3 LD A,(HL) LD (ZX_VARS.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,8 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,#3C OUT (FDC_93.DrvCTRL),A CALL AUTO_2F65 LD HL,AUTO_4000 LD DE,8 LD B,1 CALL AUTO_2F1B POP DE LD HL,(AUTO_40E1) LD (AUTO_40E1),DE PUSH HL LD HL,AUTO_4000 LD DE,8 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,0 IN A,(FDC_93.Sector) DEC A LD E,A LD B,1 CALL AUTO_2D73 LD HL,0 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,(ZX_VARS.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,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,(FDC_93.Sector) 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,(FDC_93.Sector) 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,8 CALL AUTO_2F1B RET AUTO_2D34: LD HL,AUTO_4000 LD DE,8 CALL AUTO_2D73 RET AUTO_2D3E: CALL AUTO_2F65 LD C,D CALL AUTO_2F3A LD HL,AUTO_C000 LD B,#40 JR AUTO_2D58 AUTO_2D4C: CALL AUTO_2F65 LD C,D CALL AUTO_2F3A LD HL,AUTO_4000 LD B,#C0 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 (FDC_93.Sector),A PUSH HL LD D,20 PUSH DE AUTO_2D7B: DI LD C,127 LD A,160 OUT (FDC_93.Command),A CALL AUTO_3FCA POP DE POP HL IN A,(FDC_93.Command) AND 127 RET Z DEC D PUSH HL PUSH DE JR NZ,AUTO_2D7B HALT AUTO_2D92: LD HL,(ZX_VARS.FL_START) LD DE,(ZX_VARS.FL_PLACE) LD A,(ZX_VARS.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,ZX_VARS.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,ZX_VARS.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,ZX_VARS.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,(ZX_VARS.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,(ZX_VARS.PDOS_COPY) LD (AUTO_4011),A LD HL,(ZX_VARS.FL_START) PUSH HL LD DE,(ZX_VARS.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 (ZX_VARS.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,(ZX_VARS.BORDER) AND '8' RRCA RRCA RRCA OUT (BorderColor),A LD A,(ZX_VARS.SWAP_ROM_PRESENCE) ;.爛 ├ #5B08 CP #EE ; #EE? XOR 牀罐ゃ爛 ムオ鈑キ ROM Basic 48<->128 ;荐!!!! 甄 #EE むメ #5B08 ラ 腑 〓p. JR NZ,AUTO_2EF7 ;メ モ, 皰 瓱痰ガ諷 ムガキ諷 128 モ PUSH BC LD BC,PORT_128 LD A,(ZX_VARS.COPY_P128) OUT (C),A POP BC AUTO_2EF7: LD A,(ZX_VARS.K_STATE) ;.爛 筰 爛琺┤ OR A LD A,#C9 ;竅→ ムオ鈑皀 .瓱 LD (ZX_VARS.K_STATE),A JR NZ,AUTO_2F03 EI AUTO_2F03: POP AF JP ZX_VARS.K_STATE AUTO_2F07: LD A,(AUTO_4011) OR #3C AUTO_2F0C: OUT (FDC_93.DrvCTRL),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 (FDC_93.Sector),A PUSH HL LD D,20 PUSH DE AUTO_2F23: DI LD C,127 LD A,128 OUT (FDC_93.Command),A CALL AUTO_3FE5 POP DE POP HL IN A,(FDC_93.Command) AND 127 RET Z DEC D PUSH HL PUSH DE JR NZ,AUTO_2F23 HALT AUTO_2F3A: LD A,3Ch OUT (FDC_93.DrvCTRL),A LD A,(ZX_VARS.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 (FDC_93.DrvCTRL),A AUTO_2F4F: LD A,C AUTO_2F50: OUT (FDC_93.Data),A CALL pause_50ms LD A,24 AUTO_2F57: OUT (FDC_93.Command),A AUTO_2F59: IN A,(FDC_93.DrvCTRL) 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,(ZX_VARS.DOS_SP) DEC HL DEC HL LD SP,HL JP AUTO_1D2F ; ; RST20 procedure ; RST20_EXE: LD (ZX_VARS.WORK_2),HL LD (ZX_VARS.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,ZX_VARS.RET_INS PUSH HL LD HL,(ZX_VARS.WORK_2) LD DE,(ZX_VARS.WORK_4) RET ; ; INIT DOS VARS ; AUTO_2F90: ; INIT DATA DOS LD HL,0FFFFh LD (ZX_VARS.TIME_A),HL LD (ZX_VARS.TIME_C),HL LD (ZX_VARS.DISK_C),HL CALL INIT_2X80_1 ; *** !!! *** ; LD (ZX_VARS.DISK_A),HL XOR A LD (ZX_VARS.FLAG_BOOT),A LD (ZX_VARS.CONT_DISK),A LD (ZX_VARS.INT_1_VAR),A LD (ZX_VARS.DOS_ERR_2),A LD (ZX_VARS.FL_NUMBER+1),A LD A,255 OUT (FDC_93.DrvCTRL),A LD (ZX_VARS.ERR_NR),A LD (ZX_VARS.PDOS_COPY),A LD (ZX_VARS.BUF_FLAG),A LD A,201 LD (ZX_VARS.RET_INS),A LD A,0D0h OUT (FDC_93.Command),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,ZX_VARS.BUFFER JP AUTO_1E67 AUTO_2FDE: PUSH HL LD DE,(ZX_VARS.CONT_SEC) CALL AUTO_2FD6 LD A,(ZX_VARS.MED_LEN) POP DE OR A RET Z LD C,A LD HL,ZX_VARS.BUFFER LDIR RET //////////////////////////////////////////// TRDOS_CMD: ; ゛ TR-DOS. .LIST: DB ZX_Token.cat DB '*' DB ZX_Token.format DB ZX_Token.move ; DB ZX_Token.new DB ZX_Token.erase DB ZX_Token.load DB ZX_Token.save ; DB ZX_Token.return DB ZX_Token.peek DB ZX_Token.poke DB ZX_Token.merge ; DB ZX_Token.run DB ZX_Token.open_channel DB ZX_Token.close_channel DB ZX_Token.copy ; DB '4' DB ZX_Token.go_to DB '8' DB ZX_Token.list ; DB ZX_Token.verify DB '/' ; .LIST.Size EQU $ - TRDOS_CMD.LIST ; ゛ むメ く牀, 覩闔薑 る TR-DOS. .TABLE: 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,(ZX_VARS.E_LINE) LD (ZX_VARS.ADR_DOS_COM),HL LD (ZX_VARS.DOS_CH_ADR),HL LD A,255 LD (ZX_VARS.DOS_ERROR),A LD HL,ZX_VARS.MED_LEN JR AUTO_3054 ; LD (ZX_VARS.MED_START),HL ; 3 閧 甎瓷 ; nop ; nop ; nop AUTO_3048: LD (ZX_VARS.ADR_DOS_COM),HL LD (ZX_VARS.DOS_CH_ADR),HL CALL AUTO_30E1 RET NZ INC HL INC HL AUTO_3054: JP REDIR_LINE_CODING ; LD (ZX_VARS.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,(ZX_VARS.DOS_CH_ADR) LD (HL),A INC HL EX DE,HL RST_ROM ROUTINE.differ PUSH BC RST_ROM ROUTINE.reclaim_2 POP BC LD A,(ZX_VARS.DOS_ERROR) OR A JR NZ,AUTO_3087 LD HL,(ZX_VARS.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,(ZX_VARS.DOS_CH_ADR) LD A,(HL) CP 13 RET Z INC HL ; 甄イ竡薀 甄〓 LD (ZX_VARS.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 (ZX_VARS.DOS_CH_ADR),HL JR AUTO_3057 AUTO_30A9: LD HL,(ZX_VARS.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,(ZX_VARS.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,(ZX_VARS.PPC) INC HL INC HL LD A,H OR L JR Z,AUTO_30F4 XOR A LD (ZX_VARS.DOS_ERROR),A DEC HL DEC HL RST_ROM ROUTINE.line_addr RET AUTO_30F4: LD A,255 LD (ZX_VARS.DOS_ERROR),A LD HL,(ZX_VARS.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 ; ; ; _mInfoBLOCK #31F3 - $,255 AUTO_31F3: LD HL,(ZX_VARS.CHANS) OR A LD BC,ZX_VARS.BUFFER SBC HL,BC RET _mInfoBLOCK #3200-$,#FF INIT_2X80: JP AUTO_106E INIT_2X80_1: XOR A LD (ZX_VARS.OPER_DISK),A LD A,#3C LD (ZX_VARS.PDOS_COPY),A OUT (FDC_93.DrvCTRL),A LD HL,#8383 LD (ZX_VARS.DISK_A),HL LD (ZX_VARS.DISK_B),HL LD (ZX_VARS.DISK_C),HL LD (ZX_VARS.DISK_D),HL LD HL,#0303 LD (ZX_VARS.TIME_A),HL LD (ZX_VARS.TIME_B),HL LD (ZX_VARS.TIME_C),HL LD (ZX_VARS.TIME_D),HL ; CALL INIT_SYS_PAGE RET ; ; ; LOAD_CR: LD A,13 LD (ZX_VARS.COM_LN_COPY),A JP AUTO_021D ; ; ; PRINT_TRK: PUSH HL PUSH BC PUSH AF PUSH DE LD A,207 LD (ZX_VARS.SCR_PL_L),A LD A,15 LD (ZX_VARS.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,(ZX_VARS.CH_ADR) LD A,(HL) CP '"' JR NZ,FORM_NO_NEXT INC HL LD A,(HL) FORM_NO_NEXT: CP #0D RET Z CP #80 RET Z JP NC,CMD_ERROR CP ' ' JP C,CMD_ERROR AND #DF LD (ZX_VARS.MED_START+1),A RET ; ; FORM_F01: INC HL LD A,(ZX_VARS.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 (ZX_VARS.SCR_PL_L),A LD A,27 LD (ZX_VARS.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,(ZX_VARS.OPER_DISK) ADD A,'A' RST RST10 LD A,':' RST RST10 LD HL,ZX_VARS.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,ZX_VARS.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,(ZX_VARS.MED_START+1) CP 15H CALL AUTO_1C57 CALL AUTO_1D97 LD A,2 RST_ROM ROUTINE.chan_open LD HL,NEW_NAME RST PRINT_LN FORM_X04: CALL AUTO_106E LD A,(ZX_VARS.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 (ZX_VARS.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 (ZX_VARS.FL_LEN),A LD (ZX_VARS.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,16,1 SUB_HL_14: LD A,L SUB 14 LD L,A RET NC DEC H RET LOW_CLS_AT00: RST_ROM ROUTINE.cls_lower LD HL,MSG_AT00 JP PRINT_LINE TYPE_FL_X00: LD A,(ZX_VARS.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 (ZX_VARS.FL_TYPE),A TYPE_FL_X01: LD A,(ZX_VARS.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,ZX_VARS.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,(ZX_VARS.DOS_CH_ADR) LD A,E OR A JR Z,OWERWR_X03 INC D OWERWR_X03: LD A,(ZX_VARS.FL_SIZE) CP D JR NC,OWERWR_X04 CALL AUTO_2926 JR TYPE_FL_X03 OWERWR_X04: LD B,D LD HL,(ZX_VARS.E_LINE) LD (HL),170 INC HL LD DE,(ZX_VARS.AUTO_5CD1) LD (HL),E INC HL LD (HL),D LD C,6 LD HL,(ZX_VARS.MED_LEN) LD (ZX_VARS.FL_LEN),HL LD HL,(ZX_VARS.MED_START) LD (ZX_VARS.FL_START),HL LD DE,(ZX_VARS.FL_PLACE) CALL WRITE_DISK LD BC,(ZX_VARS.FL_NUMBER) CALL AUTO_1BBF CALL AUTO_1665 RET LABEL_X00: EI JP AUTO_2F69 ;/////////////////////////////////// SIDE_FORMAT: ; 筮爼皋牀 ム 痰牀 !!! LD A,(ZX_VARS.PDOS_COPY) BIT 5,A JR Z,SIDE_OUTS INC D SIDE_OUTS: IN A,(FDC_93.DrvCTRL) 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,(ZX_VARS.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,(ZX_VARS.MED_START) AND A SBC HL,DE ADD HL,DE JR Z,MOVE_X05 LD (ZX_VARS.AUTO_5CD5),DE LD A,C LD (ZX_VARS.AUTO_5CD3),A CALL AUTO_17A5 MOVE_X04: POP HL PUSH HL LD DE,(ZX_VARS.FL_N_2) LD BC,RST10 LDIR LD (ZX_VARS.FL_N_2),DE EX DE,HL LD DE,(ZX_VARS.FL_NAME) DEC HL LD (HL),D DEC HL LD (HL),E LD HL,(ZX_VARS.MED_START) LD (ZX_VARS.FL_NAME),HL LD HL,ZX_VARS.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 (ZX_VARS.MED_START),DE JR MOVE_X04 ;************************************* EDIT_RET: LD HL,(ZX_VARS.E_LINE) LD (HL),254 INC HL LD (HL),13 INC HL LD (HL),80H RET EDIT_X00: ;!FIXIT 腑 ↑メ皰 #1D90 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,(ZX_VARS.E_LINE) LD A,13 LD BC,0 CPIR DEC HL LD (ZX_VARS.K_CUR),HL INC HL INC HL LD (HL),128 EDIT_X01: RST RST20 ; □ ※荐 DW #15D4 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 #0F58 JR EDIT_X01 EDIT_X03: RST RST20 ; 痰. □ <筌 爛皋牀 DW #0F81 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 #0F92 JR EDIT_X01 EDIT_X05: CALL AUTO_1D9F JP AUTO_0239 ;****************************************** ;!TODO russian charset ; RUS_PRINT: ; AND #3F ; LD L,A ; LD H,0 ; ADD HL,HL ; ADD HL,HL ; ADD HL,HL ; LD BC,ZG_RUS ; ADD HL,BC ; LD DE,#5C92 ; LD BC,8 ; LDIR ; LD A,#C9 ; LD (ZX_VARS.AUTO_5C9A),A ; JP ZX_VARS.AUTO_5C9A ;************************************** ; DSS 3900H,'#' ;********************************** _mInfoBLOCK #3C00 - $,255 AUTO_3C00: RST R38 JR AUTO_3C06 RST R38 JR AUTO_3C09 ; ; _mInfoBLOCK #3C06 - $,255 AUTO_3C06: JP AUTO_3D00 ; ; _mInfoBLOCK #3C09 - $,255 AUTO_3C09: JP AUTO_3D03 ;************************************ ;!FIXIT not used _mInfoBLOCK #3C10 - $,255 ;KBD_EXP: LD A,CNF_PORT.ZX_BIOS OUT (CNF_PORT.ON),A RET ; ;************************************ ;!FIXIT not used _mInfoBLOCK #3C18 - $,255 ;KBD_OFF: LD A,CNF_PORT.ZX_BIOS OUT (CNF_PORT.ON),A RET ;************************************ ;!FIXIT not used _mInfoBLOCK #3C20 - $,255 READR_X: CALL get_disk_time LD B,A JP set_side_0 ;************************************ ;!FIXIT not used _mInfoBLOCK #3C30 - $,255 IN A,(FDC_93.Command) RET ;***************************** NEW_NAME: DB 22,1,3, "* Sprinter TR-DOS v.7.03 *" DB 22,3,6, "(c) 2024 Sprinter Team" DB 22,5,14, "*R.F.*" DB 22,7,9, "BETA 4Mb",0 ;***************************** ;FORMATER: ; LD HL,TX_FORMAT ; LD DE,(ZX_VARS.E_LINE) ; 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 ;******************************* ;******************************* ;!TEST 06/01/2024 甌縲錺 甌痰鎰┘ 爛琺┤ 腑-皰 EXP_FNS_PREPARE: PUSH HL PUSH AF LD A,R DI PUSH AF POP HL POP AF EX (SP),HL CALL EXP_FNS_PREPARE_EXIT EX (SP),HL PUSH AF BIT 2,L ; LD A,L ; AND 4 JR Z,.no_EI EI .no_EI: POP AF POP HL RET EXP_FNS_PREPARE_EXIT: PUSH AF XOR A ; SYS_PORT.BIOS JP EXP_FNS_PREPARE_RET ;******************************* RD_HEAD_DSK.FIXED: LD A,7 JP AUTO_1C4A CMD_COPY.FIXED: PUSH AF CALL AUTO_05CB POP AF RET Z INC SP INC SP JP AUTO_03D9 ;******************************* _mInfoBLOCK #3CC0 - $,255 MAGIC_1: PUSH AF LD A,CNF_PORT.ZX_BIOS OUT (CNF_PORT.ON),A POP AF JP MAGIC_2 ;******************************* _mInfoBLOCK #3CC9 - $,255 MAGIC_3: PUSH AF LD A,CNF_PORT.ZX_BIOS OUT (CNF_PORT.ON),A POP AF RETN ;******************************* BEEP_1: PUSH AF LD HL,200 ; BEEP LD D,H LD E,(IY-1) RST_ROM ROUTINE.beeper 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 ;!TEST 06/01/2024 磧ガ 茘┘ 皀あ└キ ;RES 6,C ;JP HD_CMD ;#3FF0 ROM. DI JP EXP_FNS ; ;***************************** _mInfoBLOCK #3CFA - $,255 AUTO_3CFA: JP xchg_intf1 ;****** 3D13 redirection ****** _mInfoBLOCK #3CFD - $,255 AUTO_3CFD: JP REDIR_3D13 ; JP AUTO_283C ;***********************************************************************; _mInfoBLOCK #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 !!! **** _mInfoBLOCK #3D13-$,#FF 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,ZX_VARS.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 (ZX_VARS.INTERF_I),A RET .Size EQU $-AUTO_3D44 AUTO_3D4C: XOR A OUT (FDC_93.DrvCTRL),A IN A,(#F6) ; 腑 驍 LD HL,AUTO_3D38 LD DE,ZX_VARS.MEM_BOT LD BC,AUTO_3D38.Size + AUTO_3D44.Size LDIR LD HL,AUTO_3D67 PUSH HL LD HL,AUTO_3D2F PUSH HL JP ZX_VARS.MEM_BOT AUTO_3D67: ; 竍碎 閧 か DOS LD HL,AUTO_2F90 ; ▲爿竄赱 牀 ┃. VARS PUSH HL LD HL,AUTO_3D2F PUSH HL LD HL,ZX_VARS.PROG.MAKE_ROOM PUSH HL LD HL,ZX_VARS.TSTACK PUSH HL LD (HL),#C9 ; RET code LD HL,ZX_VARS.P_RAMTOP+1 LD BC,CONT_8+7 RET PRINT_CR: LD A,#0D ; enter PRINT_SYM: JP PRINT_RED _mInfoBLOCK #3D8F-$,#FF ; DW 0000 ; _mInfoBLOCK 3,#FF ; ;======================================================================= ;!TODO russian charset ; PRINT_CR: ; LD A,#0D ; enter ; PRINT_SYM: ; CP #80 ; JP C,PRINT_RED ; JP RUS_PRINT ;======================================================================= AUTO_3D94: RST_ROM ROUTINE.print_a RET AUTO_3D98: LD A,8 WG93_EXE: OUT (FDC_93.Command),A AUTO_3D9C: PUSH HL RST_ROM ROUTINE.break_key ;RET_1F54: JR C,AUTO_3DA5 RST_ROM ROUTINE.report_l AUTO_3DA5: POP HL IN A,(FDC_93.DrvCTRL) AND 128 JR Z,AUTO_3D9C RET RESET_WG: LD A,8 CALL WG93_EXE LD DE,0 IN A,(FDC_93.Command) AND 2 LD B,A AUTO_3DBA: IN A,(FDC_93.Command) AND 2 CP B RET NZ INC DE LD A,E OR D JR NZ,AUTO_3DBA JP AUTO_3EE7 AUTO_3DC8: LD A,(ZX_VARS.CONT_DISK) SET_DISK: JP RAMD_X12 AUTO_3DCE: LD HL,ZX_VARS.PDOS_COPY LD C,A LD A,#3C OR C OUT (FDC_93.DrvCTRL),A LD (HL),A CALL get_disk_time AND #80 JR Z,AUTO_3DFA CALL RESET_WG CALL test_disk CALL get_disk_type CP #FF JR NZ,AUTO_3DFA PUSH HL CALL test_d_traks POP HL CP #50 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 ; #50 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,ZX_VARS.TIME_A AUTO_3E0B: LD HL,(ZX_VARS.OPER_DISK) ADD HL,DE LD A,(HL) RET get_disk_type: LD DE,ZX_VARS.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,(FDC_93.Command) AND 4 JR NZ,AUTO_3E3F XOR A CALL Goto_trk IN A,(FDC_93.Command) AND 4 RET NZ AUTO_3E3F: INC B DEC C RET Z JR AUTO_3E1D Goto_trk: OUT (FDC_93.Data),A LD A,B OR 24 JP WG93_EXE_ Goto_trkx: OUT (FDC_93.Data),A PUSH BC LD B,A IN A,(FDC_93.Track) 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,(FDC_93.Track) CP C JR Z,AUTO_3E82 RLCA OUT (FDC_93.Track),A LD A,C RLCA AUTO_3E82: LD C,A AUTO_3E83: CALL get_disk_time LD B,A IN A,(FDC_93.Track) CP C PUSH BC CALL NZ,pause_50ms POP BC LD A,C CALL Goto_trkx POP BC LD A,C OUT (FDC_93.Track),A LD A,(ZX_VARS.DRV_READY) OR A RET Z XOR A LD (ZX_VARS.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,(FDC_93.Command) AND 128 LD (ZX_VARS.DRV_READY),A IN A,(FDC_93.Track) LD H,A ; 皀竕竡 ぎ牀Κ CALL Goto_trk ; Ж罔牀┘ ; CALL READR_X LD C,127 LD D,1 DI LD A,0C0h ; 艪キ┘ むメ モ OUT (FDC_93.Command),A PUSH BC LD B,6 AUTO_3ECE: IN A,(FDC_93.DrvCTRL) 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 (FDC_93.Command),A LD A,(ZX_VARS.AUTO_5CD1) CP 255 RET Z AUTO_3EE7: CALL set_error_26 LD A,255 LD (ZX_VARS.FLAG_BOOT),A JP exit_No_disk AUTO_3EF2: POP BC IN H,(C) AUTO_3EF5: IN A,(FDC_93.DrvCTRL) AND 192 JR Z,AUTO_3EF5 EI RET M DI IN A,(FDC_93.Data) JR AUTO_3EF5 save_sector: LD (ZX_VARS.SEC_NUM),A RET save_bufer: LD (ZX_VARS.CONT_BUF_ADR),HL RET AUTO_3F0A: LD A,160 JR AUTO_3F10 AUTO_3F0E: LD A,128 AUTO_3F10: LD (ZX_VARS.COMAND_WG),A AUTO_3F13: LD D,10 AUTO_3F15: PUSH DE DI LD A,(ZX_VARS.SEC_NUM) INC A OUT (FDC_93.Sector),A LD HL,(ZX_VARS.CONT_BUF_ADR) LD C,127 LD A,(ZX_VARS.COMAND_WG) OUT (FDC_93.Command),A CP 160 PUSH AF CALL Z,AUTO_3FBA POP AF CALL NZ,AUTO_3FD5 POP DE EI IN A,(FDC_93.Command) 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 (FDC_93.Command),A LD A,B AND 1 JP NZ,AUTO_3EE7 IN A,(FDC_93.Track) OR A JR NZ,AUTO_3F5F IN A,(FDC_93.Sector) 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,(FDC_93.Track) CALL AUTO_1DA3 LD HL,AUTO_2A18 RST PRINT_LN IN A,(FDC_93.Sector) 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 (ZX_VARS.DOS_ERR_2),A JP AUTO_01D3 AUTO_3F94: LD A,(ZX_VARS.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,(ZX_VARS.CONT_TRK) CALL Global_trk POP DE JP AUTO_3F15 ;****************************************** ; Sector Write !!! ;****************************************** AUTO_3FBA: LD B,4 AUTO_3FBC: IN A,(FDC_93.DrvCTRL) 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,(FDC_93.DrvCTRL) 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,(FDC_93.DrvCTRL) 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,(FDC_93.DrvCTRL) AND 192 JR Z,AUTO_3FE5 RET M AUTO_3FEC: INI JR AUTO_3FE5 ;****************************************** ;[x]] ←キ ム 粃罔 爬 襷 API 琺モ 痼с BIOS 腑爛 #3FF8 ;-------[ From TR-DOS to API 4x ]------- _mInfoBLOCK #3FF0-$, #FF HD_CMD: PUSH AF DI LD A,SYS_PORT.EXTENSION OUT (SYS_PORT.ROM),A POP AF RET ;--------------------------------------- ; ;----[ From TR-DOS to API #80..#FF]----- _mInfoBLOCK #3FF8-$, #FF EXP_FNS: JP EXP_FNS_PREPARE EXP_FNS_PREPARE_RET: OUT (SYS_PORT.ROM),A POP AF RET ;--------------------------------------- ; ; _mInfoBLOCK #4000-$, #FF ; DISPLAY "\n\rNEW RAMDRV READ = ",/D,NEW_RAMDRV_READ ;