This commit is contained in:
Joshua Bell 2018-03-07 10:39:36 -08:00
parent 48042e0cb8
commit 8fdf8addc3
3 changed files with 64 additions and 50 deletions

View File

@ -615,7 +615,7 @@ base: .word 16
farg: .byte $00,$00,$00,$00,$00,$00
.proc title_bar_bitmap ; Params for MGTK::PaintBits
viewloc: DEFINE_POINT 115, $FFF7, viewloc
viewloc: DEFINE_POINT 115, AS_WORD -9, viewloc
mapbits: .addr pixels
mapwidth: .byte 1
reserved: .byte 0
@ -1607,11 +1607,18 @@ draw_title_bar:
.endproc
;; Following proc is copied to $B1
save_org := *
.proc adjust_txtptr_copied
.org $B1
dummy_addr := $EA60
loop: inc TXTPTR
bne :+
inc TXTPTR+1
: lda $EA60 ; this ends up being aligned on TXTPTR
.assert * + 1 = TXTPTR, error, "misaligned routine"
: lda dummy_addr ; this ends up being aligned on TXTPTR
cmp #'9'+1 ; after digits?
bcs end
cmp #' ' ; space? keep going
@ -1622,6 +1629,7 @@ loop: inc TXTPTR
sbc #$D0 ; carry set if successful
end: rts
.endproc
sizeof_adjust_txtptr_copied := * - adjust_txtptr_copied
.org save_org + .sizeof(adjust_txtptr_copied)
sizeof_adjust_txtptr_copied := .sizeof(adjust_txtptr_copied)
da_end := *

View File

@ -144,6 +144,9 @@ end:
;; If 'pathname' is passed then expansion yields a circular reference.
.error "Can't pass 'pathname' label to DEFINE_*_PARAMS"
.endif
.if .xmatch(.string(io), "io_buffer")
.error "Can't pass 'io_buffer' label to DEFINE_*_PARAMS"
.endif
.proc name
param_count: .byte 3
pathname: .addr pn

View File

@ -32,6 +32,9 @@
;;; ============================================================
;;; Common patterns
.define AS_WORD(arg) arg & $FFFF
.macro return arg
lda arg
rts