[Coco] Basic09 and syscalls
Walter Zambotti
zambotti at iinet.net.au
Thu Jan 17 23:03:14 EST 2019
Hi Guys and Girls
I'm trying to revive some of my Basic09 apps and none of my syscalls are
working!
In the below code I am happy that the OPEN #path,"/w":UPDATE is working
because if I comment
out the syscalls the program goes on to display graphics.
The error code for each and every syscall is 43 (Procedure not found)
Happens on both CoCo3/VCC/OVCC OS9Lv2 and Nitros9.
This code did run in the past!
I get the feeling I haven't installed a component somewhere!
Walter
PROCEDURE allocate_screen
PARAM path:INTEGER
PARAM colorchart(6):STRING[16]
TYPE registers=cc,a,b,dp:BYTE; x,y,u:INTEGER
DIM regs:registers
DIM register,color(16):INTEGER
DIM callcode,optsect(32):BYTE
BASE 0
colorchart(0)="RED"
colorchart(1)="LIGHT BLUE"
colorchart(2)="GREEN"
colorchart(3)="PURPLE"
colorchart(4)="BLUE"
colorchart(5)="YELLOW"
color(0)=$00
color(1)=$07
color(2)=$38
color(3)=$3F
color(4)=$20
color(5)=$24
color(6)=$18
color(7)=$1B
color(8)=$10
color(9)=$12
color(10)=$28
color(11)=$2D
color(12)=$08
color(13)=$09
color(14)=$30
color(15)=$36
OPEN #path,"/w":UPDATE
RUN gfx2(path,"DWSET",8,0,0,40,24,0,1,1)
RUN gfx2(path,"FONT",200,2)
RUN gfx2(path,"PROPSW","ON")
FOR register=0 TO 15
RUN gfx2(path,"PALETTE",register,color(register))
NEXT register
RUN gfx2(path,"CUROFF")
callcode=$8D \(* Get Stat
regs.a=path
regs.b=0 \(* SS.OPT
regs.x=ADDR(optsect)
RUN syscall(callcode,regs) \(* error 43 here
optsect(4)=0 \(* no echo
callcode=$8E \(* Set Stat
regs.a=path
regs.b=0 \(* SS.OPT
regs.x=ADDR(optsect)
RUN syscall(callcode,regs) \(* error 43 here
callcode=$8E \(* Set Stat
regs.a=0
regs.b=$94 \(* SS.GIP
regs.x=$0100 \(* high res mouse in left port
regs.y=$FF \(* no key repeat with delay
RUN syscall(callcode,regs) \(* error 43 here
RUN gfx2(path,"SELECT")
END
More information about the Coco
mailing list