mirror of https://github.com/gungwald/rnd.git
82 lines
1.7 KiB
ArmAsm
82 lines
1.7 KiB
ArmAsm
;*******************************
|
|
; *
|
|
; MACROS *
|
|
; *
|
|
; AUTHOR: BILL CHATFIELD *
|
|
; LICENSE: GPL2 *
|
|
; *
|
|
;*******************************
|
|
|
|
PUSHY .MACRO
|
|
TYA
|
|
PHA
|
|
.ENDM
|
|
|
|
POPY .MACRO
|
|
PLA
|
|
TAY
|
|
.ENDM
|
|
|
|
PUSHXY .MACRO
|
|
TXA
|
|
PHA
|
|
TYA
|
|
PHA
|
|
.ENDM
|
|
|
|
POPXY .MACRO
|
|
PLA
|
|
TAY
|
|
PLA
|
|
TAX
|
|
.ENDM
|
|
|
|
;*******************************
|
|
; *
|
|
; PUTS .MACRORO - OUTPUTS STRING *
|
|
; ]1 = ADDRESS OF NULL- *
|
|
; TERMINATED STRING *
|
|
; *
|
|
;*******************************
|
|
|
|
PUTS .MACRO
|
|
PUSHY
|
|
LDY #0 ; PREPARE LOOP INDEX
|
|
NEXT LDA \0,Y ; LOAD A CHARACTER
|
|
CMP #0 ; CHECK FOR END OF STRING
|
|
BEQ DONE
|
|
ORA #%10000000 ; SET HIGH BIT FOR OUTPUT
|
|
JSR COUT
|
|
INY
|
|
JMP NEXT
|
|
DONE POPY
|
|
.ENDM
|
|
|
|
;*******************************
|
|
; *
|
|
; PUTF - *
|
|
; PRINTS FLOATING POINT NUMBER *
|
|
; IN FAC. DESTROYS VALUE IN *
|
|
; FAC. DON'T KNOW WHY. *
|
|
; *
|
|
; ]1 - ABS ADDR FOR STRING *
|
|
; *
|
|
;*******************************
|
|
|
|
PUTF .MACRO
|
|
JSR FOUT ;CONVERT FAC TO STRING
|
|
STA \0 ;STORE LOW BYTE OF STRING
|
|
STY \0+1 ;STORE HIGH BYTE OF STRING
|
|
PUTS (\0) ;PRINT STRING
|
|
.ENDM
|
|
|
|
; Overwrites A and Y
|
|
HLIN .MACRO x1,x2,y1
|
|
ldy x1 ;Leftmost X coordinate
|
|
lda x2
|
|
sta H2 ;Rightmost X coordinate
|
|
lda y1 ;Y coordinate
|
|
jsr HLINE
|
|
.ENDM
|
|
|