OS-9 Level II for Dragon 128 (Beta)
The Dragon 128 was an unfinished project at the time Dragon Data went bankrupt. It was designed to have from 256 KB RAM up to 768 KB, and run OS-9 Level II.
The disks listed below come from the Dragon Archive. They have been converted from the DMK format to DSK to make them easier to use in other emulators. The Pascal and C compilers are the same as was sold for the Dragon 64, but the BASIC09 on the system disk is a modified 80-column edition.
- OS-9 C Compiler (beta-c-compiler.dsk) (327,680 bytes)
- Two-pass compiler (cc1). Configured to use /d0 for include files.
- OS-9 Graphics Demo and Source (beta-graphicsdemo.dsk) (327,680 bytes)
- Sources for the graphics driver including OS-9 DEFS files.
- OS-9 Level 2 v1.1 System Disk (beta-os9-system.dsk) (327,680 bytes)
- Contains an early version of Level II. OS9p2 is edition 13. /d0/sys/errmsg is an executable module.
- OS-9 On The Dragon 128 V1.pdf (OS-9_On_The_Dragon_128_V1.pdf) (30,786,172 bytes)
- OS-9 Pascal Compiler (beta-pascal.dsk) (327,680 bytes)
- Identical to the version sold for Dragon 64.
The screen device driver has many graphics operations. Dragon Data had therefore made modifications to add the graphics primitives as extra keywords in Basic09. The application looks for a sub-routine module called "graphics". These are then available directly.
PROCEDURE fill2 DIM col:INTEGER FOR col=0 TO 2 gclear CSET(8,1,2,4) graphics if col = 2 then move(142,142) circle(74) endif MOVE(20,200) COLOUR(2) DRAW(" T0 D40 T-90 D20 T-90 D20 T90 D20 T90 D140 T90 D40 T90 D20") NEXT col END
In the DMK format the disk images have 1274 sectors and 16 sectors per track according to the identification sector. 80 tracks x 16 sectors would give 1280 so there are 6 sectors missing. After the conversion to DSK format six unformatted sectors appeared in the first track and I moved them to the end to make it possible to read the disk. I then increased the number of sectors to 1280 and did a dcheck to verify integrity. Additionally, according to the disk attributes the disks are single-sided double density.
If you disassemble the device descriptor for /D0, then you'll see why the disk has this strange format. Track 0 has only 10 sectors.
nam d0 ttl os9 device descriptor tylg set Devic+Objct atrv set ReEnt+rev rev set $01 mod eom,name,tylg,atrv,mgrnam,drvnam fcb $FF mode byte fcb $0F extended controller address fdb $FCE0 physical controller address fcb initsize-*-1 initilization table size fcb $01 device type:0=scf,1=rbf,2=pipe,3=scf fcb $00 drive number fcb $03 step rate fcb $00 drive device type fcb $01 media density:0=single,1=double fdb $0028 number of cylinders (tracks) fcb $02 number of sides fcb $00 verify disk writes:0=on fdb $0010 # of sectors per track fdb $000A # of sectors per track (track 0) fcb $04 sector interleave factor fcb $08 minimum size of sector allocation initsize equ * name equ * fcs /d0/ fcb $00 ? mgrnam equ * fcs /RBF/ drvnam equ * fcs /wd2797/ emod eom equ *