home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
ftp.barnyard.co.uk
/
2015.02.ftp.barnyard.co.uk.tar
/
ftp.barnyard.co.uk
/
cpm
/
walnut-creek-CDROM
/
BEEHIVE
/
UTILITYS
/
DEXIGN.ARC
/
COLTABX.Z80
< prev
next >
Wrap
Text File
|
1991-07-10
|
6KB
|
451 lines
COLTABX: CALL CLS
LD A,(PREMIUM)
CP 0
JP Z,CHER1
LD A,144
OUT (28),A
LD HL,61440
LD DE,61441
LD BC,2048
LD (HL),0
LDIR
XOR A
OUT (28),A
CHER1: LD HL,24000
LD DE,20000
LD BC,2048
LDIR
LD HL,COLOUR_SECTOR
LD DE,19000
LD BC,128
LDIR
CHER21: CALL CLS
CALL CHER2
LD HL,LSTR1
LD DE,61440+8*64+64
CALL PRINT
LD DE,61440+8*64+128
CALL PRINT
LD DE,61440+8*64+128+64
CALL PRINT
LD DE,61440+8*64+256
CALL PRINT
LD DE,61440+8*64+256+64
CALL PRINT
LD DE,61440+8*64+256+128
CALL PRINT
LD DE,61440+8*64+256+128+64
CALL PRINT
CHER3: CALL INCHRU
CP '1'
JP Z,CHER4
CP '2'
JP Z,CHER5
CP '3'
JP Z,CHER6
CP '6'
JP Z,CHER7
CP '4'
JP Z,CHER8
CP '5'
JP Z,CHER9
CP 27
JP Z,STAT
JP CHER3
CHER5: CALL DETER
CALL FORMAT
CALL INCHR
CALL ZB1
JP CHER21
CHER7: LD DE,24000
LD HL,20000
LD BC,2048
CALL CHER10
LD DE,COLOUR_SECTOR
LD HL,19000
LD BC,128
CALL CHER10
JP CHER21
CHER10:
LD A,(HL)
PUSH AF
LD A,(DE)
LD (HL),A
POP AF
LD (DE),A
INC DE
INC HL
DEC BC
LD A,B
OR C
JR NZ,CHER10
RET
OUT864: PUSH AF
LD A,64
OUT (8),A
POP AF
RET
OUT80: PUSH AF
XOR A
OUT (8),A
POP AF
RET
CHER9: LD HL,COLOUR_SECTOR
LD DE,COLOUR_SECTOR+1
LD BC,127
LD (HL),7
LDIR
JP CHER21
CHER4: CALL CHER11
JP CHER21
CHER11: LD IY,44480
LD BC,2048
LD IX,24000
CHER12: LD A,(IY)
RES 7,A
LD DE,COLOUR_SECTOR
LD H,0
LD L,A
ADD HL,DE
LD A,(HL)
LD (IX),A
INC IY
INC IX
DEC BC
LD A,B
OR C
JP NZ,CHER12
RET
CHER13:
LD HL,CSTR0
LD DE,61440+64*9
CALL PRINT
LD DE,61440+64*10
CALL PRINT
LD DE,61440+64*11
CALL PRINT
LD DE,61440+64*12
CALL PRINT
LD DE,61456+64*9
CALL PRINT
LD DE,61456+64*10
CALL PRINT
LD DE,61456+64*11
CALL PRINT
LD DE,61456+64*12
CALL PRINT
LD DE,61440+32+64*9
CALL PRINT
LD DE,61440+32+64*10
CALL PRINT
LD DE,61440+32+64*11
CALL PRINT
LD DE,61440+32+64*12
CALL PRINT
LD DE,61440+48+64*9
CALL PRINT
LD DE,61440+48+64*10
CALL PRINT
LD DE,61440+48+64*11
CALL PRINT
LD DE,61440+48+64*12
CALL PRINT
RET
CNVRTP: CP 8
JR NC,CNVRP1
ADD A,'0'
RET
CNVRP1: ADD A,'A'-8
RET
CHER8: CALL CLS
CALL CHER2
CALL CHER13
; LD HL,FARTO
; LD DE,61440+64*13+10
; CALL PRINT
GOP3: LD A,(CHER17)
RRCA
RRCA
RRCA
RRCA
LD HL,CURBAK
OR (HL)
LD DE,61440+15*64
CALL PRINT
INC DE
LD A,(CHER17)
CALL CNVRTP
LD (DE),A
LD (CHER20),DE
GOP2: CALL INCHRU
CP 27
JP Z,CHER21
CP ' '
JP Z,CHER21
; CP 'X'
; JP Z,RHEX1
CP '0'
JR C,GOP2
CP '7'+1
JR C,DOPEI
CP 'A'
JR C,GOP2
CP 'H'+1
JR NC,GOP2
LD DE,(CHER20)
LD (DE),A
SUB 'A'-8
LD (CHER17),A
JP RHEX1 ; GOP3
DOPEI: LD DE,(CHER20)
LD (DE),A
SUB '0'
LD (CHER17),A
JP RHEX1 ; GOP3
RHEX1: LD A,(CHER17)
RRCA
RRCA
RRCA
RRCA
LD B,128
LD HL,COLOUR_SECTOR
BAKLP: PUSH BC
PUSH AF
PUSH AF
LD A,(HL)
AND 15
LD B,A
POP AF
OR B
LD (HL),A
POP AF
INC HL
POP BC
DJNZ BAKLP
CALL CHER2
CALL INCHR
CALL CHER13
JP GOP3
CHER6: LD A,0
LD (CHER16),A
CALL CLS
CALL CHER2
CALL CHER13
CHER18: LD HL,61443
LD A,(CHER16)
LD DE,4
CP 0
JR Z,HERE1
HEREX: ADD HL,DE
DEC A
JR NZ,HEREX
HERE1: LD (CHER15),HL
LD (HL),13
LD HL,CURFOR
LD DE,61440+14*64
CALL PRINT
INC DE
LD (CHER20),DE
LD A,(CHER17)
RRCA
RRCA
RRCA
RRCA
LD HL,CURBAK
OR (HL)
LD DE,61440+15*64
CALL PRINT
INC DE
LD A,(CHER17)
CALL CNVRTP
LD (DE),A
LD A,(CHER16)
LD E,A
LD D,0
LD HL,COLOUR_SECTOR
ADD HL,DE
LD A,(HL)
AND 15
CALL CNVRTP
LD HL,(CHER20)
LD (HL),A
CHER19: CALL INCHRU
CP 27
JP Z,CHER21
CP ' '
JP Z,CHER21
CP 4
JP Z,RIGHT69
CP 5
JP Z,UP69
CP 24
JP Z,DOWN69
CP 19
JP Z,LEFT69
CP 10
JP Z,RIGHT69
CP 9
JP Z,UP69
CP 13
JP Z,DOWN69
CP 8
JP Z,LEFT69
CP '0'
JR C,CHER19
CP '7'+1
JR C,DOPEL69
CP 'A'
JR C,CHER19
CP 'H'+1
JR NC,CHER19
LD DE,(CHER20)
PUSH AF
LD A,(DE)
AND 240 ; EXTRACT BACKGROUND COLOUR
LD B,A
POP AF
OR B
LD (DE),A
SUB 'A'-8
JP CHER23
DOPEL69: LD DE,(CHER20)
PUSH AF
LD A,(DE)
AND 240
LD B,A
POP AF
OR B
LD (DE),A
SUB '0'
JP CHER23
LEFT69: LD HL,(CHER15)
LD (HL),32
LD A,(CHER16)
DEC A
RES 7,A
LD (CHER16),A
JP CHER18
RIGHT69: LD HL,(CHER15)
LD (HL),32
LD A,(CHER16)
INC A
RES 7,A
LD (CHER16),A
JP CHER18
UP69: LD HL,(CHER15)
LD (HL),32
LD A,(CHER16)
SUB 16
RES 7,A
LD (CHER16),A
JP CHER18
DOWN69: LD HL,(CHER15)
LD (HL),32
LD A,(CHER16)
ADD A,16
RES 7,A
LD (CHER16),A
JP CHER18
CHER23: PUSH AF
LD A,(CHER16)
LD D,0
LD E,A
LD HL,COLOUR_SECTOR
ADD HL,DE
POP BC
LD A,(CHER17)
RRCA
RRCA
RRCA
RRCA
OR B
LD (HL),A
CALL CHER2
LD HL,(CHER15)
LD (HL),32
LD A,(CHER16)
INC A
RES 7,A
LD (CHER16),A
JP CHER18
CHER2: LD DE,61440
LD IY,COLOUR_SECTOR
LD A,64
OUT (8),A
LD HL,63488
XOR A
PCGL1: LD (DE),A
INC DE
INC DE
INC HL
INC HL
PUSH AF
SET 7,A
LD (DE),A
LD A,(COLON)
CP 0
JR Z,ITS_OVER
LD A,(IY)
LD (HL),A
ITS_OVER:
POP AF
INC DE
INC DE
INC HL
INC HL
INC IY
INC A
CP 128
JR NZ,PCGL1
XOR A
OUT (8),A
RET
INCHRU: CALL INCHR
CP 'a'
RET C
CP 'z'+1
RET NC
RES 5,A
RET