#include "ti-85.h" .org 0 .db "The Fox",0 ROM_CALL(CLEARLCD) ld a,$D4 out (7),a ld hl,TheCallsign ld de,(PROGRAM_ADDR) add hl,de dec hl CycleLoop: inc hl ld a,(hl) cp $FF CALL_Z(ResetHL) cp 00 jr z,NoHayTone jr HayTone NoHayTone: ld a,$D4 out (7),a ld b,$40 push hl WaitNo: call get_key cp $37 jr z,Quit CALL_(WaitAWhile) CALL_(WaitAWhile) djnz WaitNo pop hl jr CycleLoop HayTone: ld a,$D4 out (7),a ld b,$40 push hl Wait: call get_key cp $37 jr z,Quit ld a,$D4 out (7),a CALL_(WaitAWhile) ld a,$FC out (7),a CALL_(WaitAWhile) djnz Wait pop hl jr CycleLoop Quit: pop hl ld a,$C0 out (7),a ret ResetHL: CALL_(WaitLong) ld hl,TheCallsign ld de,(PROGRAM_ADDR) add hl,de dec hl ld a,(hl) ret WaitAWhile: push bc ld b,$70 WaitALoop: nop\ nop\ nop\ nop djnz WaitALoop pop bc ret WaitLong: push af push bc push hl ld a,$C0 out (7),a ld bc,$3F00 WaitLongLoop: CALL_(WaitAWhile) dec bc ld a,b or c jr nz,WaitLongLoop ld a,$D4 out (7),a CALL_(WaitAWhile) CALL_(WaitAWhile) pop hl pop bc pop af ret .db $FF,$FF TheCallsign: ;AA8UP/FOX ; .- .- ---.. ..- .--. -..-. ..-. --- -..- .db 00,00,00,01,00,01,01,01,00,00,00 .db 00,01,00,01,01,01,00,00,00,01,01 .db 01,00,01,01,01,00,01,01,01,00,01 .db 00,01,00,00,00,01,00,01,00,01,01 .db 01,00,00,00,01,00,01,01,01,00,01 .db 01,01,00,01,00,00,00,01,01,01,00 .db 01,00,01,00,01,01,01,00,01,00,00 .db 00,01,00,01,00,01,01,01,00,01,00 .db 00,00,01,01,01,00,01,01,01,00,01 .db 01,01,00,00,00,01,01,01,00,01,00 .db 01,00,01,01,01,00,00,00,00,00,00 .db 00,00,00,00,00,00,00,00,00,00,00 .db $FF .end