[Coco] OS9 RMA working in Rainbow IDE

Roger Taylor operator at coco3.com
Mon Oct 27 23:06:27 EDT 2008


Hooray.   The best I can explain what I just did is:

- Rainbow IDE 2.0 -
project name = RMA
source files = main.asm {told to output as main.r}
target disks = ~os9L2_1.dsk   ~os9L2_2.dsk

~ means 'existing' .dsk file was pointed to, as a template
Rainbow can make fresh disks or use existing preformatted virtual 
disks in case imgtool.exe, decb.exe, or os9.exe craps out one day or 
becomes incompatible with the current Rainbow setup.  In any of those 
cases, just use an existing .dsk image and... voila.

source file: main.asm

* Requires OS-9 Level Two RMA assembler
* (or a Windows/Linux ported version of RMA)

PRGRM	equ	$10
OBJCT	equ	$1
stk	equ	200
	psect	rmatest,$11,$81,0,stk,entry

name	fcs	"dir"
prm	fcb	$d
prmsize	equ	*-prm

entry	leax	name,pcr
	leau	prm,pcr
	ldy	#prmsize
	lda	#PRGRM+OBJCT
	clrb
	os9	F$FORK
	os9	F$WAIT
	os9	F$EXIT

	endsect
	

After clicking the BUILD button, the CoCo emulator window pops up, I 
type 'DOS' and in a few seconds I see the OS-9 Level Two prompt.  I 
type 'DIR'.  There's the OS-9 system directories plus my 'main.r' 
file in the root directory.

Now I've gotta play around with 'rlink.exe' now and see if it 
works.  In the past, I had copies that locked up, or didn't work with 
the .r files but I couldn't tell which was bad, the ROF files or the 
rlink.  We'll see.

Ofcourse, os9asm.exe (OS-9 Level One assembler) works without a 
linker.  So, Rainbow IDE 2.0 will be ready to develop OS-9 software 
disks out of the box, whether onto blank floppies or existing OS-9 
floppies (virtual .dsk) for quicker testing.

Thanks to the ToolShed guys for supplying these Windows-compatible 
CLI utilities that make it all possible from within the IDE much 
easier than working around the command prompt.  I've automated so 
much stuff that it's pretty much: put a check by the options you 
want, click Go.

-- 
Roger Taylor

http://www.wordofthedayonline.com




More information about the Coco mailing list