; -------------------------------------------------------------------------- ; Definities van constanten ; -------------------------------------------------------------------------- osbytevec equ $ffc2 leesbytevec equ $ffc5 zendbytevec equ $ffc8 prthex equ $f802 prtnibble equ $f80b prtdec equ $c589 ; -------------------------------------------------------------------------- ; Standaard macro's ; -------------------------------------------------------------------------- leesbyte macro ; lees een byte van de pc jsr leesbytevec endm zendbyte macro byte ; stuur byte naar de pc lda #byte jsr zendbytevec endm osbyte macro osbytenr ; voer osbyte call uit lda #osbytenr jsr osbytevec endm setsem macro ; wacht tot semafoor goed staat pha osbyte 11 bcc *-3 pla endm clrsem macro ; wis semafoor pha osbyte 10 pla endm pccom macro comnr ; zend commando naar pc zendbyte $00 zendbyte comnr endm cls macro ; wis scherm lda #12 jsr $fff4 endm clw macro ; wis grafisch venster lda #16 jsr $fff4 endm attrib macro attr setsem pccom $33 zendbyte attr clrsem endm write macro string ; druk ASCIIZ string af op adres 'string' pha tya pha ldy #0 lda string,y beq *+9 jsr $fff4 iny jmp *-9 pla tay pla endm twindow macro xlo,ylo,xrb,yrb ; definieer een tekstwindow setsem pccom $35 zendbyte xlo zendbyte ylo zendbyte xrb zendbyte yrb clrsem endm twinoff macro ; tekstwindow uitschakelen setsem pccom $36 clrsem endm string macro chr,cnt ; print cnt maal het karakter chr pha tya pha ldy #cnt lda #chr jsr $fff4 dey bne *-4 pla tay pla endm cursor_on macro ; curson aan setsem pccom $09 clrsem endm cursor_off macro ; cursor uit setsem pccom $0A clrsem endm cursor_to macro x,y ; cursor naar positie x,y pha txa pha tya pha ldx #x ldy #y lda #30 jsr $fff4 lda #9 cpx #0 beq *+9 jsr $fff4 dex jmp *-8 lda #10 cpy #0 beq *+9 jsr $fff4 dey jmp *-8 pla tay pla tax pla endm cursor_pos macro ; opvragen cursorpos en karakter setsem pccom $02 leesbyte pha pccom $1e leesbyte tax leesbyte tay pla clrsem endm push_regs macro ; bewaar registers op stack pha txa pha tya pha endm pop_regs macro ; haal registers van stack pla tay pla tax pla endm