Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ; So, this is what I was doing at Tuesday 05:38:30pm 26/02/1985
- ;
- ; Note the two errors in the Morse data table. They made it even more amusing...
- ;
- ; Morse encoder programme
- ;
- ; Externals
- ;
- Print EQU #40
- GetInput EQU #43
- ;
- ; Internals
- ;
- Speed EQU #700 ; #1300
- ;
- ENT
- LD A,#92
- OUT (#8B),A
- Loop LD DE,Message
- ScanLine LD A,(DE)
- OR A
- JR Z Loop
- CALL OutMorse
- CALL PrintDel
- CALL CharPause
- LD A,(DE)
- CP " "
- INC DE
- JR NZ ScanLine
- SL1 LD A,(DE)
- CP " "
- JR NZ ScanLine
- INC DE
- JR SL1
- ;
- Message DEFM /CQ CQ CQ/
- DEFM / IF ANYBODY IS GOING TO ASDA I WILL/
- DEFM / COME ALONG TOO/
- DEFM / IF I TOLD THEM SHIT WAS GREEN/
- DEFM / THEY WOULD BELIEVE ME/
- DEFM / WHY DIDNT YOU TELL ME EARLIER/
- DEFM / YOU COULD HAVE HAD TEA AT MY HOUSE/
- DEFM / GW0OKI/
- DEFB #0
- OutMorse CP " "
- JR Z OMsp
- ;
- LD HL,Exceptions
- OMa CP (HL)
- JR Z OM0
- CALL OMSkip
- BIT 7,(HL)
- JR Z OMa
- ;
- CP "0"
- RET C
- CP "9"+1
- JR C OM1
- CP "A"
- RET C
- CP "z"+1
- RET NC
- CP "a"
- JR NC OM2
- CP "Z"+1
- RET NC
- ; A..Z
- SUB "A"
- LD HL,TableA
- ;
- OM3 LD B,A
- OR A
- JR Z OM4
- OM3a LD A,(HL)
- OR A
- INC HL
- JR NZ OM3a
- DJNZ OM3a
- OM4 LD A,(HL)
- OR A
- RET Z
- CALL Print
- CALL DumpChar
- INC HL
- JR OM4
- ;
- OM1 SUB "0"
- LD HL,Table0
- JR OM3
- ;
- OM2 SUB "a"
- LD HL,TableA
- JR OM3
- ;
- OMsp LD A,#D
- CALL Print
- CALL WordPause
- RET
- ;
- OM0 INC HL
- JR OM4
- ;
- OMSkip PUSH AF
- CALL OMs
- POP AF
- RET
- ;
- OMs LD A,(HL)
- OR A
- INC HL
- RET Z
- JR OMs
- ;
- PrintDel PUSH AF
- LD A,"/"
- CALL Print
- POP AF
- RET
- ;
- DumpChar CP "."
- JR Z DoDi
- CP "_"
- JR Z DoDah
- RET
- ;
- DoDi CALL SetOn
- CALL LurkX
- CALL SetOff
- CALL LurkX
- RET
- ;
- DoDah CALL SetOn
- CALL LurkX
- CALL LurkX
- CALL LurkX
- CALL SetOff
- CALL LurkX
- RET
- ;
- CharPause CALL LurkX
- CALL LurkX
- RET
- ;
- WordPause CALL CharPause
- RET
- ;
- LurkX PUSH HL
- LD HL,Speed
- LXlp PUSH IX
- POP IX
- DEC HL
- BIT 7,H
- JR Z LXlp
- POP HL
- RET
- ;
- SetOn PUSH AF
- LD A,#00
- OUT (#8A),A
- POP AF
- RET
- ;
- SetOff PUSH AF
- LD A,#FF
- OUT (#8A),A
- POP AF
- RET
- ;
- TableA DEFM /._/ ; A
- DEFB 0
- DEFM /_.../ ; B
- DEFB 0
- DEFM /_._./ ; C
- DEFB 0
- DEFM /_../ ; D
- DEFB 0
- DEFM /./ ; E
- DEFB 0
- DEFM /.._./ ; F
- DEFB 0
- DEFM /__./ ; G
- DEFB 0
- DEFM /..../ ; H
- DEFB 0
- DEFM /../ ; I
- DEFB 0
- DEFM /.___/ ; J
- DEFB 0
- DEFM /_._/ ; K
- DEFB 0
- DEFM /._../ ; L
- DEFB 0
- DEFM /_._/ ; M ERROR! Should have been /__/
- DEFB 0
- DEFM /_./ ; N
- DEFB 0
- DEFM /___/ ; O
- DEFB 0
- DEFM /.__./ ; P
- DEFB 0
- DEFM /__._/ ; Q
- DEFB 0
- DEFM /._./ ; R
- DEFB 0
- DEFM /.../ ; S
- DEFB 0
- DEFM /_/ ; T
- DEFB 0
- DEFM /.._/ ; U
- DEFB 0
- DEFM /..._/ ; V
- DEFB 0
- DEFM /.__/ ; W
- DEFB 0
- DEFM /_.._/ ; X
- DEFB 0
- DEFM /_.__/ ; Y
- DEFB 0
- DEFM /__../ ; Z
- DEFB 0
- DEFM /.__/ ; W
- DEFB 0
- DEFM /_.._/ ; X
- DEFB 0
- ;
- Table0 DEFM /_____/ ; 0
- DEFB 0
- DEFM /.____/ ; 1
- DEFB 0
- DEFM /..___/ ; 2
- DEFB 0
- DEFM /...__/ ; 3
- DEFB 0
- DEFM /...._/ ; 4
- DEFB 0
- DEFM /...../ ; 5
- DEFB 0
- DEFM /_..../ ; 6
- DEFB 0
- DEFM /__.../ ; 7
- DEFB 0
- DEFM /___../ ; 8
- DEFB 0
- DEFM /____./ ; 9
- DEFB 0
- ;
- Exceptions DEFB "."
- DEFM /._._._/
- DEFB 0
- DEFB ","
- DEFM /__..__/
- DEFB 0
- DEFB "?"
- DEFM /..__../
- DEFB 0
- DEFB "="
- DEFM /_..._/
- DEFB 0
- DEFB ":"
- DEFM /___.../
- DEFB 0
- DEFB ";"
- DEFM /_._._./
- DEFB 0
- DEFB "/"
- DEFM /_.._./
- DEFB 0
- DEFB "("
- DEFM /_.__._/ ; ERROR! Should have been /_.__./
- DEFB 0
- DEFB ")"
- DEFM /_.__._/
- DEFB 0
- DEFB #80
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement