Okay, so now I can execute my compiled code. However, things are not working as I would, perhaps somewhat naively, expect...
The following code is supposed to draw two lines and give two beeps, using routines in the (sub)rom. The first set is in the main loop, the second in a subroutine which is called from the main loop. But it appears the second is never executed. No second beep, no second line.... The subroutine does show up in the symbol list and label table produced by sjasm, however.
Could anyone tell me what I'm doing wrong?
byte 0feh
word start
word end-1
word start
org 0c000h
start: ld a,5 ; screen 5
ld ix,#00d1 ; CHGMOD
call #015F ; extrom -> call subrom routine in ix
ld bc,204 ; end coordinates
ld (#fcb3),bc
ld bc,50
ld (#fcb5),bc
ld bc,50 ; start coordinates
ld de,161
ld a,8 ; color
ld (#F3F2),a
ld a,0 ; LOGOPR
ld (#FB02),a
ld ix,#0085 ; DOGRPH
call #015f ; EXTROM
call #00c0 ; beep
call #009f ; chget: wait for input
call putlin
call #009f ; chget: wait for input
ld a,0 ; screen 0
ld ix,#00d1 ; CHGMOD
call #015F ; extrom -> call subrom routine in ix
nop
ret
end:
putlin: call #00c0 ; beep
ld bc,204 ; end coordinates
ld (#fcb3),bc
ld bc,161
ld (#fcb5),bc
ld bc,50 ; start coordinates
ld de,50
ld a,15 ; color
ld (#F3F2),a
ld a,0 ; LOGOPR
ld (#FB02),a
ld ix,#0085 ; DOGRPH
call #015f ; EXTROM
ret