Changes

Light pen driver

894 bytes added, Saturday at 16:02
ld bc,01a1ah
call 0bc32h ;; scr set ink
call 0bc14h;; scr clear
ld a,001h
call 0bbdeh;; gra set pen
call sub_9cc1h
ld a,0ffh
ld hl,00000h
ld de,00000h
call 0bbc0h;; gra move absolute
ld a,001h
ld bc,01a1ah
ld de,00000h
ld hl,00014h
call 0bbf9h;; gra line relative
ld de,(0a416h)
ld hl,0ffech
call 0bbc3h;; gra move relative
pop bc
djnz l9d79h
ld de,0ffech
ld hl,00000h
call 0bbc3h ;; gra move relative
l9d9ah:
ld a,000h
call 0bbdeh;; gra set pen
call 09d35h
ld a,001h
call 0bbdeh;; gra set pen
ld de,0ffech
ld hl,00000h
call 0bbc3h;; gra move relative
ld bc,(0a420h)
l9db4h:
ld de,00000h
ld hl,00014h
call 0bbf9h;; gra line relative
ld de,(0a416h)
ld hl,0ffech
call 0bbc3h;; gra move relative
pop bc
djnz l9db4h
pop bc
ld (0a410h),hl
call 0bbc6h;; gra ask cursor
ld (0a412h),de
ret
ld (de),a
inc de
call 0bc29h;; scr prev line
djnz l9e18h
pop bc
ld (hl),a
inc de
call 0bc29h;; scr prev line
djnz l9e3ah
pop bc
ex de,hl
pop hl
call 0bc1dh;; scr dot position
ret
 
call 09c8ah
ld hl,(0a418h)
pop hl
call 09dbeh
call 0bbc0h;; gra move absolute
call 09ed2h
call sub_9de6h
ld hl,(0a41ch)
ld de,(0a41ah)
call 0bbc0h;; gra move absolute
ld hl,(0a410h)
ld de,(0a412h)
ld a,(0a41eh)
call 0bbdeh;; gra set pen
ld (0a41ch),hl
ld (0a41ah),de
call 0bbf6h;; gra line absolute
ld hl,(0a410h)
jr l9e7ah
ld de,0ffech
ld hl,00000h
call 0bbc3h;; gra move relative
ld a,001h
call 0bbdeh;; gra set pen
call 09d35h
ld a,000h
call 0bbdeh;; gra set pen
call sub_9cc1h
ld a,0ffh
ld de,0ffech
ld hl,00000h
call 0bbc3h;; gra move relative
ld bc,(0a420h)
l9f22h:
ld de,00000h
ld hl,00014h
call 0bbf9h;; gra line relative
call sub_9cc1h
ld a,0ffh
ld de,(0a416h)
ld hl,0ffech
call 0bbc3h;; gra move relative
pop bc
djnz l9f22h
ld de,00000h
ld hl,00014h
call 0bbf9h;; gra line relative
call sub_9cc1h
ld a,0ffh
pop de
ld hl,0ffech
call 0bbc3h;; gra move relative
pop bc
djnz l9f5ch
ld hl,00000h
ld de,00014h
call 0bbc3h;; gra move relative
jp l9f0eh
nop
ld (0a0e2h),a
la083h:
call 0bd28h;; mc reset printer
ld de,00000h
ld hl,00000h
ld de,(0a12dh)
call sub_a10dh
call 0bbf0h;; gra test absolute
ld de,00001h
call sub_a11dh
call sub_a0ffh
la0c9h:
call 0bd2eh;; mc busy printer
jr c,la0c9h
call 0bd28h;; mc reset printer
ld a,01bh
call 0bd2bh;; mc print char
ld a,04bh
call 0bd2bh;; mc print char
ld a,000h
call 0bd2bh;; mc print char
ld a,(la133h)
bit 0,a
jr z,la0f4h
ld a,002h
call 0bd2bh;; mc print char
ld a,(0a12ch)
call 0bd2bh;; mc print char
jr la0f9h
la0f4h:
ld a,001h
call 0bd2bh;; mc print char
la0f9h:
ld a,(0a12ch)
call 0bd2bh;; mc print char
sub_a0ffh:
call sub_a115h
call 0bd2bh
ld a,02fh
call 0bb1eh;; km test key
sub_a11dh:
ret nz
ret
ld b,a
call 0bb99h;; txt get paper
cp b
ret z
inc de
call sub_a10dh
call 0bbf0h;; gra test absolute
ret
nop
nop
nop
call 0bc11h;; scr get mode
cp 000h
jr nz,la19dh
la1aah:
ld (0a254h),a
call 0bbc6h;; gra ask cursor
ld (la250h),hl
ld (la250h+2),de
la1b7h:
call 0bb99h;; txt get paper
ld (la1f9h),a
ld bc,00000h
call 0a210h
ld a,02fh
call 0bb1eh;; km test key
ret nz
ld hl,(0a24eh)
push hl
push bc
call 0bbf0h;; gra test absolute
pop bc
pop hl
ld de,(la250h+2)
la257h:
call 0bbeah;; gra plot absolute
ld hl,(0a24ch)
inc hl
2,590
edits