bugfix with interrupts in 5x for FDD
This commit is contained in:
parent
2020c04f13
commit
903081f220
@ -1105,7 +1105,7 @@ PORTS_INIT:
|
||||
INCLUDE 'FUNC_PIC.ASM'
|
||||
INCLUDE 'FUNC_RAM_ROM_DRV.ASM'
|
||||
INCLUDE 'FUNC_SYS.ASM'
|
||||
INCLUDE 'FUNK_FOR_TRDOS.ASM'
|
||||
INCLUDE 'FUNC_FOR_TRDOS.ASM'
|
||||
INCLUDE 'FUNC_5x.asm'
|
||||
INCLUDE 'FUNC_LOW_PRINT.ASM'
|
||||
;-----------------------------------------------------------------------;
|
||||
@ -1584,11 +1584,13 @@ DOS_OFF:
|
||||
DI
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
;
|
||||
LD BC,(#5BFF) ; !HARDCODE
|
||||
LD A,#C9 ; Opcode RET
|
||||
LD (#5BFF),A ; !HARDCODE
|
||||
CALL #5BFF ; !HARDCODE
|
||||
LD (#5BFF),BC ; !HARDCODE
|
||||
;
|
||||
POP BC
|
||||
POP AF
|
||||
JP PO,.no_EI
|
||||
|
||||
@ -72,52 +72,52 @@ FDD_5x_GETMED:
|
||||
; D7 - "1" - High Density, "0" - Double Density
|
||||
;Return: None
|
||||
;[]===========================================================[]
|
||||
FDD_5x_SETMED:
|
||||
;!TEST FDD 720/1440
|
||||
IF FDD_NormalCount
|
||||
LD IY,FDD_INI_TABLE.FDD_0
|
||||
DEC A
|
||||
JR C,.setParams
|
||||
LD IY,FDD_INI_TABLE.FDD_1
|
||||
ENDIF
|
||||
.setParams:
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
|
||||
;!TEST FDD 720/1440
|
||||
IF FDD_NormalCount
|
||||
LD (IY+1),L ;SECTORS
|
||||
LD (IY+2),H ;HEADS
|
||||
LD (IY+3),E ;CYLINDL
|
||||
LD (IY+4),D ;CYLINDH
|
||||
LD A,XL
|
||||
LD (IY+5),A ;B_P_S low
|
||||
LD A,XH
|
||||
LD (IY+6),A ;B_P_S High
|
||||
LD (IY+0),B ;F144/720
|
||||
LD A,B
|
||||
ELSE
|
||||
LD A,B
|
||||
LD (FDD_INI_TABLE.FDD_0.SECTORS),HL
|
||||
LD (FDD_INI_TABLE.FDD_0.CYLINDL),DE
|
||||
LD (FDD_INI_TABLE.FDD_0.BytesPerSector),IX
|
||||
LD (FDD_INI_TABLE.FDD_0.F144),A
|
||||
ENDIF
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
|
||||
;!TEST FDD 720/1440
|
||||
IF FDD_NormalCount
|
||||
AND 1
|
||||
JP Z,FN_TURBO.SET_FDD_720
|
||||
JP FN_TURBO..SET_FDD_1440
|
||||
ELSE
|
||||
AND A
|
||||
RET
|
||||
ENDIF
|
||||
FDD_5x_SETMED: ;!TEST FDD 720/1440
|
||||
IF FDD_NormalCount
|
||||
LD IY,FDD_INI_TABLE.FDD_0
|
||||
DEC A
|
||||
JR C,.setParams
|
||||
LD IY,FDD_INI_TABLE.FDD_1
|
||||
ENDIF
|
||||
;
|
||||
.setParams: IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
;
|
||||
;!TEST FDD 720/1440
|
||||
IF FDD_NormalCount
|
||||
LD (IY+1),L ;SECTORS
|
||||
LD (IY+2),H ;HEADS
|
||||
LD (IY+3),E ;CYLINDL
|
||||
LD (IY+4),D ;CYLINDH
|
||||
LD A,XL
|
||||
LD (IY+5),A ;B_P_S low
|
||||
LD A,XH
|
||||
LD (IY+6),A ;B_P_S High
|
||||
LD (IY+0),B ;F144/720
|
||||
LD A,B
|
||||
ELSE
|
||||
LD A,B
|
||||
LD (FDD_INI_TABLE.FDD_0.SECTORS),HL
|
||||
LD (FDD_INI_TABLE.FDD_0.CYLINDL),DE
|
||||
LD (FDD_INI_TABLE.FDD_0.BytesPerSector),IX
|
||||
LD (FDD_INI_TABLE.FDD_0.F144),A
|
||||
ENDIF
|
||||
;
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
;
|
||||
;!TEST FDD 720/1440
|
||||
IF FDD_NormalCount
|
||||
AND 1
|
||||
JP Z,FN_TURBO.SET_FDD_720
|
||||
JP FN_TURBO..SET_FDD_1440
|
||||
ELSE
|
||||
AND A
|
||||
RET
|
||||
ENDIF
|
||||
|
||||
;[]===========================================================[]
|
||||
;Function: Detect Disk Density
|
||||
@ -125,34 +125,49 @@ FDD_5x_SETMED:
|
||||
;Return:
|
||||
; A - Flag D7 - "1" - High Density, "0" - Double Density
|
||||
;[]===========================================================[]
|
||||
FDD_5x_DETECT:
|
||||
CALL SET_DOS_ON
|
||||
CALL DISK_ID
|
||||
PUSH AF
|
||||
CALL SET_DOS_OFF
|
||||
POP AF
|
||||
RET
|
||||
FDD_5x_DETECT: CALL SAVE_INTERRUPTS.switch_off
|
||||
CALL SET_DOS_ON
|
||||
CALL DISK_ID
|
||||
PUSH AF
|
||||
CALL SET_DOS_OFF
|
||||
POP AF
|
||||
JP SAVE_INTERRUPTS.restore
|
||||
;RET
|
||||
|
||||
;[]===========================================================[]
|
||||
;Function: Reset Disk
|
||||
; A - Disk
|
||||
;Return: None
|
||||
;[]===========================================================[]
|
||||
FDD_5x_RESET:
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL DISK_ID
|
||||
LD A,4 ;NOT READY /NO DISK/
|
||||
JP C,MOTOR_OFF
|
||||
CALL RESWG
|
||||
XOR A
|
||||
OUT (FDC_93.Track),A
|
||||
IN A,(FDC_93.Command)
|
||||
LD C,A
|
||||
CALL SET_DOS_OFF
|
||||
LD A,C
|
||||
AND A
|
||||
RET
|
||||
FDD_5x_RESET: CALL SAVE_INTERRUPTS.switch_off
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL DISK_ID
|
||||
JR C,.MOTOR_OFF
|
||||
;
|
||||
CALL RESWG
|
||||
XOR A
|
||||
OUT (FDC_93.Track),A
|
||||
IN A,(FDC_93.Command)
|
||||
LD C,A
|
||||
CALL SET_DOS_OFF
|
||||
LD A,C
|
||||
AND A
|
||||
JP SAVE_INTERRUPTS.restore
|
||||
;RET
|
||||
.MOTOR_OFF: ;PUSH AF
|
||||
LD A,#D0
|
||||
OUT (FDC_93.Command),A ;STOP OPERATION
|
||||
LD A,#00
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
LD A,#3C
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
CALL SET_DOS_OFF
|
||||
; CF=1
|
||||
LD A,4 ;NOT READY /NO DISK/
|
||||
;POP AF
|
||||
JP SAVE_INTERRUPTS.restore
|
||||
|
||||
;[]===========================================================[]
|
||||
;Function: Read Sectors
|
||||
; A - Disk
|
||||
@ -179,126 +194,124 @@ FDD_5x_READ:
|
||||
; DE - Address + (Sector counter * Size sector)
|
||||
;[]===========================================================[]
|
||||
FDD_5x_LONG_READ:
|
||||
PUSH IY
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
EX AF,AF'
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
PUSH BC
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SPEED
|
||||
CALL NTRACK
|
||||
POP BC
|
||||
EX DE,HL
|
||||
; LD A,B
|
||||
; OR A
|
||||
; JP Z,RETDOS
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD IY,(FDD_INI_TABLE.FDD_0.BytesPerSector)
|
||||
LD XH,C
|
||||
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
.DSK_LP:
|
||||
LD A,D
|
||||
EXX
|
||||
CALL SEEK
|
||||
EXX
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL RD_SEC
|
||||
JP C,ERRDOS
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
POP HL
|
||||
POP BC
|
||||
ADD HL,DE
|
||||
JR NC,.THISRD
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD D,#C2
|
||||
LD E,XH
|
||||
LD A,(DE)
|
||||
LD XH,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
SET 7,H
|
||||
SET 6,H
|
||||
.THISRD:
|
||||
POP DE
|
||||
LD A,C
|
||||
INC E
|
||||
CP E
|
||||
JP NZ,.NINC_T
|
||||
LD E,0
|
||||
INC D
|
||||
.NINC_T:
|
||||
DJNZ .DSK_LP
|
||||
.RETDOS:
|
||||
CALL SET_DOS_OFF
|
||||
LD A,XH
|
||||
EX AF,AF'
|
||||
EX DE,HL
|
||||
POP IX
|
||||
POP HL
|
||||
POP BC
|
||||
POP IY
|
||||
LD A,B
|
||||
LD C,B
|
||||
INC B
|
||||
DEC B
|
||||
LD B,0
|
||||
JR NZ,.ADD8BIT
|
||||
INC B
|
||||
.ADD8BIT:
|
||||
ADD IX,BC
|
||||
LD BC,0
|
||||
ADC HL,BC
|
||||
LD B,A
|
||||
XOR A
|
||||
RET
|
||||
|
||||
ERRDOS:
|
||||
POP HL
|
||||
POP BC
|
||||
POP DE
|
||||
CALL SET_DOS_OFF
|
||||
EX DE,HL
|
||||
EX AF,AF'
|
||||
EXX
|
||||
LD C,XH
|
||||
EXX
|
||||
LD A,B
|
||||
POP IX
|
||||
POP HL
|
||||
POP BC
|
||||
POP IY
|
||||
PUSH AF
|
||||
LD C,A
|
||||
LD A,B
|
||||
SUB C
|
||||
LD C,A
|
||||
LD B,0
|
||||
ADD IX,BC
|
||||
LD C,B
|
||||
ADC HL,BC
|
||||
POP BC
|
||||
EXX
|
||||
LD A,C
|
||||
EXX
|
||||
EX AF,AF'
|
||||
SCF
|
||||
RET
|
||||
CALL SAVE_INTERRUPTS.switch_off
|
||||
CALL .Start
|
||||
JP SAVE_INTERRUPTS.restore
|
||||
;
|
||||
.Start: PUSH IY
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
EX AF,AF'
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
PUSH BC
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SPEED
|
||||
CALL NTRACK
|
||||
POP BC
|
||||
EX DE,HL
|
||||
; LD A,B
|
||||
; OR A
|
||||
; JP Z,RETDOS
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD IY,(FDD_INI_TABLE.FDD_0.BytesPerSector)
|
||||
LD XH,C
|
||||
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
.DSK_LP: LD A,D
|
||||
EXX
|
||||
CALL SEEK
|
||||
EXX
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL RD_SEC
|
||||
JP C,ERRDOS
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
POP HL
|
||||
POP BC
|
||||
ADD HL,DE
|
||||
JR NC,.THISRD
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD D,#C2
|
||||
LD E,XH
|
||||
LD A,(DE)
|
||||
LD XH,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
SET 7,H
|
||||
SET 6,H
|
||||
.THISRD: POP DE
|
||||
LD A,C
|
||||
INC E
|
||||
CP E
|
||||
JP NZ,.NINC_T
|
||||
LD E,0
|
||||
INC D
|
||||
.NINC_T: DJNZ .DSK_LP
|
||||
.RETDOS: CALL SET_DOS_OFF
|
||||
LD A,XH
|
||||
EX AF,AF'
|
||||
EX DE,HL
|
||||
POP IX
|
||||
POP HL
|
||||
POP BC
|
||||
POP IY
|
||||
LD A,B
|
||||
LD C,B
|
||||
INC B
|
||||
DEC B
|
||||
LD B,0
|
||||
JR NZ,.ADD8BIT
|
||||
INC B
|
||||
.ADD8BIT: ADD IX,BC
|
||||
LD BC,0
|
||||
ADC HL,BC
|
||||
LD B,A
|
||||
XOR A
|
||||
RET
|
||||
;
|
||||
ERRDOS: POP HL
|
||||
POP BC
|
||||
POP DE
|
||||
CALL SET_DOS_OFF
|
||||
EX DE,HL
|
||||
EX AF,AF'
|
||||
EXX
|
||||
LD C,XH
|
||||
EXX
|
||||
LD A,B
|
||||
POP IX
|
||||
POP HL
|
||||
POP BC
|
||||
POP IY
|
||||
PUSH AF
|
||||
LD C,A
|
||||
LD A,B
|
||||
SUB C
|
||||
LD C,A
|
||||
LD B,0
|
||||
ADD IX,BC
|
||||
LD C,B
|
||||
ADC HL,BC
|
||||
POP BC
|
||||
EXX
|
||||
LD A,C
|
||||
EXX
|
||||
EX AF,AF'
|
||||
SCF
|
||||
RET
|
||||
|
||||
;[]===========================================================[]
|
||||
;Function: Write Sectors
|
||||
@ -326,93 +339,93 @@ FDD_5x_WRITE:
|
||||
; DE - Address + (Sector counter * Size sector)
|
||||
;[]===========================================================[]
|
||||
FDD_5x_LONG_WRITE:
|
||||
PUSH IY
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
EX AF,AF'
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
PUSH BC
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SPEED
|
||||
CALL NTRACK
|
||||
POP BC
|
||||
EX DE,HL
|
||||
; LD A,B
|
||||
; OR A
|
||||
; JP Z,RETDOS
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD IY,(FDD_INI_TABLE.FDD_0.BytesPerSector)
|
||||
LD XH,C
|
||||
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
.DSK_LP2:
|
||||
LD A,D
|
||||
EXX
|
||||
CALL SEEK
|
||||
EXX
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL WR_SEC
|
||||
JP C,ERRDOS
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
POP HL
|
||||
POP BC
|
||||
ADD HL,DE
|
||||
JR NC,.THISWR
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD D,#C2
|
||||
LD E,XH
|
||||
LD A,(DE)
|
||||
LD XH,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
SET 7,H
|
||||
SET 6,H
|
||||
.THISWR:
|
||||
POP DE
|
||||
LD A,C
|
||||
INC E
|
||||
CP E
|
||||
JP NZ,.NINC_T2
|
||||
LD E,0
|
||||
INC D
|
||||
.NINC_T2:
|
||||
DJNZ .DSK_LP2
|
||||
CALL SET_DOS_OFF
|
||||
LD A,XH
|
||||
EX AF,AF'
|
||||
EX DE,HL
|
||||
POP IX
|
||||
POP HL
|
||||
POP BC
|
||||
POP IY
|
||||
LD A,B
|
||||
LD C,B
|
||||
INC B
|
||||
DEC B
|
||||
LD B,0
|
||||
JR NZ,.ADW8BIT
|
||||
INC B
|
||||
.ADW8BIT:
|
||||
ADD IX,BC
|
||||
LD BC,0
|
||||
ADC HL,BC
|
||||
LD B,A
|
||||
XOR A
|
||||
RET
|
||||
CALL SAVE_INTERRUPTS.switch_off
|
||||
CALL .Start
|
||||
JP SAVE_INTERRUPTS.restore
|
||||
;
|
||||
.Start: PUSH IY
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
PUSH IX
|
||||
EX AF,AF'
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
PUSH BC
|
||||
CALL SET_DOS_ON
|
||||
CALL S_FDD
|
||||
CALL SPEED
|
||||
CALL NTRACK
|
||||
POP BC
|
||||
EX DE,HL
|
||||
; LD A,B
|
||||
; OR A
|
||||
; JP Z,RETDOS
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD IY,(FDD_INI_TABLE.FDD_0.BytesPerSector)
|
||||
LD XH,C
|
||||
LD A,(FDD_INI_TABLE.FDD_0.SECTORS)
|
||||
LD C,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
.DSK_LP2: LD A,D
|
||||
EXX
|
||||
CALL SEEK
|
||||
EXX
|
||||
PUSH DE
|
||||
PUSH BC
|
||||
PUSH HL
|
||||
CALL WR_SEC
|
||||
JP C,ERRDOS
|
||||
LD D,YH
|
||||
LD E,YL
|
||||
POP HL
|
||||
POP BC
|
||||
ADD HL,DE
|
||||
JR NC,.THISWR
|
||||
IN A,(SLOT3)
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD D,#C2
|
||||
LD E,XH
|
||||
LD A,(DE)
|
||||
LD XH,A
|
||||
EX AF,AF'
|
||||
OUT (SLOT3),A
|
||||
SET 7,H
|
||||
SET 6,H
|
||||
.THISWR: POP DE
|
||||
LD A,C
|
||||
INC E
|
||||
CP E
|
||||
JP NZ,.NINC_T2
|
||||
LD E,0
|
||||
INC D
|
||||
.NINC_T2: DJNZ .DSK_LP2
|
||||
CALL SET_DOS_OFF
|
||||
LD A,XH
|
||||
EX AF,AF'
|
||||
EX DE,HL
|
||||
POP IX
|
||||
POP HL
|
||||
POP BC
|
||||
POP IY
|
||||
LD A,B
|
||||
LD C,B
|
||||
INC B
|
||||
DEC B
|
||||
LD B,0
|
||||
JR NZ,.ADW8BIT
|
||||
INC B
|
||||
.ADW8BIT: ADD IX,BC
|
||||
LD BC,0
|
||||
ADC HL,BC
|
||||
LD B,A
|
||||
XOR A
|
||||
RET
|
||||
|
||||
;
|
||||
;-------------------------------
|
||||
@ -420,7 +433,7 @@ FDD_5x_LONG_WRITE:
|
||||
;-------------------------------
|
||||
RD_SEC: LD D,5 ;RETRY COUNT
|
||||
.RRETRY:
|
||||
DI
|
||||
;DI
|
||||
PUSH DE
|
||||
LD A,E
|
||||
INC A
|
||||
@ -458,7 +471,7 @@ RD_SEC: LD D,5 ;RETRY COUNT
|
||||
EX AF,AF'
|
||||
;-------------------------------
|
||||
POP DE
|
||||
EI
|
||||
;EI
|
||||
IN A,(FDC_93.Command)
|
||||
LD C,A
|
||||
;R01
|
||||
@ -499,7 +512,7 @@ RD_SEC: LD D,5 ;RETRY COUNT
|
||||
;-------------------------------
|
||||
WR_SEC: LD D,5 ;RETRY COUNT
|
||||
.WRETRY:
|
||||
DI
|
||||
;DI
|
||||
PUSH DE
|
||||
LD A,E
|
||||
INC A
|
||||
@ -537,7 +550,7 @@ WR_SEC: LD D,5 ;RETRY COUNT
|
||||
EX AF,AF'
|
||||
;-------------------------------
|
||||
POP DE
|
||||
EI
|
||||
;EI
|
||||
IN A,(FDC_93.Command)
|
||||
LD C,A
|
||||
;R01
|
||||
@ -629,17 +642,17 @@ S_FDD: PUSH BC
|
||||
;
|
||||
|
||||
;
|
||||
MOTOR_OFF:
|
||||
PUSH AF
|
||||
LD A,#D0
|
||||
OUT (FDC_93.Command),A ;STOP OPERATION
|
||||
LD A,#00
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
LD A,#3C
|
||||
OUT (FDC_93.DrvCTRL),A
|
||||
CALL SET_DOS_OFF
|
||||
POP AF
|
||||
RET
|
||||
; MOTOR_OFF:
|
||||
; PUSH AF
|
||||
; LD A,#D0
|
||||
; OUT (FDC_93.Command),A ;STOP OPERATION
|
||||
; LD A,#00
|
||||
; OUT (FDC_93.DrvCTRL),A
|
||||
; LD A,#3C
|
||||
; OUT (FDC_93.DrvCTRL),A
|
||||
; CALL SET_DOS_OFF
|
||||
; POP AF
|
||||
; RET
|
||||
;
|
||||
|
||||
;
|
||||
@ -673,9 +686,9 @@ SPEED: IN A,(SLOT3)
|
||||
JP FDD.SET1440 ;NZ
|
||||
;
|
||||
|
||||
;
|
||||
; ¯à¥àë¢ ¨ï ¤®«¦ë ¡ëâì ®âª«îç¥ë
|
||||
DISK_ID:
|
||||
DI
|
||||
;DI
|
||||
EXX
|
||||
CALL SPEED
|
||||
IN A,(FDC_93.Track)
|
||||
@ -708,7 +721,7 @@ DISK_ID:
|
||||
OUT (SLOT3),A
|
||||
EX AF,AF'
|
||||
AND #80
|
||||
EI
|
||||
;EI
|
||||
RET
|
||||
.ID_LP4:
|
||||
DEC HL
|
||||
@ -720,7 +733,7 @@ DISK_ID:
|
||||
JP NZ,.ID_LP0
|
||||
EXX
|
||||
SCF
|
||||
EI
|
||||
;EI
|
||||
RET
|
||||
;
|
||||
|
||||
@ -828,6 +841,26 @@ NTRACK:
|
||||
LD H,A
|
||||
RET
|
||||
;
|
||||
|
||||
|
||||
SAVE_INTERRUPTS:
|
||||
.switch_off: PUSH AF
|
||||
LD A,R
|
||||
LD A,#80
|
||||
JP PE,.set_R
|
||||
XOR A
|
||||
.set_R: LD R,A
|
||||
DI
|
||||
POP AF
|
||||
RET
|
||||
; ;
|
||||
.restore: PUSH AF
|
||||
LD A,R
|
||||
BIT 7,A
|
||||
JR Z,.set_di
|
||||
EI
|
||||
POP AF ; PE
|
||||
RET
|
||||
;
|
||||
.set_di: DI
|
||||
POP AF ; PO
|
||||
RET
|
||||
;[]===========================================================[]
|
||||
@ -320,11 +320,13 @@ SW_ROM:
|
||||
DI
|
||||
PUSH AF
|
||||
PUSH BC
|
||||
LD BC,(#5BFF) ; !HARDCODE
|
||||
;
|
||||
LD BC,(#5BFF) ; !HARDCODE
|
||||
LD A,#C9 ; Opcode RET
|
||||
LD (#5BFF),A ; !HARDCODE
|
||||
CALL #5BFF ; !HARDCODE
|
||||
LD (#5BFF),BC ; !HARDCODE
|
||||
LD (#5BFF),A ; !HARDCODE
|
||||
CALL #5BFF ; !HARDCODE
|
||||
LD (#5BFF),BC ; !HARDCODE
|
||||
;
|
||||
POP BC
|
||||
POP AF
|
||||
JP PO,.no_EI
|
||||
|
||||
@ -527,7 +527,7 @@ msgStrings:
|
||||
_mSetStr ideFail, tmp_Counter : DZ 'Fail ' ; !FIXIT strFail
|
||||
_mSetStr spModel, tmp_Counter : DZ 'Model : '
|
||||
.str_ACEX_MODEL EQU $$$+2 ; 㪠§ ⥫ì áâப㠨¦¥ ¤«ï ¯ âç ¯¤¥©â¥à®¬
|
||||
_mSetStr spCNFver, tmp_Counter : DZ '1K30 core : v'
|
||||
_mSetStr spCNFver, tmp_Counter : DZ 'Core 1K30 : v'
|
||||
_mSetStr spMemory, tmp_Counter : DZ 'Memory : '
|
||||
_mSetStr cmosFound, tmp_Counter : DZ 'CMOS : Found'
|
||||
_mSetStr cmosNone, tmp_Counter : DZ 'CMOS : None'
|
||||
@ -678,7 +678,7 @@ msgRusStrings:
|
||||
_mSetStrRus ideFail, tmp_Counter : DZ '<EFBFBD>¥ ®¯à¥¤¥«ñ '
|
||||
_mSetStrRus spModel, tmp_Counter : DZ 'Œ®¤¥«ì : '
|
||||
.str_ACEX_MODEL EQU $$$+2 ; 㪠§ ⥫ì áâப㠨¦¥ ¤«ï ¯ âç ¯¤¥©â¥à®¬ ; !FIXIT ? ¢ëâ¢ âì ç¥à¥§ FN_CRIPT.Acex_ver ?
|
||||
_mSetStrRus spCNFver, tmp_Counter : DZ '1K30 ï¤à® : v'
|
||||
_mSetStrRus spCNFver, tmp_Counter : DZ 'Ÿ¤à® 1K30 : v'
|
||||
_mSetStrRus spMemory, tmp_Counter : DZ '<EFBFBD> ¬ïâì : '
|
||||
_mSetStrRus cmosFound, tmp_Counter : DZ 'CMOS : <EFBFBD> ©¤¥'
|
||||
_mSetStrRus cmosNone, tmp_Counter : DZ 'CMOS : <EFBFBD>¥â'
|
||||
|
||||
Binary file not shown.
Loading…
Reference in New Issue
Block a user