TURBO ASM ;
; *** Turbolader von KCTOOLS ***
; }berarbeitet von
; > #haftmann software <
; Sonntag, 16.02.92
; Das Programm ist 380H lang
; und frei verschiebbar
; lauff{hig auf KC85/2,3,4
;
OS EQU 0F003H
RC EQU 0F00FH
BIT0 EQU 15H ;TC 0-Bit
BIT1 EQU 39H ;TC 1-Bit
BITD EQU 7BH ;Diskriminator
;*** INTERNE UNTERPROGRAMME ***
IMBII
CALL RC
DEFW SIXD3-$-2
LD (IX+3),1
SET 5,(IX+7)
IN 89H
RES 7,A
OUT 89H
IN A,88H
SET 6,A
IMBI1 OUT 88H
EI
PUSH HL
LD HL,(0B7A4H)
LD (0B7CFH),HL
CALL OS
DEFB 20H
LD (0B7CDH),HL
LD A,11H
CALL OS
DEFB 0
POP HL
PHALT LD A,3
OUT 8CH
OUT 8DH
RES 1,(IX+8)
RET
ISROI
CALL RC
DEFW SIXD3-$-2
IN A,88H
OR 60H
CALL RC
DEFW IMBI1-$-2
LD (IX+2),0
LD BC,2000H
;
MBOT INC (IX+2)
LD L,(IX+5)
LD H,(IX+6)
DI
LD A,87H
OUT 8DH
LD A,BIT0
OUT 8DH
EI
LD E,A
MBOT1 LD (IX),E
MBOTW LD A,(IX)
AND A
JR NZ,MBOTW
DEC BC
LD A,B
OR C
JR NZ,MBOT1
CALL RC
DEFW BIT1O-$-2
CALL RC
DEFW BIT1O-$-2
LD A,(IX+2)
CALL RC
DEFW BYTOT-$-2
LD BC,8000H
MBT1 LD A,M
CALL RC
DEFW BYTOT-$-2
LD A,C
XOR M
LD C,A
INC HL
DJNZ MBT1
CALL RC
DEFW BYTOT-$-2
CALL RC
DEFW BIT1O-$-2
LD A,3
OUT 8DH
RET
BYTOT
LD D,A
LD E,8
BYTOUT RRC D
LD A,BIT0
JR NC,BITOUT
LD A,BIT1
BITOUT LD (IX),A
BITOT LD A,(IX)
AND A
JR NZ,BITOT
DEC E
JR NZ,BYTOUT
RET
BIT1O LD (IX),BIT1
BIT1OT LD A,(IX)
AND A
JR NZ,BIT1OT
RET
MBI LD A,83H
OUT 8AH
PUSH HL
MBI1
LD B,28H
MBI2
MS1 IN A,88H
OUT 88H
LD A,(IX)
OR A
JR Z,MS1
LD (IX),0
CP BITD
CALL RC
DEFW LEDOO-$-2
JR C,MBI1
DJNZ MBI2
MBI3
MBI4
MS2 IN A,88H
OUT 88H
LD A,(IX)
OR A
JR Z,MS2
LD (IX),0
CP BITD
JR NC,MBI3
MS3 IN A,88H
OUT 88H
LD A,(IX)
OR A
JR Z,MS3
LD (IX),0
CP BITD
JR NC,MBI1
CALL RC
DEFW BYTIN-$-2
LD (IX+2),A
LD BC,8000H
LD L,(IX+5)
LD H,(IX+6)
MBI5
CALL RC
DEFW BYTIN-$-2
LD M,A
XOR C
LD C,A
INC HL
DJNZ MBI5
CALL RC
DEFW BYTIN-$-2
SUB C
ADD 0FFH
MBI6 POP HL
LD A,3
OUT 8AH
LEDOO IN A,88H
SET 5,A
JR NC,MBI7
RES 5,A
MBI7 OUT 88H
RET
BYTIN
LD D,8
BYTI
BS1 IN A,88H
OUT 88H
LD A,(IX)
OR A
JR Z,BS1
LD (IX),0
CP BITD
RR E
DEC D
JR NZ,BYTI
LD A,E
RET
;*** HAUPTPROGRAMME ***
DEFW 7F7FH
DEFM 'TSAVE'
DEFB 1
CP 2
JR NC,NERR
CALL OS
DEFB 19H
RET
NERR CALL OS
DEFB 23H
DEFM 'Name :'
DEFB 0
CALL OS
DEFB 17H
RET C
LD HL,6
ADD HL,DE
LD DE,0B700H
LD BC,11
LDIR
XOR A
LD (DE),A
LD HL,0B781H
LD E,10H
LD C,15H
LDIR
CALL RC
DEFW ISROI-$-2
LD HL,(0B782H)
LD BC,0E0H
DEFB 11H
SAV2 LD BC,0C0H
LD (IX+5),L
LD (IX+6),H
LD A,(IX+2)
CALL OS
DEFB 1CH
CALL OS
DEFB 23H
DEFB '<'
DEFB 0DH
NOP
CALL OS
DEFB 2AH ;BRKT
JR C,CRO0
LD DE,80H
ADD HL,DE
LD DE,(0B784H)
SBC HL,DE
JR NC,CSRO
CALL RC
DEFW MBOT-$-2
JR SAV2
CSRO
LD (IX+2),0FEH
CALL RC
DEFW MBOT-$-2
CRO0 PUSH HL
LD HL,(0B7CDH)
LD (0B7B9H),HL
LD HL,(0B7CFH)
LD (0B7A4H),HL
LD HL,0B780H
XOR A
CRO1 DEC L
LD M,A
JR NZ,CRO1
POP HL
IN A,88H
AND 9FH
OUT 88H
CALL OS
DEFB 2CH
;
SIXD2 LD A,(IX+7)
AND 1FH
LD (IX+7),A
SIXD3
IN A,89H
OR 9FH
OUT 89H
LD (IX+5),0
LD (IX+6),0B7H
RES 0,(IX+8)
RET
NBL1 CALL OS
DEFB 23H
DEFM '???'
DEFB 0
NBL2
CMBI
CALL RC
DEFW CRO0-$-2
BLION IN A,89H
OR 80H
OUT 89H
DI
LD A,47H
OUT 8EH
LD A,0CH
OUT 8EH
EI
RET
DEFW 7F7FH
DEFM 'TVERIFY'
DEFB 1
RES 0,(IX+7)
JR LOAD0
DEFW 7F7FH
DEFM 'TLOAD'
DEFB 1
SET 0,(IX+7)
LOAD0 CALL RC
DEFW IMBII-$-2
CALL RC
DEFW NBR-$-2
RES 5,(IX+7)
LOAD1 JR C,NBL2
LD HL,0B700H
LD B,11
LOADN LD A,M
INC HL
CALL OS
DEFB 0
DJNZ LOADN
CALL OS
DEFB 2BH
BIT 0,(IX+7)
JR Z,LOAD4
LD L,10H
LD A,M
SUB 2
CP 8
JR NC,NBL1
RLCA
RLCA
LD H,A
LD A,(IX+7)
AND 3
OR H
LD (IX+7),A
LD BC,(0B715H)
LD DE,(0B713H)
LD HL,(0B711H)
LD A,(0B781H)
AND A
JR Z,LOAD3
PUSH BC
LD BC,(0B782H)
ADD HL,BC
EX DE,HL
ADD HL,BC
EX DE,HL
BIT 3,(IX+7)
JR NZ,LOAD2
EX (SP),HL
ADD HL,BC
EX (SP),HL
LOAD2 POP BC
LOAD3 LD (0B782H),HL
LD (0B784H),DE
LD (0B786H),BC
CALL OS
DEFB 1BH
LOAD4 CALL OS
DEFB 2CH
EX DE,HL
LOAD5 PUSH DE
CALL RC
DEFW NBR-$-2
POP DE
JR C,LOAD1
BIT 0,(IX+7)
JR Z,LOAD6
PUSH HL
SBC HL,DE
LD BC,80H
SBC HL,BC
ADD HL,BC
JR NC,BLC1
LD C,L
BLC1 LD HL,0B700H
LDIR
POP HL
LOAD6 INC (IX+2)
JR NZ,LOAD5
CALL RC
DEFW CMBI-$-2
LD A,(IX+7)
RRA
RET NC
AND 0EH
RES 0,(IX+7)
RET Z
BIT 1,(IX+7)
RET NZ
LD HL,(0B786H)
JP (HL)
NBR
PUSH HL
LD L,4
LD H,(IX+3)
NBR0 CALL OS
DEFB 2AH
JR C,NBREND
CALL RC
DEFW MBI-$-2
LD A,(IX+2)
PUSH AF
CP H
JR Z,NBR2
INC A
JR NZ,NBR4
LD A,L
CP 4
JR NZ,NBR4
DEC H
JR Z,NBR41
INC H
NBR2 POP AF
JR C,NBR5
PUSH AF
LD A,2 ;Clear Line
CALL OS ;auf CAOS3.1
DEFB 0 ;zu langsam
POP AF
BIT 5,(IX+7)
JR NZ,NBR3
CALL OS
DEFB 1CH
CALL OS
DEFB 23H
DEFM '> '
NOP
NBR3 INC H
LD (IX+3),H
NBREND POP HL
RET
;
NBR41 INC H
NBR4 POP AF
CALL OS
DEFB 1CH
CALL OS
DEFB 23H
DEFM '*'
DEFW 808H
DEFW 8
JR NBR0
;
NBR5 LD H,A
CALL OS
DEFB 1CH
DEC L
JR Z,NBR6
CALL OS
DEFB 23H
DEFM '? '
DEFW 7
JR NBR0
;
NBR6 CALL OS
DEFB 23H
DEFM ' !'
DEFW 0D0AH
NOP
JR NBR3
; END.
Detected encoding: ASCII (7 bit) | 2
|