Rev 736 |
Blame |
Compare with Previous |
Last modification |
View Log
| Download
| RSS feed
| ?url?
;LAST UPDATE: 31.07.2017 savelij
TAPE_EMUL LD H,CMOS_BYTE_00
CALL READCMOS
AND M_EMUL_TAPE
JR NZ,EMULOADTAP
LD A,(RREG_A)
LD (RREG_C),A
CP A
PUSH AF
POP HL
LD (RREG_F),HL
RET
EMULOADTAP LD A,(CPU6+2) ;
LD IYL,A
ADD A,RAM_TAPE
LD BC,WIN_P5
OUT (C),A ;
LD HL,(CPU6) ;
LD DE,(RREG_IXL) ;
LD A,D
EXX
LD BC,WIN_P6
CP 0X80
LD A,0XFA ;
4000-7FFF
JR C,ELT01
LD A,0XFD ;
8000
ELT01 OUT (C),A
LD IYH,A ;
EXX
LD A,0X40 ;
4000-7FFF 4000
JR C,ELT02
LD A,0 ;
8000
ELT02 ADD A,D
LD D,A ;
SET 6,H
LD C,(HL)
INC HL
LD B,(HL) ;
INC HL
INC HL ;
DEC BC
DEC BC ; 2
( CRC)
ELT07 LDI
JP PO,ELT05
LD A,D
CP 0XC0
JR C,ELT06
LD A,IYH
CP 0XFA
JR NZ,ELT06
LD A,0XFD
LD IYH,A
EXX
LD B,HIGH (WIN_P6)
OUT (C),A
EXX
LD D,0X80
ELT06 LD A,H
CP 0X80
JR C,ELT07
INC IYL
LD A,IYL
ADD A,RAM_TAPE
EXX
LD B,HIGH (WIN_P5)
OUT (C),A
EXX
LD H,0X40
JR ELT07
ELT05 INC HL ;
RES 6,H
EVOPORT WIN_P5,0XFA ;
1
LD B,HIGH (WIN_P6)
XOR A
OUT (C),A ;
LD (CPU6),HL ;
LD A,IYL
LD (CPU6+2),A ;
LD HL,(RREG_IXL)
LD DE,(RREG_E)
ADD HL,DE
LD (RREG_IXL),HL
LD HL,0
LD (RREG_E),HL
LD HL,RREG_F
RES 6,(HL)
SET 0,(HL)
RET
TAPE_INIT XOR A
LD HL,CPU6
LD (HL),A
INC L
LD (HL),A
INC L
LD (HL),A
RET