# HG changeset patch # User Boisy Pitre # Date 1330095068 21600 # Node ID b8c7b7fbf3c9590bca54b9cbc93f21a14883d726 # Parent b00ba2e2f69191ba24f4c60e6197ca7be6023069 Major changes: o os9defs, rbfdefs, scfdefs now os9.d, rbf.d, and scf.d o vtiodefs now broken into cocovtio.d (for coco and dragon) and atarivtio.d o systype now broken into coco.d, dragon.d and atari.d o all references to the above in other files have changed diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/booters/defsfile --- a/3rdparty/booters/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/booters/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,2 @@ - use os9defs - use systype - use scfdefs - use rbfdefs + use os9.d + use rbf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/burke/defsfile --- a/3rdparty/drivers/burke/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/burke/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,3 @@ Level equ 2 - use os9defs - use rbfdefs + use os9.d + use rbf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/disto/cc3disk_sc2_irq.asm --- a/3rdparty/drivers/disto/cc3disk_sc2_irq.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/disto/cc3disk_sc2_irq.asm Fri Feb 24 08:51:08 2012 -0600 @@ -24,8 +24,9 @@ nh_data equ nh_base+2 ifp1 - use os9defs + use defsfile endc + tylg set Drivr+Objct atrv set ReEnt+rev rev set $02 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/disto/defsfile --- a/3rdparty/drivers/disto/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/disto/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,4 @@ - use os9defs - use scfdefs - use rbfdefs - use systype + use os9.d + use scf.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/emudsk/ddh0.asm --- a/3rdparty/drivers/emudsk/ddh0.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/emudsk/ddh0.asm Fri Feb 24 08:51:08 2012 -0600 @@ -10,7 +10,7 @@ * Address not used by driver but still .... IFP1 - USE os9defs + USE os9.d ENDC type SET Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/emudsk/emudsk.asm --- a/3rdparty/drivers/emudsk/emudsk.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/emudsk/emudsk.asm Fri Feb 24 08:51:08 2012 -0600 @@ -65,8 +65,8 @@ ttl os9 device driver ifp1 - use os9defs - use rbfdefs + use os9.d + use rbf.d endc tylg set Drivr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/emudsk/h0.asm --- a/3rdparty/drivers/emudsk/h0.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/emudsk/h0.asm Fri Feb 24 08:51:08 2012 -0600 @@ -10,7 +10,7 @@ * Address not used by driver but still .... IFP1 - USE os9defs + USE os9.d ENDC type SET Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/emudsk/h1.asm --- a/3rdparty/drivers/emudsk/h1.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/emudsk/h1.asm Fri Feb 24 08:51:08 2012 -0600 @@ -10,7 +10,7 @@ * Address not used by driver but still .... IFP1 - USE os9defs + USE os9.d ENDC type SET Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/ide/defsfile --- a/3rdparty/drivers/ide/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/ide/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,3 @@ - use os9defs - use rbfdefs - use systype - + use os9.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/makefile --- a/3rdparty/drivers/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ include ../../rules.mak -dirs = burke disto emudsk ide s16550 sdisk sdisk3 tccc +dirs = burke disto emudsk ide mmc s16550 sdisk sdisk3 tccc # Make all components all: diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/mmc/defsfile --- a/3rdparty/drivers/mmc/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/mmc/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,3 @@ - use os9defs - use rbfdefs - use systype - + use os9.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/s16550/defsfile --- a/3rdparty/drivers/s16550/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/s16550/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,2 +1,3 @@ Level equ 2 - use os9defs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/s16550/s16550_large.asm --- a/3rdparty/drivers/s16550/s16550_large.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/s16550/s16550_large.asm Fri Feb 24 08:51:08 2012 -0600 @@ -15,7 +15,6 @@ ifp1 use defsfile - use scfdefs endc tylg set Drivr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/s16550/t2_s16550.asm --- a/3rdparty/drivers/s16550/t2_s16550.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/s16550/t2_s16550.asm Fri Feb 24 08:51:08 2012 -0600 @@ -5,7 +5,6 @@ ifp1 use defsfile - use scfdefs endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/sdisk/defsfile --- a/3rdparty/drivers/sdisk/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/sdisk/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ Level equ 1 - use os9defs - use systype - use scfdefs - use rbfdefs + use os9.d + use scf.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/sdisk3/defsfile --- a/3rdparty/drivers/sdisk3/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/sdisk3/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ Level equ 2 - use os9defs - use rbfdefs - use systype + use os9.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/drivers/tccc/defsfile --- a/3rdparty/drivers/tccc/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/drivers/tccc/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,4 @@ Level equ 2 - use os9defs - use rbfdefs - use systype + use os9.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/fmgrs/msf/defsfile --- a/3rdparty/fmgrs/msf/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/fmgrs/msf/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use systype - use rbfdefs + use os9.d + use rbf.d + use coco.d use msfdefs diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/fmgrs/msf/msfdesc.asm --- a/3rdparty/fmgrs/msf/msfdesc.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/fmgrs/msf/msfdesc.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,6 @@ IFP1 Level set 2 - use os9defs - use rbfdefs - use msfdefs + use defsfile ENDC ************************************************************** diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/p2mods/defsfile --- a/3rdparty/p2mods/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/p2mods/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -2,5 +2,5 @@ Level equ 2 ENDC - use os9defs - use systype + use os9.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/p2mods/noice/defsfile --- a/3rdparty/p2mods/noice/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/p2mods/noice/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,3 @@ - use os9defs - use scfdefs - use systype + use os9.d + use scf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/p2mods/sayhi.asm --- a/3rdparty/p2mods/sayhi.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/p2mods/sayhi.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ ifp1 - use os9defs + use defsfile endc Type set Prgrm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/p2mods/tdatmod.asm --- a/3rdparty/p2mods/tdatmod.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/p2mods/tdatmod.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ ifp1 - use os9defs + use defsfile endc F$DatMod equ $25 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/p2mods/tsayhi.asm --- a/3rdparty/p2mods/tsayhi.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/p2mods/tsayhi.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ ifp1 - use os9defs + use defsfile endc Type set Prgrm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/basic09/defsfile --- a/3rdparty/packages/basic09/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/basic09/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,2 +1,2 @@ - use os9defs - use scfdefs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/basic09/gfx2.asm --- a/3rdparty/packages/basic09/gfx2.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/basic09/gfx2.asm Fri Feb 24 08:51:08 2012 -0600 @@ -15,7 +15,7 @@ * Disassembled 02/07/06 13:10:09 by Disasm v1.6 (C) 1988 by RML ifp1 - use os9defs + use os9.d endc tylg set Sbrtn+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/cc/defsfile --- a/3rdparty/packages/cc/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/cc/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,2 +1,2 @@ - use os9defs - use scfdefs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/koronis/defsfile --- a/3rdparty/packages/koronis/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/koronis/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,3 @@ Level equ 2 - use os9defs - use scfdefs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/multivue/cmds_6309/defsfile --- a/3rdparty/packages/multivue/cmds_6309/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/multivue/cmds_6309/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ H6309 equ 1 Level equ 2 - use os9defs - use scfdefs - use rbfdefs + use os9.d + use scf.d + use rbf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/multivue/cmds_6809/defsfile --- a/3rdparty/packages/multivue/cmds_6809/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/multivue/cmds_6809/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,4 @@ Level equ 2 - use os9defs - use scfdefs - use rbfdefs + use os9.d + use scf.d + use rbf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/rof/defsfile --- a/3rdparty/packages/rof/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/rof/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,4 @@ Level equ 2 - use os9defs - use scfdefs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/blackcauldron/defsfile --- a/3rdparty/packages/sierra/blackcauldron/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/blackcauldron/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/christmas86/defsfile --- a/3rdparty/packages/sierra/christmas86/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/christmas86/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/goldrush/defsfile --- a/3rdparty/packages/sierra/goldrush/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/goldrush/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/kingsquest1/defsfile --- a/3rdparty/packages/sierra/kingsquest1/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/kingsquest1/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/kingsquest2/defsfile --- a/3rdparty/packages/sierra/kingsquest2/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/kingsquest2/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/kingsquest3/defsfile --- a/3rdparty/packages/sierra/kingsquest3/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/kingsquest3/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/kingsquest4/defsfile --- a/3rdparty/packages/sierra/kingsquest4/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/kingsquest4/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/leisuresuitlarry/defsfile --- a/3rdparty/packages/sierra/leisuresuitlarry/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/leisuresuitlarry/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/manhunter1/defsfile --- a/3rdparty/packages/sierra/manhunter1/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/manhunter1/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/manhunter2/defsfile --- a/3rdparty/packages/sierra/manhunter2/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/manhunter2/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/policequest1/defsfile --- a/3rdparty/packages/sierra/policequest1/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/policequest1/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/spacequest0/defsfile --- a/3rdparty/packages/sierra/spacequest0/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/spacequest0/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/spacequest1/defsfile --- a/3rdparty/packages/sierra/spacequest1/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/spacequest1/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/sierra/spacequest2/defsfile --- a/3rdparty/packages/sierra/spacequest2/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/sierra/spacequest2/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/subsim/defsfile --- a/3rdparty/packages/subsim/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/subsim/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,3 @@ Level equ 2 - use os9defs - use scfdefs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/uucpbb/cmds_6309/defsfile --- a/3rdparty/packages/uucpbb/cmds_6309/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/uucpbb/cmds_6309/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ Level equ 2 - use os9defs - use scfdefs - use systype + use os9.d + use scf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/packages/uucpbb/cmds_6809/defsfile --- a/3rdparty/packages/uucpbb/cmds_6809/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/packages/uucpbb/cmds_6809/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,5 +1,5 @@ Level equ 2 - use os9defs - use scfdefs - use systype + use os9.d + use scf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/subrtns/defsfile --- a/3rdparty/subrtns/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/subrtns/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,1 +1,1 @@ - use os9defs + use os9.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/subrtns/hires.asm --- a/3rdparty/subrtns/hires.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/subrtns/hires.asm Fri Feb 24 08:51:08 2012 -0600 @@ -11,7 +11,7 @@ ttl HiRes Joystick Subroutine Module ifp1 - use os9defs + use defsfile endc edition set 1 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/subrtns/joystk.asm --- a/3rdparty/subrtns/joystk.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/subrtns/joystk.asm Fri Feb 24 08:51:08 2012 -0600 @@ -11,7 +11,7 @@ ttl Joystick Subroutine Module ifp1 - use os9defs + use defsfile endc edition set 1 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/utils/boisy/defsfile --- a/3rdparty/utils/boisy/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/utils/boisy/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,2 +1,2 @@ - use os9defs - use scfdefs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/utils/dasm/dasm.asm --- a/3rdparty/utils/dasm/dasm.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/utils/dasm/dasm.asm Fri Feb 24 08:51:08 2012 -0600 @@ -4,7 +4,7 @@ ***************************** ifp1 - use os9defs + use os9.d endc begin mod len,name,prgrm+objct,reent+1,entry,dsize diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/utils/smartwatch/defsfile --- a/3rdparty/utils/smartwatch/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/utils/smartwatch/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,4 @@ Level equ 2 - use os9defs - use scfdefs + use os9.d + use scf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/utils/smartwatch/getclk.asm --- a/3rdparty/utils/smartwatch/getclk.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/utils/smartwatch/getclk.asm Fri Feb 24 08:51:08 2012 -0600 @@ -3,9 +3,8 @@ * Disassembled 98/06/01 09:08:21 by Disasm v1.5 (C) 1988 by RML -Level equ 2 ifp1 - use os9defs + use defsfile endc * MPI slot selection code diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/utils/smartwatch/swset.asm --- a/3rdparty/utils/smartwatch/swset.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/utils/smartwatch/swset.asm Fri Feb 24 08:51:08 2012 -0600 @@ -21,7 +21,6 @@ ifp1 use defsfile - use systype endc type set prgrm+objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/utils/supercomm/defsfile --- a/3rdparty/utils/supercomm/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/utils/supercomm/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,4 +1,4 @@ Level equ 2 - use os9defs - use scfdefs - use systype + use os9.d + use scf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 3rdparty/utils/winfo/defsfile --- a/3rdparty/utils/winfo/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/3rdparty/utils/winfo/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,3 @@ Level equ 2 - use os9defs - use scfdefs + use os9.d + use scf.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/atari.d --- a/defs/atari.d Fri Feb 24 06:41:48 2012 -0600 +++ b/defs/atari.d Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,5 @@ - IFNE ATARIDEFS-1 - -ATARIDEFS SET 1 + IFNE ATARI.D-1 +ATARI.D SET 1 ******************************************************************** * AtariDefs - NitrOS-9 System Definitions for the Atari XE/XL @@ -18,6 +17,33 @@ +********************************** +* Power Line Frequency Definitions +* +Hz50 EQU 1 Assemble clock for 50 hz power +Hz60 EQU 2 Assemble clock for 60 hz power +PwrLnFrq SET Hz60 Set to Appropriate freq + + +********************************** +* Ticks per second +* + IFEQ PwrLnFrq-Hz50 +TkPerSec SET 50 + ELSE +TkPerSec SET 60 + ENDC + + +************************************************* +* +* NitrOS-9 Level 1 Section +* +************************************************* + +HW.Page SET $FF Device descriptor hardware page + + ******************************************************************** * NitrOS-9 Memory Definitions for the Atari XE/XL * @@ -45,8 +71,6 @@ D.IRQENShdw EQU D.WDBtDr - - ******************************************************************** * Atari XE/XL Hardware Definitions * @@ -207,26 +231,4 @@ NMIRES EQU $D40F ;NMI interrupt status reset - -******************************************************************** -* VTIO Defs for the Atari XE/XL -* Everything that the VTIO driver needs is defined here, including -* static memory definitions - -* Constant Definitions -KBufSz EQU 8 circular buffer size - - -* Driver Static Memory - ORG V.SCF -V.CurRow RMB 1 -V.CurCol RMB 1 -V.CurChr RMB 1 character under the cursor -V.KySns RMB 1 key sense flags -V.IBufH RMB 1 input buffer head -V.IBufT RMB 1 input buffer tail -V.InBuf RMB KBufSz input buffer - RMB 250-. -V.Last EQU . - ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/atarivtio.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/atarivtio.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,25 @@ + IFNE ATARIVTIO.D-1 +ATARIVTIO.D SET 1 + +******************************************************************** +* VTIO Defs for the Atari XE/XL +* Everything that the VTIO driver needs is defined here, including +* static memory definitions + +* Constant Definitions +KBufSz EQU 8 circular buffer size + + +* Driver Static Memory + ORG V.SCF +V.CurRow RMB 1 +V.CurCol RMB 1 +V.CurChr RMB 1 character under the cursor +V.KySns RMB 1 key sense flags +V.IBufH RMB 1 input buffer head +V.IBufT RMB 1 input buffer tail +V.InBuf RMB KBufSz input buffer + RMB 250-. +V.Last EQU . + + ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/coco.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/coco.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,209 @@ + IFNE COCO.D-1 +COCO.D SET 1 + +******************************************************************** +* CoCoDefs - NitrOS-9 System Definitions for the Tandy Color Computer +* +* $Id$ +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 1998/10/13 Boisy G. Pitre +* Added defs by Bruce Isted from his Eliminator archive. +* +* 1998/10/31 Boisy G. Pitre +* Merged cc3global.defs into this file. +* +* 2002/04/30 Boisy G. Pitre +* Merged Level One and Level Two sysdefs. +* +* 2002/06/22 Boisy G. Pitre +* Removed PIA.U4 and PIA.U8, improved comments +* +* 2003/11/05 Robert Gault +* Made changes in window globals and grfdrv memory to handle regW +* in 6809 systems. +* +* 2003/11/30 Boisy G. Pitre +* Statics now are prefaced with V. to identify them easier in source. +* +* 2004/07/18 Boisy G. Pitre +* Moved CoCo 3 Window stuff into cc3iodefs +* +* 2012/02/24 Boisy G. Pitre +* Consolidated all CoCo-specific defs files into here. + + NAM CoCoDefs + IFEQ Level-1 + TTL NitrOS-9 System Definitions for the Tandy Color Computer + ELSE + IFEQ Level-2 + TTL NitrOS-9 Level 2 System Type Definitions + ELSE + IFEQ Level-3 + TTL NitrOS-9 Level 3 System Type Definitions + ENDC + ENDC + ENDC + + +********************** +* CPU Type Definitions +* +Color SET 1 +Color3 SET 2 + IFEQ Level-1 +CPUType SET Color + ELSE +CPUType SET Color3 + ENDC + + +****************************** +* Clock Speed Type Definitions +* +OneMHz EQU 1 +TwoMHz EQU 2 + IFEQ CPUType-Color +CPUSpeed SET OneMHz + ELSE +CPUSpeed SET TwoMHz + ENDC + + +********************************** +* Power Line Frequency Definitions +* +Hz50 EQU 1 Assemble clock for 50 hz power +Hz60 EQU 2 Assemble clock for 60 hz power +PwrLnFrq SET Hz60 Set to Appropriate freq + + +********************************** +* Ticks per second +* + IFEQ PwrLnFrq-Hz50 +TkPerSec SET 50 + ELSE +TkPerSec SET 60 + ENDC + + +****************** +* ACIA type set up +* + ORG 1 +ACIA6850 RMB 1 MC6850 acia. +ACIA6551 RMB 1 SY6551 acia. +ACIA2661 RMB 1 SC2661 acia. +ACIATYPE SET ACIA6551 + + +**************************************** +* Special character Bit position equates +* +SHIFTBIT EQU %00000001 +CNTRLBIT EQU %00000010 +ALTERBIT EQU %00000100 +UPBIT EQU %00001000 +DOWNBIT EQU %00010000 +LEFTBIT EQU %00100000 +RIGHTBIT EQU %01000000 +SPACEBIT EQU %10000000 + + +****************** +* Device addresses for miscellaneous hardware +* +A.AciaP SET $FF68 Aciapak Address +A.ModP SET $FF6C ModPak Address +DPort SET $FF40 Disk controller base address +MPI.Slct SET $FF7F Multi-Pak slot select +MPI.Slot SET $03 Multi-Pak default slot +PIA0Base EQU $FF00 +PIA1Base EQU $FF20 + + +****************** +* VDG Devices +* +A.TermV SET $FFC0 VDG Term +A.V1 SET $FFC1 Possible additional VDG Devices +A.V2 SET $FFC2 +A.V3 SET $FFC3 +A.V4 SET $FFC4 +A.V5 SET $FFC5 +A.V6 SET $FFC6 +A.V7 SET $FFC7 + + + IFEQ Level-1 + +************************************************* +* +* NitrOS-9 Level 1 Section +* +************************************************* + +HW.Page SET $FF Device descriptor hardware page + + ELSE + +************************************************* +* +* NitrOS-9 Level 2 Section +* +************************************************* + +**************************************** +* Dynamic Address Translator Definitions +* +DAT.BlCt EQU 8 D.A.T. blocks/address space +DAT.BlSz EQU (256/DAT.BlCt)*256 D.A.T. block size +DAT.ImSz EQU DAT.BlCt*2 D.A.T. Image size +DAT.Addr EQU -(DAT.BlSz/256) D.A.T. MSB Address bits +DAT.Task EQU $FF91 Task Register address +DAT.TkCt EQU 32 Number of DAT Tasks +DAT.Regs EQU $FFA0 DAT Block Registers base address +DAT.Free EQU $333E Free Block Number +DAT.BlMx EQU $3F Maximum Block number +DAT.BMSz EQU $40 Memory Block Map size +DAT.WrPr EQU 0 no write protect +DAT.WrEn EQU 0 no write enable +SysTask EQU 0 Coco System Task number +IOBlock EQU $3F +ROMBlock EQU $3F +IOAddr EQU $7F +ROMCount EQU 1 number of blocks of ROM (High RAM Block) +RAMCount EQU 1 initial blocks of RAM +MoveBlks EQU DAT.BlCt-ROMCount-2 Block numbers used for copies +BlockTyp EQU 1 chk only first bytes of RAM block +ByteType EQU 2 chk entire block of RAM +Limited EQU 1 chk only upper memory for ROM modules +UnLimitd EQU 2 chk all NotRAM for modules +* NOTE: this check assumes any NotRAM with a module will +* always start with $87CD in first two bytes of block +RAMCheck EQU BlockTyp chk only beg bytes of block +ROMCheck EQU Limited chk only upper few blocks for ROM +LastRAM EQU IOBlock maximum RAM block number + +*************************** +* Color Computer 3 Specific +* +MappedIO EQU true (Actually False but it works better this way) + +******************** +* Hardware addresses +* +GIMERegs EQU $FF00 Base address of GIME registers +IrqEnR EQU $FF92 GIME IRQ enable/status register +BordReg EQU $FF9A Border color register +PalAdr EQU $FFB0 Palette registers + +HW.Page SET $07 Device descriptor hardware page + + ENDC + + ENDC + diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/cocovtio.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/cocovtio.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,906 @@ + IFNE COCOVTIO.D-1 +COCOVTIO.D SET 1 + + IFEQ Level-1 + +******************************************************************** +* VTIODefs - Video Terminal I/O Definitions for CoCo 1/2 +* +* $Id$ +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 2004/11/29 P.Harvey-Smith. +* Added symbolic defines for bits in V.CoLoad. +* +* 2004/12/02 P.Harvey-Smith. +* Moved over all variables from co51.asm +* +* 2005/04/09 P.Harvey-Smith. +* Decoded rest of the CoHR memory locations. +* +* 2005/04/24 P.Harvey-Smith. +* Added variables for cursor flash, currently only implemented in co51 +* + NAM VTIODefs + TTL Video Terminal I/O Definitions for CoCo 1/2 + +******************** +* VTIO Static Memory +* + ORG V.SCF +V.ScrnA RMB 2 (2) screen start address in system memory +V.ScrnE RMB 2 (2) address of end of screen +V.CrsrA RMB 1 (2) cursor address +V.CrsAL RMB 1 cursor address low +V.CChar RMB 1 value of character under cursor +V.Mode RMB 1 mode: 0=256x192 x2, 1=128x192 x4 +V.NGChr RMB 1 number of additional characters to get +V.RTAdd RMB 2 (2) return address after getting characters +V.NChar RMB 1 character to process +V.NChr2 RMB 1 and the next one + RMB 1 +V.Chr1 RMB 1 same as under cursor character +V.CColr RMB 1 cursor color +V.Col RMB 1 number of columns for this screen +V.Row RMB 1 number of rows +V.Alpha RMB 1 0 when in alpha mode +V.PIA1 RMB 1 PIA1Base value +V.Rdy RMB 1 device ready (see SS.DStat 0=not ready) +V.CFlg1 RMB 1 VDG display code values +V.SBAdd RMB 2 (2) address of block screen is in +V.GBuff RMB 2 allocation for graphics buffers (block#) +V.AGBuf RMB 4 (2) additional graphics buffer +V.FFMem RMB 2 Flood fill alloc'ed mem +V.FFSPt RMB 2 Flood fill current stack pointer +V.FFSTp RMB 1 Flood fill stack top +V.FF6 RMB 1 flood fill flag +V.FFFlag RMB 1 ?? +V.MTabl RMB 2 (2) address of mask table for pixels in byte +V.PixBt RMB 1 bit mask for modes (0=$07, 1=$03 )#pixels/byte +V.GCrsX RMB 1 graphics cursor X value +V.GCrsY RMB 1 graphics cursor Y +V.Msk1 RMB 1 mask byte 1 +V.Msk2 RMB 1 mask byte 2 (00,55,AA,FF) +V.MCol RMB 1 color? (C003,8001) +V.4A RMB 1 +V.PMask RMB 1 pixel mask for colors (i.e. $55, $CC etc) +V.4C RMB 1 +V.4D RMB 1 +V.4E RMB 1 +V.4F RMB 1 +V.Caps RMB 1 caps lock info: $00=lower $FF=upper +V.ClkCnt RMB 1 clock count ?? +V.WrChr RMB 1 character to write +V.CurCo RMB 1 current CO-module in use +* start of CoWP-specific static memory +V.Co80X RMB 1 V.54 +V.Co80Y RMB 1 V.55 +V.ColPtr RMB 1 V.56 +V.RowPtr RMB 1 V.57 +V.C80X RMB 1 CoWP X position +V.C80Y RMB 1 CoWP Y position +V.Invers RMB 1 +* end of CoWP-specific static memory +V.DspVct RMB 2 vector to display screen +V.CnvVct RMB 2 vector to X/Y to address conversion +V.LKeyCd RMB 1 last key code +V.2Key1 RMB 1 2nd Key 1 +V.2Key2 RMB 1 2nd Key 2 +V.2Key3 RMB 1 2nd Key 3 +V.Key1 RMB 1 Key 1 +V.Key2 RMB 1 Key 2 +V.Key3 RMB 1 Key 3 +V.ShftDn RMB 1 SHIFT/CTRL state +V.CtrlDn RMB 1 CTRL key down +V.KeyFlg RMB 1 key flag +V.AltDwn RMB 1 ALT key down +V.KySns RMB 1 key sense flags +V.KySame RMB 1 key same as last flag +V.KySnsF RMB 1 key sense flag +V.Spcl RMB 1 +V.KTblLC RMB 1 key table entry # +V.6F RMB 1 ??? +V.COLoad RMB 1 CO-module loaded flags +V.CFlag RMB 1 true lowercase flag $10=true, $00=false +V.GrfDrvE RMB 2 GrfDrv entry point +V.CoVDGE RMB 2 CoVDG entry point +V.CoWPE RMB 2 CoWP entry point +V.CoHRE RMB 2 CoHR entry point + +V.Flash RMB 2 Cursor flash routine address. +v.FlashCount RMB 1 Cursor flash count +V.NoFlash RMB 1 When this is non-zero do not flash cursor + +* CoHR vars + +V.51ScrnA RMB 2 * Screen address. +V.51XPos RMB 1 * X co-ordinate +V.51YPos RMB 1 * Y co-ordinate +V.51EscSeq RMB 1 * In escape sequence +V.51ReverseFlag RMB 1 * Reverse video flag +V.51UnderlineFlag RMB 1 * Underline flag +V.51CtrlDispatch RMB 2 * Ctrl char dispatch address, currently processing +V.51BytePixOffset RMB 1 * byte offset in screen line, of character X position +V.51OldCursorPosX RMB 1 * Position of old cursor before update +V.51OldCursorPosY RMB 1 +V.51CursorChanged RMB 1 * Has cursor position changed ? 1=yes,0=no +V.51CursorOn RMB 1 * Is cursor on ? 1=yes 0=no +V.51XORFlag RMB 1 * and data to screen (0) or Xor (1) +V.51ScreenMask1 RMB 1 * screen masks for drawing characters on screen +V.51ScreenMask2 RMB 1 +* End of CoHR vars +**** Note these have to come at the end of the defs, or the keyboard **** +**** code can clobber variables defined after these ! **** +V.IBufH RMB 1 input buffer head +V.IBufT RMB 1 input buffer tail +V.InBuf RMB 1 input buffer ptr +V.51End RMB 1 + RMB 250-. +V.Last EQU . + + +* Unknown for now +*VD.FFMem rmb 2 (2) bottom of stack for flood fill +*VD.FFSPt rmb 2 (2) flood fill stack pointer +*VD.FFSTp rmb 2 (2) flood fill stack top pointer +*VD.FF6 rmb 1 flood fill flag +*VD.MCol2 rmb 1 color +*VD.FF1 rmb 1 data for flood fill +*VD.FF2 rmb 1 data for flood fill +*VD.FFMsk rmb 1 flood fill mask +*VD.FFFlg rmb 1 flood fill flag +*VD.Palet rmb 16 (16) current palette values +*VD.PlFlg rmb 1 initialized to $08 by L00DB, and then unused! + +* +* Defs for V.COLoad flags. +* + +ModCoVDG EQU %00000010 CoVDG, Built-in VDG 32x16. +ModCoWP EQU %00000100 CoWP, WordPak, 80x25 +ModCoHR EQU %00001000 CoHR, PMODE 4 51x25 text + +* +* Defs for cursor flash counter +* + +CFlash50hz EQU 25 * 50Hz flash counter +CFlash60Hz EQU 30 * 60Hz flash counter + + ELSE + +******************************************************************** +* VTIODefs - Video Terminal I/O Definitions for CoCo 3 +* +* $Id$ +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 2004/07/18 Boisy G. Pitre +* Started from systype + + NAM VTIODefs + TTL Video Terminal I/O Definitions for CoCo 3 + +**************** +* Window Devices +* + ORG $FF9F +A.W RMB 1 $FF9F Generic Window Descriptor +A.TermW RMB 1 $FFA0 Windowing Term +A.W1 RMB 1 $FFA1 +A.W2 RMB 1 $FFA2 +A.W3 RMB 1 $FFA3 +A.W4 RMB 1 $FFA4 +A.W5 RMB 1 $FFA5 +A.W6 RMB 1 $FFA6 +A.W7 RMB 1 $FFA7 +A.W8 RMB 1 $FFA8 +A.W9 RMB 1 $FFA9 +A.W10 RMB 1 $FFAA +A.W11 RMB 1 $FFAB +A.W12 RMB 1 $FFAC +A.W13 RMB 1 $FFAD +A.W14 RMB 1 $FFAE +A.W15 RMB 1 $FFAF + +********************************** +* Pointer Device Packet Definition +* + ORG 0 +Pt.Valid RMB 1 Is returned info valid (0=no/1=yes) +Pt.Actv RMB 1 Active Side 0=off/1=Right/2=left +Pt.ToTm RMB 1 Time out Initial value + RMB 2 reserved +Pt.TTTo RMB 1 Time Till Timeout +Pt.TSSt RMB 2 Time Since Start Counter +Pt.CBSA RMB 1 Current Button State Button A +Pt.CBSB RMB 1 Current Button State Button B +Pt.CCtA RMB 1 Click Count Button A +Pt.CCtB RMB 1 Click Count Button B +Pt.TTSA RMB 1 Time This State Counter Button A +Pt.TTSB RMB 1 Time This State Counter Button B +Pt.TLSA RMB 1 Time Last State Counter Button A +Pt.TLSB RMB 1 Time Last State Counter Button B + RMB 2 Reserved +Pt.BDX RMB 2 Button down X value EXPERIMENTAL +Pt.BDY RMB 2 Button down Y value +Pt.Stat RMB 1 Window Pointer type location +Pt.Res RMB 1 Resolution (0..640 by: 0=ten/1=one) +Pt.AcX RMB 2 Actual X Value +Pt.AcY RMB 2 Actual Y Value +Pt.WRX RMB 2 Window Relative X +Pt.WRY RMB 2 Window Relative Y +Pt.Siz EQU . Packet Size 32 bytes + +************************** +* window regions for mouse +* +WR.Cntnt EQU 0 content region +WR.Cntrl EQU 1 control region +WR.OfWin EQU 2 off window + +************************************* +* Standard system get/put buffer defs +* +* +* system group numbers +* + ORG 200 +Grp.Fnt RMB 1 font group +Grp.Clip RMB 1 clipboard group +Grp.Ptr RMB 1 pointer group +Grp.Pat2 RMB 1 pattern group 2 color +Grp.Pat4 RMB 1 pattern group 4 color +Grp.Pat6 RMB 1 pattern group 16 color +* +* font buffer numbers +* + ORG 1 +Fnt.S8x8 RMB 1 standard 8x8 font +Fnt.S6x8 RMB 1 standard 6x8 font +Fnt.G8x8 RMB 1 standard graphics 8x8 font +* +* pattern buffer numbers +* + ORG 1 +Pat.Dot RMB 1 +Pat.Vrt RMB 1 +Pat.Hrz RMB 1 +Pat.XHtc RMB 1 +Pat.LSnt RMB 1 +Pat.RSnt RMB 1 +Pat.SDot RMB 1 +Pat.BDot RMB 1 +* +* pointer buffer numbers +* + ORG 1 +Ptr.Arr RMB 1 Arrow pointer +Ptr.Pen RMB 1 Pencil pointer +Ptr.LCH RMB 1 Large cross hair pointer +Ptr.Slp RMB 1 Wait timer pointer +Ptr.Ill RMB 1 Illegal action pointer +Ptr.Txt RMB 1 Text pointer +Ptr.SCH RMB 1 Small cross hair pointer + +********************** +* KeyDrv Entry Points + ORG 0 +K$Init RMB 3 joystick initialization +K$Term RMB 3 joystick termination +K$FnKey RMB 3 get function key states +K$RdKey RMB 3 get key states + +********************** +* JoyDrv Entry Points + ORG 0 +J$Init RMB 3 joystick initialization +J$Term RMB 3 joystick termination +J$MsBtn RMB 3 get mouse button states +J$MsXY RMB 3 get mouse X/Y coordinates +J$JyBtn RMB 3 get joystick button states +J$JyXY RMB 3 get joystick X/Y coordinates + +********************** +* SndDrv Entry Points + ORG 0 +S$Init RMB 3 joystick initialization +S$GetStt RMB 3 joystick termination +S$SetStt RMB 3 joystick termination +S$Term RMB 3 get joystick X/Y coordinates + +******************************** +* Window/Menu Bar Data Structure +* +* To be used in SS.WnSet SETSTAT to set up a Framed Window +* for use in the high level windowing package. +* +NUMMENS EQU 10 maximum number of menus on menu bar +NUMITMS EQU 20 maximum number of items in a menu +MXTTLEN EQU 15 max chars for menu and item names +WINSYNC EQU $C0C0 synch bytes for window validation +* +* Menu Item Descriptor : (MN.ITEMS) +* one required for each item within the menu +* + ORG 0 +MI.TTL RMB MXTTLEN item name +MI.ENBL RMB 1 enable flag +MI.RES RMB 5 reserved bytes +MI.SIZ EQU . size of menu item descriptor +* +* Menu Descriptor : +* one for each menu on the manu bar +* each is pointed to by MB.MPTR below +* + ORG 0 +MN.TTL RMB MXTTLEN menu title +MN.ID RMB 1 menu id number (1-255) +MN.XSIZ RMB 1 horiz. size of desired pull down +MN.NITS RMB 1 number of items in menu +MN.ENBL RMB 1 enable flag +MN.RES RMB 2 reserved bytes +MN.ITEMS RMB 2 pointer to array of menu items +MN.SIZ EQU . size of menu descriptor +* +* Window Descriptor: +* one required for each application in a framed window +* + ORG 0 +WN.TTL RMB 20 title of window for title bar +WN.NMNS RMB 1 number of menus in menu bar +WN.XMIN RMB 1 minimal horiz. size for application to run +WN.YMIN RMB 1 minimal vert. size for application to run +WN.SYNC RMB 2 synch bytes ($C0C0) +WN.RES RMB 7 reserved bytes +WN.BAR RMB 2 pointer to arry of menu descriptors +WN.SIZ EQU . size of window/menu bar descriptor + +************************* +* Window Type Definitions +* +* To be used in setting up the border of the window in +* the SS.WnSel SETSTAT +* + ORG 0 +WT.NBox RMB 1 No Box +WT.FWin RMB 1 Framed Window +WT.FSWin RMB 1 Framed Window w/Scroll Bars +WT.SBox RMB 1 Shadowed Box +WT.DBox RMB 1 Double Box +WT.PBox RMB 1 Plain Box + +************************************* +* Pre-Defined Menu IDs for the system +* + ORG 1 +MId.Mov RMB 1 move box +MId.Cls RMB 1 close box +MId.Grw RMB 1 grow box +MId.SUp RMB 1 scroll up +MId.SDn RMB 1 scroll down +MId.SRt RMB 1 scroll right +MId.SLt RMB 1 scroll left +MId.Chr RMB 1 character was depressed + ORG 20 +MId.Tdy RMB 1 Tandy menu +MId.Fil RMB 1 Files Menu +MId.Edt RMB 1 Edit Menu +MId.Sty RMB 1 Styles menu +MId.Fnt RMB 1 Font menu + + +****************************************************************************** +****************************************************************************** +** ** +** NitrOS-9 Windowing system Global data definitions ** +** ** +****************************************************************************** +****************************************************************************** +** ** +** System memory block 0 layout: ** +** ** +** $0000-$0001 : FHL/Isted WD 1002-05 - interface base address ** +** $0002 : FHL/Isted WD 1002-05 - boot device physical drive # ** +** $0008 : Bruce Isted Serial mouse - button counter & rx count ** +** $0009-$000B : Bruce Isted Serial mouse - RX buffer ** +** $000C-$000D : Bruce Isted Serial mouse - Current X position ** +** $000E-$000F : Bruce Isted Serial mouse - Current Y position ** +** $0010-$001F : unused (User definable) ** +** $0020-$00FF : system direct page & some IRQ vectors ** +** $0100-$011F : Task usage table ** +** $0120-$01FF : Virtual DAT tasks (pointed to by 0 = YES) $1E +V.DevPar RMB 2 high bit=window device $1F +V.ULCase RMB 1 special key flags (Capslck & keyboard mouse) $21 +V.KySnsFlg RMB 1 flag for key sense setstat $22 +V.ScrChg RMB 1 screen change flag $23 +V.SSigID RMB 1 data ready process ID $24 +V.SSigSg RMB 1 data ready signal code $25 +V.MSigID RMB 1 mouse signal process ID $26 +V.MSigSg RMB 1 mouse signal signal code $27 +V.MSmpl RMB 1 mouse sample rate $28 +V.MTime RMB 1 mouse timeout value $29 + RMB 1 unused $2A +V.MAutoF RMB 1 auto follow mouse flag $2B +V.ParmCnt RMB 1 parameter count $2C +V.ParmVct RMB 2 parameter vector $2D +V.PrmStrt RMB 2 pointer to params start $2F +V.NxtPrm RMB 2 pointer to next param storage $31 +V.EndPtr RMB 1 last character read offset $33 +V.InpPtr RMB 1 next character read offset $34 +V.WinNum RMB 1 window table entry # $35 +V.DWNum RMB 1 dwnum from descriptor $36 +V.CallCde RMB 1 internal comod call code # $37 +CC3Parm RMB 128-. global parameter area +ReadBuf RMB 256-. read input buffer (keyboard) +CC3DSiz EQU . + +***************************************************************************** +* GrfInt/WindInt global memory area +* This area sits in system block 0 from $1000 to $10ff +WGlobal EQU $1000 useful value (points to address starting below) + ORG 0 +G.CurTik RMB 1 Constant - # Clock ticks/cursor updates (2) +G.CntTik RMB 1 Current tick count for cursor updates +G.GfBusy RMB 1 Grfdrv is busy flag (1=busy) +G.OrgAlt RMB 2 Place to store D.AltIRQ before altering +*g0003 rmb 2 NEW: UNUSED +g0005 RMB 2 Temp save in Windint RG +G.GrfStk RMB 2 grfdrv stack pointer ($07) +G.MonTyp RMB 1 monitor type +g000A EQU . Old label for compatibility +G.CrDvFl RMB 1 Are we current device flag (only set when all +* Parms have been moved to Dev Mem) +* 0=We are not on our device +* 1=We are the current device +* (Used by comod (GRF/WIND/VDGInt) to determine +* whether or not to update GIME regs themselves +* If not current device, they don't.) +G.WinType RMB 1 current device's V.TYPE +G.CurDvM RMB 2 current device memory pointer for co-module use +G.WIBusy RMB 1 WindInt is busy flag (1=busy) +G.AlPckt RMB 6 F$Alarm time packet +G.AlPID RMB 1 F$Alarm proc ID ($15) +G.AlSig RMB 1 F$Alarm signal code ($16) +G.BelVec RMB 2 BELL routine vector +G.DefPal RMB 2 pointer to default palette data in global mem +G.TnCnt RMB 1 SS.Tone duration counter +G.BelTnF RMB 1 BELL tone flag +g001D RMB 3 +G.CurDev RMB 2 current device's static memory pointer ($20) +G.PrWMPt RMB 2 previous window static mem pointer $(22) +G.BCFFlg RMB 1 bit coded co-module found flags ($24) +* 00000010 : VDGInt found +* 10000000 : GrfDrv found +g0025 RMB 1 +G.KTblLC RMB 1 Key table entry# last checked (1-3) +* IFEQ TC9-true +*CurLght rmb 1 current keyboard light settings +* ELSE +G.LastCh RMB 1 last keyboard character (ASCII value) +* ENDC +G.LKeyCd RMB 1 last keyboard code +G.KyRept RMB 1 key repeat counter +* A secondary 3 key table (same format as g002D below) +G.2Key1 RMB 1 $2A +G.2Key2 RMB 1 $2B +G.2Key3 RMB 1 +* Up to 3 keys can be registerd at once, and they are stored here. If more +* than 3 are hit, the last key is overwritten with the very last key down that +* was checked. Format for all three is the same as the PIA column/row byte @ +* KeyFlag below. +G.Key1 RMB 1 Key 1 being held down (Row/Column #) +G.Key2 RMB 1 Key 2 being held down (Row/Column #) +G.Key3 RMB 1 Key 3 being held down (Row/Column #) +G.ShftDn RMB 1 SHIFT key down flag (COM'd) ($30) +G.CntlDn RMB 1 CTRL key down flag (0=NO) +G.KeyFlg RMB 1 Keyboard PIA bit #'s for columns/rows +* %00000111-Column # (Output, 0-7) +* %00111000-Row # (Input, 0-6) +G.AltDwn RMB 1 ALT key down flag (0=NO) +G.KySns RMB 1 key sense byte +G.KySame RMB 1 same key flag +G.CapLok RMB 1 CapsLock/SysRq key down flag + RMB 1 +g0038 RMB 1 grfdrv initialized flag + RMB 2 +G.MSmpRt RMB 1 Current mouse sample # (# ticks till next read) +G.Mouse RMB Pt.Siz mouse packet ($3C) +g005C RMB 2 Temp for relative mouse X coord calculation +g005E RMB 2 Temp for relative mouse Y coord calculation +G.MSmpRV RMB 1 Mouse sample reset value (# ticks till next read) +G.KyDly RMB 1 initial key repeat delay constant ($61) +G.KySpd RMB 1 secondary key repeat delay constant +* IFEQ TC9-true +*KeyParm rmb 1 keyboard command parameter byte +* ELSE +G.KyMse RMB 1 keyboard mouse flag ($63) +* ENDC +G.Clear RMB 1 "one-shot" CapsLock/SysRq key flag ($64) +G.KyButt RMB 1 keyboard F1 and F2 "fire" button info ($65) +G.AutoMs RMB 1 Auto-follow mouse flag for current device (0=NO) +G.MseMv RMB 1 mouse moved flag ($67) +G.CoTble RMB 6 co-module table ($68) +G.GrfEnt RMB 2 GRFDRV Entry address ($6E) +g0070 RMB 1 # bytes to move in 1 block (1-72) +G.WUseTb RMB 4 windows in use bit table (0=unused, 32 windows) ($71) +G.GfxTbl RMB 2 Pointer to GFX tables ($75) +G.WrkWTb RMB $40 Work window table. WindInt only ($77) +g00B7 RMB 2 Current Device static mem ptr for WindInt +g00B9 RMB 2 Current window table ptr for WindInt +g00BB RMB 2 Pointer to work window table (g0077+$10) +g00BD RMB 1 Current screen type for work window table +g00BE RMB 1 Topmost overlay window # when check for title bars +g00BF RMB 1 Flag for keypress while processing menu select +g00C0 RMB 2 Ptr to current path descriptor +G.WindBk RMB 2 shift-clear routine vector +G.MsInit RMB 2 set mouse routine vector +G.MsSig RMB 1 mouse signal flag +G.DefPls RMB 16 Default palettes (2 repeats of 8 is default) ($C7) +g00D7 RMB 9 +G.KeyEnt RMB 2 entry to keydrv subroutine module ($E0) +G.KeyMem RMB 8 static memory for keydrv subroutine module +G.JoyEnt RMB 2 entry to joydrv subroutine module ($EA) +G.JoyMem RMB 8 static memory for joydrv subroutine module +G.SndEnt RMB 2 entry to snddrv subroutine module ($F4) +G.SndMem RMB 8 static memory for snddrv subroutine module + +***************************************************************************** +* GrfDrv global memory data definitions +* This area sits in system block 0 from $1100 to $119E +GrfMem EQU $1100 useful label used to point to mem starting below + ORG 0 +gr0000 RMB 1 Pixel mask for 1st byte of GP line +gr0001 RMB 1 Pixel mask for last byte of a GP line +gr0002 RMB 2 Ptr to table of bit masks for colors +gr0004 RMB 1 # of bytes wide GP buffer is (including partials) +gr0005 RMB 1 # pixels per byte in GP Buffer +gr0006 RMB 1 # of pixels used in 1st byte of GP buffer line +gr0007 RMB 1 # of pixels used in last byte of GP buffer line +gr0008 RMB 1 Bit mask that is common to both screen & GP buffer +gr0009 RMB 1 # bytes for width of overlay window +gr000A RMB 1 # bytes to offset to get to next line after +* overlay width has been copied +gr000B RMB 1 +gr000C RMB 2 Cursor address for proportional spacing? +gr000E RMB 1 +gr000F RMB 1 Left-based bit mask for proportional spacing? +gr0010 RMB 2 Vector for text to gfx screen (either prop. or normal) +gr0012 RMB 6 +gr0018 RMB 2 Working Center X coord for Circle/Ellipse +gr001A RMB 2 Working Center Y coord for Circle/Ellipse +gr001C RMB 2 Some variable for Circle/Ellipse (initially 0) +gr001E RMB 2 Working Y radius value for Circle/Ellipse +gr0020 RMB 2 Arc 'clip line' X01 +gr0022 RMB 2 Arc 'clip line' Y01 +gr0024 RMB 2 Arc 'clip line' X02 +gr0026 RMB 2 Arc 'clip line' Y02 +gr0028 RMB 1 full-byte background color to FFILL on mask +gr0029 RMB 1 pixels per byte: set up by FFILL +gr002A RMB 1 Flag for FFill: 1=no error, 0=Stack overflow error +gr002B RMB 1 current Y-direction to travel in FFILL +gr002C RMB 2 +gr002E RMB 2 current window table entry +gr0030 RMB 2 current screen table ptr +gr0032 RMB 1 Last block # we used for buffers +gr0033 RMB 2 Last offset we used for buffers +gr0035 RMB 1 group +gr0036 RMB 2 offset +gr0038 RMB 1 group returned (new) +gr0039 RMB 1 0=Text cursor inverted off, >0 is inverted on +gr003A RMB 1 0=Graphics cursor XOR'd off,>0 is XOR'd on scrn +gr003B RMB 2 end of vars ptr? +gr003D RMB 2 Last X coordinate Graphics cursor was ON at +gr003F RMB 2 Last Y coordinate Graphics cursor was ON at +gr0041 RMB 2 Screen address for start of current gfx cursor +gr0043 RMB 1 Pixel mask for start of gfx cursor +gr0044 RMB 1 Block # Graphics cursor is in +gr0045 RMB 2 Offset in block Graphics cursor is in +gr0047 RMB 2 'Working' X coordinate +gr0049 RMB 2 'Working' Y coordinate +gr004B RMB 2 current X +gr004D RMB 2 current Y +gr004F RMB 2 X Size (in bytes) +gr0051 RMB 2 Y Size (in bytes) +gr0053 RMB 2 Horizontal radius (circle/ellipse/arc) +gr0055 RMB 2 Vertical radius (circle/ellipse/arc) +gr0057 RMB 1 group +gr0058 RMB 1 buffer # +gr0059 RMB 1 save switch for overlay +gr005A RMB 1 PRN +gr005B RMB 2 X coordinate of Graphics cursor +gr005D RMB 2 Y coordinate of Graphics cursor +gr005F RMB 1 ATD: new video mode for 24/25/28-line windows +Gr.STYMk RMB 1 STY marker +gr0061 RMB 1 foreground RGB data +gr0062 RMB 1 background RGB data +gr0063 RMB 1 bytes/row (on current screen...not window) +gr0064 RMB 2 PSet vector +gr0066 RMB 2 pset offset +gr0068 RMB 2 LSet vector +gr006A RMB 2 max X co-ordinate +gr006C RMB 2 max Y co-ordinate +gr006E RMB 2 X pixel count +gr0070 RMB 2 Y pixel count +gr0072 RMB 2 Screen address of pixel we are doing +gr0074 RMB 1 Pixel mask for pixel we are doing +gr0075 RMB 2 ??? Pixel mask for last byte of GP buffer? +gr0077 RMB 2 Vector for right direction FFill +gr0079 RMB 1 bit mask for 1st pixel in byte for right dir. FFill +gr007A RMB 2 Vector for left direction FFill +gr007C RMB 1 bit mask for last pixel in byte for left dir. FFill +gr007D RMB 1 buffer block # +gr007E RMB 2 buffer offset # +gr0080 RMB 2 Buffer length (in bytes) +gr0082 RMB 3 3 byte extended screen address +gr0085 RMB 2 temp +gr0087 RMB 16 grfdrv (sysmap 1) DAT image +gr0097 RMB 1 temp +gr0098 RMB 1 temp +* In ARC, 97-98 is the width of the clip line in pixels (after scaling) +gr0099 RMB 2 temp +* In ARC, 99-9A is the height of the clip line in pixels (after scaling) +gr009B RMB 1 counter temp +gr009C RMB 1 +gr009D RMB 2 offset to buffer in block +gr009F RMB 1 +gr00A0 RMB 1 # lines left to do of GP buffer onto screen +gr00A1 RMB 2 vector routine for (changes lots) +* In ARC A1-A2 is the vector to the proper clipping routine +gr00A3 RMB 2 Vector for shifting GP buffers +gr00A5 RMB 2 Vector for shifting GP buffers (can dupe A1) +gr00A7 RMB 2 +gr00A9 RMB 2 NEW: Window tbl ptr for last window GRFDRV used +grBigFnt RMB 2 Flag for 224 char font/gfx mode on (0=No) V2.00a +gr00AD RMB 2 FFill:orig. start X coord|Circ/Ell saved start X +gr00AF RMB 2 FFill:orig. start Y coord|Circ/Ell saved end X +gr00B1 RMB 1 Flag in FFill: 1=1st time through, 0=not 1st time +gr00B2 RMB 1 Filled (circle,ellipse) flag 0=Not filled +*gr00B3 rmb 256-. ??? UNUSED +gr00B3 RMB 1 temp veriable grfdrv +gr00B4 RMB 1 temp veriable grfdrv +gr00B5 RMB 1 regW for grfdrv +gr00B6 RMB 1 +gr00B7 RMB 2 +gr00B9 RMB 2 previously used in grfdrv at $B2 but not for Filled Flag +gr00BB RMB 2 previously used in grfdrv at $B4 +gr00BD RMB 2 previously used in grfdrv at $B6 +gr00BF RMB 256-. +* GPLoad buffer - $1200 in system block 0 +GPBuf RMB 72 common move buffer for gpload/get/put +gb0000 EQU 72 Size of get/put buffer ($48) + +***************************************************************************** +* Window table entry structure +* These tables sit in system block 0 and there is 1 for every window init'd +* including any overlay windows. +MaxWind EQU 32 maximum allowable window tables +WinBase EQU $1290 base address to start of window tables + ORG -$10 +Wt.STbl RMB 2 Screen table pointer ($FFFF=Not used) -$10 +Wt.BLnk RMB 1 overlay window parent entry # ($FF=base) -$0E +Wt.LStrt RMB 2 screen logical start address -$0D +Wt.CPX RMB 1 current X coord. start -$0B +Wt.CPY RMB 1 current Y coord. start -$0A +Wt.SZX RMB 1 current X size (CWArea) -$09 +Wt.SZY RMB 1 current Y size (CWArea) -$08 +Wt.SXFct RMB 1 X scaling factor -$07 +Wt.SYFct RMB 1 Y scaling factor (0=no scaling) -$06 +Wt.Cur RMB 2 cursor physical address on screen -$05 +Wt.FMsk RMB 1 font bit mask (based from left) -$03 +Wt.CurX RMB 2 X coord of cursor -$02 +Wt.CurY RMB 2 Y Coord of cursor $00 +Wt.XBCnt RMB 1 width of window (in bytes) $02 +Wt.CWTmp RMB 1 bytes wide each text chr (1,2,4) $03 +Wt.BRow RMB 2 bytes/text row (8x width in gfx) $04 +Wt.Fore RMB 1 foreground palette # $06 +Wt.Back RMB 1 background palette # $07 +Wt.Attr RMB 1 default attributes (FUTTTBBB) $08 +Wt.BSW RMB 1 character BSW switches $09 +Wt.LSet RMB 1 LSet type $0A +Wt.FBlk RMB 1 Font memory block # $0B +Wt.FOff RMB 2 Font offset in block $0C +Wt.PBlk RMB 1 PSet memory block # $0E +Wt.POff RMB 2 PSet offset in block $0F +Wt.OBlk RMB 1 Overlay memory block # $11 +Wt.OOff RMB 2 Overlay offset in block $12 +Wt.LVec RMB 2 LSet vector $14 +Wt.PVec RMB 2 PSet vector $16 +Wt.GBlk RMB 1 GCursor memory block # $18 +Wt.GOff RMB 2 GCursor offset in block $19 +Wt.MaxX RMB 2 Maximum X cord. (0-79,0-639) $1B +Wt.MaxY RMB 2 Maximum Y cord. (0-24,0-191) $1D +Wt.BLen RMB 2 bytes left in GPLoad block below $1F +Wt.NBlk RMB 1 memory block # for next GPLoad $21 +Wt.NOff RMB 2 Offset in block for next GPLoad $22 +Wt.LStDf RMB 2 screen logical start default $24 +* NOTE: The following default settings are what the window was initialized +* with, and thus are the MAXIMUM start/size the window can handle +* until it is restarted (DWEnd & DWSet) +* They also appear to be used in WindInt to determine the coords & +* sizes for control+content regions +Wt.DfCPX RMB 1 default X cord. start $26 +Wt.DfCPY RMB 1 default Y cord. start $27 +Wt.DfSZX RMB 1 default X size $28 +Wt.DfSZY RMB 1 default Y size $29 +Wt.Res RMB 6 unused $2A-$2F +Wt.Siz EQU .+$10 + +***************************************************************************** +* Screen table entrys +* These tables sit in system block 0 base=$1A80 + +STblMax EQU 16 Maximum number of screen tables +STblBse EQU $1A80 base address of screen tables + ORG 0 +St.Sty RMB 1 Screen type $00 +St.SBlk RMB 1 Ram block start # $01 +St.LStrt RMB 2 Screen logical start (for GIME) $02 +St.BRow RMB 1 Bytes per row $04 +St.Brdr RMB 1 Border palette register # $05 +St.Fore RMB 1 Foreground palette register # $06 +St.Back RMB 1 Background palette register # $07 +St.ScSiz RMB 1 screen size: 24..28 lines $08 +St.Res RMB 7 UNUSED??? $09 +* NOTE: SHOULD USE ONE OF THESE UNUSED BYTES TO KEEP THE # OF DEVICE WINDOW +* TABLES THAT ARE USING THIS SCREEN TABLE. DWSET & DWEND WOULD KEEP TRACK OF +* THESE, AND THE WINDINT TITLE BAR ROUTINE WOULD CHECK IT. IF IT IS ONLY 1, +* IT WON'T BOTHER CHANGING THE TITLE BAR WHEN SELECTING WINDOWS +St.Pals RMB 16 Palette register contents $10 +St.Siz EQU . + +***************************************************************************** +* Graphics buffer tables +* They contain a 20 byte header (shown below), followed by the raw pixel +* data. + ORG 0 +Grf.Bck RMB 1 back block link # $00 +Grf.Off RMB 2 back block header offset $01 +Grf.Grp RMB 1 group # $03 +Grf.Buff RMB 1 buffer # $04 +Grf.BSz RMB 2 buffer size (not including header) $05 +Grf.XSz RMB 2 X size (in pixels) $07 +Grf.YSz RMB 2 Y size (in pixels/bytes) $09 +Grf.XBSz RMB 1 X size in bytes $0B +Grf.LfPx RMB 1 # pixels used in first byte of line $0C +Grf.RtPx RMB 1 # pixels used in last byte of line $0D +Grf.STY RMB 1 Screen type buffer intended for $0E +Grf.NBlk RMB 1 number blocks used $0F +Grf.Pal RMB 16 Copy of palette registers? $10 +Grf.Siz EQU . $20 + +***************************************************************************** +* GFX tables (1 for each window, 18 ($12) bytes each) pointed to by +* $1075-$0176 +* GRFINT only uses gt0001-gt0004, the rest is exclusive to WINDINT + ORG 0 +Gt.WTyp RMB 1 WindInt window type (Framed, Scroll Bar, etc.) $00 +Gt.GXCur RMB 2 X coord of graphics cursor $01 +Gt.GYCur RMB 2 Y coord of graphics cursor $03 +Gt.DPtr RMB 2 Ptr to WindInt window descriptor $05 +Gt.FClr RMB 1 Foreground color $07 +Gt.BClr RMB 1 Background color $08 +Gt.FMsk RMB 1 Foreground mask $09 +Gt.BMsk RMB 1 Background mask $0A +Gt.GBlk RMB 1 Block # of graphics cursor $0B +Gt.GOff RMB 2 Offset into block of graphics cursor $0C +Gt.Proc RMB 1 Process # of window creator $0E +Gt.PBlk RMB 1 Process descriptor block # of creator $0F +Gt.Res RMB 2 ??? RESERVED ??? $10 +GTabSz EQU . + +***************************************************************************** +* This table is located in the graphics table memory and is offset from +* graphics table pointer stored at $1075-$1076. This is used exclusively by +* WindInt. +* NOTE: USING UNUSED BYTES IN CC3 GLOBAL MEM, SET UP SEPARATE PTRS FOR EACH +* OF THE BELOW SO WE CAN SPEED UP ACCESS BY NOT HAVING TO DO A LOAD/LEAx +* COMBINATION EVERY TIME + ORG $0240 + RMB WN.SIZ copy of last accessed window descriptor + RMB MN.SIZ copy of last accessed menu descriptor + RMB MI.SIZ copy of last accessed item descriptor + RMB 65 menu handling table (16 entrys of 4 bytes) + +***************************************************************************** +* WindInt menu handling table entry definition + ORG 0 +MnuXNum RMB 1 menu # +MnuXStrt RMB 1 X start text co-ordinate +MnuXEnd RMB 1 X end text co-ordinate + RMB 1 unused? +MnuHSiz EQU . + +***************************************************************************** +* Character binary switches +TChr EQU %10000000 transparent characters +Under EQU %01000000 underline characters +Bold EQU %00100000 bold characters +Prop EQU %00010000 proportional spacing of characters +Scale EQU %00001000 automatic window scaling +Invers EQU %00000100 inverse characters +NoCurs EQU %00000010 no cursor display +Protect EQU %00000001 device window protection + +***************************************************************************** +* Screen types (high bit set=hardware text, else graphics) in GRFDRV +Current EQU $ff Current screen +* equ 1 640x200x2 +* equ 2 320x200x4 +* equ 3 640x200x4 +* equ 4 320x200x16 +* equ $85 80 column text +* equ $86 40 column text + +************************************* +* Window default palette color codes +* + ORG 0 +White. RMB 1 +Blue. RMB 1 +Black. RMB 1 +Green. RMB 1 +Red. RMB 1 +Yellow. RMB 1 +Magenta. RMB 1 +Cyan. RMB 1 + + ENDC + ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/dgndefs --- a/defs/dgndefs Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,182 +0,0 @@ - IFNE DGNDEFS-1 - -DGNDEFS set 1 - -******************************************************************** -* DgnDefs - Dragon I/O Definitions -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 2004/11/16 P.Harvey-Smith. -* Fixed the stupid error I made in the defines below that made all the -* non DPxxxxx defines equal to FF00 !!! -* -* 2005/04/14 P.Harvey-Smith -* Added non DP defines for ACIA on Dragon 64/Alpha -* -* 2005/04/21 P.Harvey-Smith -* Fixed errors in defines for WD2797 non-DP registers. -* - - nam DgnDefs - ttl Dragon I/O Definitions - -******************** -* VTIO Static Memory -* -* Definitions for ports on Dragon 32/64/Alpha. -* -* -IO equ $ff00 IO page on Dragon - -* -* Most of these symbols will be defined twice, as some -* of the Dragon code, sets DP=$FF, and uses direct page -* addressing to access the io ports, whilst some of it -* uses absolute addressing. -* The versions starting DP must be used with DP=$FF. -* - -* PIA 0 and 1 standard on all Dragons. -DPPIA0DA EQU $00 Side A Data/DDR -DPPIA0CRA EQU $01 Side A Control. -DPPIA0DB EQU $02 Side B Data/DDR -DPPIA0CRB EQU $03 Side B Control. - -PIA0DA EQU DPPIA0DA+IO Side A Data/DDR -PIA0CRA EQU DPPIA0CRA+IO Side A Control. -PIA0DB EQU DPPIA0DB+IO Side A Data/DDR -PIA0CRB EQU DPPIA0CRB+IO Side A Control. - -DPPIA1DA EQU $20 Side A Data/DDR -DPPIA1CRA EQU $21 Side A Control. -DPPIA1DB EQU $22 Side B Data/DDR -DPPIA1CRB EQU $23 Side B Control. - -PIA1DA EQU DPPIA1DA+IO Side A Data/DDR -PIA1CRA EQU DPPIA1CRA+IO Side A Control. -PIA1DB EQU DPPIA1DB+IO Side A Data/DDR -PIA1CRB EQU DPPIA1CRB+IO Side A Control. - -* Dragon Alpha has a third PIA at $FF24. -DPPIA2DA EQU $24 Side A Data/DDR -DPPIA2CRA EQU $25 Side A Control. -DPPIA2DB EQU $26 Side B Data/DDR -DPPIA2CRB EQU $27 Side B Control. - -PIA2DA EQU DPPIA2DA+IO Side A Data/DDR -PIA2CRA EQU DPPIA2CRA+IO Side A Control. -PIA2DB EQU DPPIA2DB+IO Side A Data/DDR -PIA2CRB EQU DPPIA2CRB+IO Side A Control. - -* WD2797 Floppy disk controler, used in Alpha Note registers in reverse order ! -DPCmdRegA EQU $2F command/status -DPTrkRegA EQU $2E Track register -DPSecRegA EQU $2D Sector register -DPDataRegA EQU $2C Data register - -CmdRegA EQU DPCMDREGA+IO command/status -TrkRegA EQU DPTRKREGA+IO Track register -SecRegA EQU DPSECREGA+IO Sector register -DataRegA EQU DPDATAREGA+IO Data register - -* Constants for Alpha AY-8912 sound chip, which is used to control -* Drive select and motor on the Alpha -AYIOREG EQU $0E AY-8912, IO Register number. -AYIdle EQU $00 Make AY Idle. -AYWriteReg EQU $01 Write AY Register -AYReadReg EQU $02 Read AY Register -AYREGLatch EQU $03 Latch register into AY - -DSMask EQU $03 Drive select mask. -MotorMask EQU $04 Motor enable mask -DDENMask EQU $08 DDEN Mask -ENPMask EQU $10 Enable Precomp mask -NMIMask EQU $20 NMI enable Mask - -* Dragon 64/Alpha Serial port. -DPAciaData EQU $04 ACIA Rx/Tx Register -DPAciaStat EQU $05 ACIA status register -DPAciaCmd EQU $06 ACIA command register -DPAciaCtrl EQU $07 ACIA control register - -AciaData EQU DPAciaData+IO ACIA Rx/Tx Register -AciaStat EQU DPAciaStat+IO ACIA status register -AciaCmd EQU DPAciaCmd+IO ACIA command register -AciaCtrl EQU DPAciaCtrl+IO ACIA control register - -* DragonDos Cartrage IO for WD2797 -* WD2797 Floppy disk controler, used in DragonDos. -DPCmdRegD EQU $40 command/status -DPTrkRegD EQU $41 Track register -DPSecRegD EQU $42 Sector register -DPDataRegD EQU $43 Data register - -CmdRegD EQU DPCMDREGD+IO command/status -TrkRegD EQU DPTRKREGD+IO Track register -SecRegD EQU DPSECREGD+IO Sector register -DataRegD EQU DPDATAREGD+IO Data register - -DPDSKCTL EQU $48 Disk DS/motor control reg -DSKCTL EQU DPDSKCTL+IO - -* Disk IO bitmasks (DragonDos). -NMIEnD EQU %00100000 -WPCEnD EQU %00010000 -SDensEnD EQU %00001000 -MotorOnD EQU %00000100 -Drive0D EQU %00000000 -Drive1D EQU %00000001 -Drive2D EQU %00000010 -Drive3D EQU %00000011 -DDosDriveMask EQU %00000011 Mask out all non drive select bits -DDosCtrlMask EQU %11111100 Mask in all non drive select bits - - -* Disk IO bitmasks (Dragon Alpha). -PIANMIEnA EQU %00001000 PIA2, CA2, used to enable/disable NMI -PIANMIDisA EQU %11110111 Bitmask to force CA2 off, and disable NMI - -NMIEnA EQU %10000000 Flag to enable disable NMI, passed to AlphaDskCtl -WPCEnA EQU %01000000 According to circuit trace by R.Harding. -SDensEnA EQU %00100000 DDen, from circuit trace on R.Harding's machine. -MotorOnA EQU %00010000 -Drive0A EQU %00000001 -Drive1A EQU %00000010 -Drive2A EQU %00000100 -Drive3A EQU %00001000 -AlphaDrvMask EQU %00001111 Mask out all non drive select bits -AlphaCtrlMask EQU %11110000 Mask in all non drive select bits - -Mask58 EQU %01111111 And mask to make sure 5.25" clock selected by WD2797 - -NMICA2En EQU $3C Value for PIA CRA to enable NMI -NMICA2Dis EQU $34 Value for PIA CRA to disable NMI - -* Disk Commands -FrcInt EQU %11010000 -ReadCmnd EQU %10001000 -RestCmnd EQU %00000000 -SeekCmnd EQU %00010000 -StpICmnd EQU %01000000 -WritCmnd EQU %10101000 -WtTkCmnd EQU %11110000 -Sid2Sel EQU %00000010 - -* Disk Status Bits -BusyMask EQU %00000001 -LostMask EQU %00000100 -ErrMask EQU %11111000 -CRCMask EQU %00001000 -RNFMask EQU %00010000 -RTypMask EQU %00100000 -WPMask EQU %01000000 -NotRMask EQU %10000000 - -DensMask EQU %00000001 -T80Mask EQU %00000010 - - ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/dragon.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/dragon.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,223 @@ + IFNE DRAGON.D-1 +DRAGON.D set 1 + +******************************************************************** +* DgnDefs - Dragon I/O Definitions +* +* $Id$ +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 2004/11/16 P.Harvey-Smith. +* Fixed the stupid error I made in the defines below that made all the +* non DPxxxxx defines equal to FF00 !!! +* +* 2005/04/14 P.Harvey-Smith +* Added non DP defines for ACIA on Dragon 64/Alpha +* +* 2005/04/21 P.Harvey-Smith +* Fixed errors in defines for WD2797 non-DP registers. +* + + nam DgnDefs + ttl Dragon I/O Definitions + +************************************************* +* +* NitrOS-9 Level 1 Section +* +************************************************* + +HW.Page SET $FF Device descriptor hardware page + +********************************** +* Power Line Frequency Definitions +* +Hz50 EQU 1 Assemble clock for 50 hz power +Hz60 EQU 2 Assemble clock for 60 hz power +PwrLnFrq SET Hz60 Set to Appropriate freq + + +********************************** +* Ticks per second +* + IFEQ PwrLnFrq-Hz50 +TkPerSec SET 50 + ELSE +TkPerSec SET 60 + ENDC + + +**************************************** +* Special character Bit position equates +* +SHIFTBIT EQU %00000001 +CNTRLBIT EQU %00000010 +ALTERBIT EQU %00000100 +UPBIT EQU %00001000 +DOWNBIT EQU %00010000 +LEFTBIT EQU %00100000 +RIGHTBIT EQU %01000000 +SPACEBIT EQU %10000000 + +******************** +* VTIO Static Memory +* +* Definitions for ports on Dragon 32/64/Alpha. +* +* +IO equ $ff00 IO page on Dragon + +* +* Most of these symbols will be defined twice, as some +* of the Dragon code, sets DP=$FF, and uses direct page +* addressing to access the io ports, whilst some of it +* uses absolute addressing. +* The versions starting DP must be used with DP=$FF. +* + +* PIA 0 and 1 standard on all Dragons. +DPPIA0DA EQU $00 Side A Data/DDR +PIA0Base EQU DPPIA0DA +DPPIA0CRA EQU $01 Side A Control. +DPPIA0DB EQU $02 Side B Data/DDR +DPPIA0CRB EQU $03 Side B Control. + +PIA0DA EQU DPPIA0DA+IO Side A Data/DDR +PIA0CRA EQU DPPIA0CRA+IO Side A Control. +PIA0DB EQU DPPIA0DB+IO Side A Data/DDR +PIA0CRB EQU DPPIA0CRB+IO Side A Control. + +DPPIA1DA EQU $20 Side A Data/DDR +PIA1Base EQU DPPIA1DA +DPPIA1CRA EQU $21 Side A Control. +DPPIA1DB EQU $22 Side B Data/DDR +DPPIA1CRB EQU $23 Side B Control. + +PIA1DA EQU DPPIA1DA+IO Side A Data/DDR +PIA1CRA EQU DPPIA1CRA+IO Side A Control. +PIA1DB EQU DPPIA1DB+IO Side A Data/DDR +PIA1CRB EQU DPPIA1CRB+IO Side A Control. + +* Dragon Alpha has a third PIA at $FF24. +DPPIA2DA EQU $24 Side A Data/DDR +DPPIA2CRA EQU $25 Side A Control. +DPPIA2DB EQU $26 Side B Data/DDR +DPPIA2CRB EQU $27 Side B Control. + +PIA2DA EQU DPPIA2DA+IO Side A Data/DDR +PIA2CRA EQU DPPIA2CRA+IO Side A Control. +PIA2DB EQU DPPIA2DB+IO Side A Data/DDR +PIA2CRB EQU DPPIA2CRB+IO Side A Control. + +* WD2797 Floppy disk controler, used in Alpha Note registers in reverse order ! +DPCmdRegA EQU $2F command/status +DPTrkRegA EQU $2E Track register +DPSecRegA EQU $2D Sector register +DPDataRegA EQU $2C Data register + +CmdRegA EQU DPCMDREGA+IO command/status +TrkRegA EQU DPTRKREGA+IO Track register +SecRegA EQU DPSECREGA+IO Sector register +DataRegA EQU DPDATAREGA+IO Data register + +DPort SET $DataRegA Disk controller base address + +* Constants for Alpha AY-8912 sound chip, which is used to control +* Drive select and motor on the Alpha +AYIOREG EQU $0E AY-8912, IO Register number. +AYIdle EQU $00 Make AY Idle. +AYWriteReg EQU $01 Write AY Register +AYReadReg EQU $02 Read AY Register +AYREGLatch EQU $03 Latch register into AY + +DSMask EQU $03 Drive select mask. +MotorMask EQU $04 Motor enable mask +DDENMask EQU $08 DDEN Mask +ENPMask EQU $10 Enable Precomp mask +NMIMask EQU $20 NMI enable Mask + +* Dragon 64/Alpha Serial port. +DPAciaData EQU $04 ACIA Rx/Tx Register +DPAciaStat EQU $05 ACIA status register +DPAciaCmd EQU $06 ACIA command register +DPAciaCtrl EQU $07 ACIA control register + +AciaData EQU DPAciaData+IO ACIA Rx/Tx Register +AciaStat EQU DPAciaStat+IO ACIA status register +AciaCmd EQU DPAciaCmd+IO ACIA command register +AciaCtrl EQU DPAciaCtrl+IO ACIA control register + +* DragonDos Cartrage IO for WD2797 +* WD2797 Floppy disk controler, used in DragonDos. +DPCmdRegD EQU $40 command/status +DPTrkRegD EQU $41 Track register +DPSecRegD EQU $42 Sector register +DPDataRegD EQU $43 Data register + +CmdRegD EQU DPCMDREGD+IO command/status +TrkRegD EQU DPTRKREGD+IO Track register +SecRegD EQU DPSECREGD+IO Sector register +DataRegD EQU DPDATAREGD+IO Data register + +DPDSKCTL EQU $48 Disk DS/motor control reg +DSKCTL EQU DPDSKCTL+IO + +* Disk IO bitmasks (DragonDos). +NMIEnD EQU %00100000 +WPCEnD EQU %00010000 +SDensEnD EQU %00001000 +MotorOnD EQU %00000100 +Drive0D EQU %00000000 +Drive1D EQU %00000001 +Drive2D EQU %00000010 +Drive3D EQU %00000011 +DDosDriveMask EQU %00000011 Mask out all non drive select bits +DDosCtrlMask EQU %11111100 Mask in all non drive select bits + + +* Disk IO bitmasks (Dragon Alpha). +PIANMIEnA EQU %00001000 PIA2, CA2, used to enable/disable NMI +PIANMIDisA EQU %11110111 Bitmask to force CA2 off, and disable NMI + +NMIEnA EQU %10000000 Flag to enable disable NMI, passed to AlphaDskCtl +WPCEnA EQU %01000000 According to circuit trace by R.Harding. +SDensEnA EQU %00100000 DDen, from circuit trace on R.Harding's machine. +MotorOnA EQU %00010000 +Drive0A EQU %00000001 +Drive1A EQU %00000010 +Drive2A EQU %00000100 +Drive3A EQU %00001000 +AlphaDrvMask EQU %00001111 Mask out all non drive select bits +AlphaCtrlMask EQU %11110000 Mask in all non drive select bits + +Mask58 EQU %01111111 And mask to make sure 5.25" clock selected by WD2797 + +NMICA2En EQU $3C Value for PIA CRA to enable NMI +NMICA2Dis EQU $34 Value for PIA CRA to disable NMI + +* Disk Commands +FrcInt EQU %11010000 +ReadCmnd EQU %10001000 +RestCmnd EQU %00000000 +SeekCmnd EQU %00010000 +StpICmnd EQU %01000000 +WritCmnd EQU %10101000 +WtTkCmnd EQU %11110000 +Sid2Sel EQU %00000010 + +* Disk Status Bits +BusyMask EQU %00000001 +LostMask EQU %00000100 +ErrMask EQU %11111000 +CRCMask EQU %00001000 +RNFMask EQU %00010000 +RTypMask EQU %00100000 +WPMask EQU %01000000 +NotRMask EQU %10000000 + +DensMask EQU %00000001 +T80Mask EQU %00000010 + + ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/drivewire.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/drivewire.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,94 @@ + IFNE DRIVEWIRE.D-1 +DRIVEWIRE.D SET 1 +******************************************************************** +* drivewire.d - DriveWire Definitions File +* +* $Id$ +* +* Ed. Comments Who YY/MM/DD +* ------------------------------------------------------------------ +* 1 Started BGP 03/04/03 +* 2 Added DWGLOBS area BGP 09/12/27 + + nam drivewire.d + ttl DriveWire Definitions File + +* Addresses +BBOUT equ $FF20 +BBIN equ $FF22 + +* Opcodes +OP_NOP equ $00 No-Op +OP_RESET1 equ $FE Server Reset +OP_RESET2 equ $FF Server Reset +OP_RESET3 equ $F8 Server Reset +OP_DWINIT equ 'Z DriveWire dw3 init/OS9 boot +OP_TIME equ '# Current time requested +OP_INIT equ 'I Init routine called +OP_READ equ 'R Read one sector +OP_REREAD equ 'r Re-read one sector +OP_READEX equ 'R+128 Read one sector +OP_REREADEX equ 'r+128 Re-read one sector +OP_WRITE equ 'W Write one sector +OP_REWRIT equ 'w Re-write one sector +OP_GETSTA equ 'G GetStat routine called +OP_SETSTA equ 'S SetStat routine called +OP_TERM equ 'T Term routine called +OP_SERINIT equ 'E +OP_SERTERM equ 'E+128 + +* Printer opcodes +OP_PRINT equ 'P Print byte to the print buffer +OP_PRINTFLUSH equ 'F Flush the server print buffer + +* Serial opcodes +OP_SERREAD equ 'C +OP_SERREADM equ 'c +OP_SERWRITE equ 'C+128 +OP_SERGETSTAT equ 'D +OP_SERSETSTAT equ 'D+128 + +* for dw vfm +OP_VFM equ 'V+128 + +* WireBug opcodes (Server-initiated) +OP_WIREBUG_MODE equ 'B +* WireBug opcodes (Server-initiated) +OP_WIREBUG_READREGS equ 'R Read the CoCo's registers +OP_WIREBUG_WRITEREGS equ 'r Write the CoCo's registers +OP_WIREBUG_READMEM equ 'M Read the CoCo's memory +OP_WIREBUG_WRITEMEM equ 'm Write the CoCo's memory +OP_WIREBUG_GO equ 'G Tell CoCo to get out of WireBug mode and continue execution + +* VPort opcodes (CoCo-initiated) +OP_VPORT_READ equ 'V +OP_VPORT_WRITE equ 'v + +* Error definitions +E_CRC equ $F3 Same as NitrOS-9 E$CRC + +* DW Globals Page Definitions (must be 256 bytes max) +DW.StatCnt equ 15 + org $00 +DW.StatTbl rmb DW.StatCnt page pointers for terminal device static storage +DW.VIRQPkt rmb Vi.PkSz +DW.VIRQNOP rmb 1 + +* SCF Multi Terminal Driver Definitions + + org V.SCF ;V.SCF: free memory for driver to use +SSigID rmb 1 ;process ID for signal on data ready +SSigSg rmb 1 ;signal on data ready code +RxDatLen rmb 1 ;current length of data in Rx buffer +RxBufSiz rmb 1 ;Rx buffer size +RxBufEnd rmb 2 ;end of Rx buffer +RxBufGet rmb 2 ;Rx buffer output pointer +RxBufPut rmb 2 ;Rx buffer input pointer +RxGrab rmb 1 ;bytes to grab in multiread +RxBufPtr rmb 2 ;pointer to Rx buffer +RxBufDSz equ 256-. ;default Rx buffer gets remainder of page... +RxBuff rmb RxBufDSz ;default Rx buffer +SCFDrvMemSz equ . + + ENDC + diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/dwdefs.d --- a/defs/dwdefs.d Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,89 +0,0 @@ -******************************************************************** -* dwdefs - DriveWire Definitions File -* -* $Id$ -* -* Ed. Comments Who YY/MM/DD -* ------------------------------------------------------------------ -* 1 Started BGP 03/04/03 -* 2 Added DWGLOBS area BGP 09/12/27 - - nam dwdefs - ttl DriveWire Definitions File - -* Addresses -BBOUT equ $FF20 -BBIN equ $FF22 - -* Opcodes -OP_NOP equ $00 No-Op -OP_RESET1 equ $FE Server Reset -OP_RESET2 equ $FF Server Reset -OP_RESET3 equ $F8 Server Reset -OP_DWINIT equ 'Z DriveWire dw3 init/OS9 boot -OP_TIME equ '# Current time requested -OP_INIT equ 'I Init routine called -OP_READ equ 'R Read one sector -OP_REREAD equ 'r Re-read one sector -OP_READEX equ 'R+128 Read one sector -OP_REREADEX equ 'r+128 Re-read one sector -OP_WRITE equ 'W Write one sector -OP_REWRIT equ 'w Re-write one sector -OP_GETSTA equ 'G GetStat routine called -OP_SETSTA equ 'S SetStat routine called -OP_TERM equ 'T Term routine called -OP_SERINIT equ 'E -OP_SERTERM equ 'E+128 - -* Printer opcodes -OP_PRINT equ 'P Print byte to the print buffer -OP_PRINTFLUSH equ 'F Flush the server print buffer - -* Serial opcodes -OP_SERREAD equ 'C -OP_SERREADM equ 'c -OP_SERWRITE equ 'C+128 -OP_SERGETSTAT equ 'D -OP_SERSETSTAT equ 'D+128 - -* for dw vfm -OP_VFM equ 'V+128 - -* WireBug opcodes (Server-initiated) -OP_WIREBUG_MODE equ 'B -* WireBug opcodes (Server-initiated) -OP_WIREBUG_READREGS equ 'R Read the CoCo's registers -OP_WIREBUG_WRITEREGS equ 'r Write the CoCo's registers -OP_WIREBUG_READMEM equ 'M Read the CoCo's memory -OP_WIREBUG_WRITEMEM equ 'm Write the CoCo's memory -OP_WIREBUG_GO equ 'G Tell CoCo to get out of WireBug mode and continue execution - -* VPort opcodes (CoCo-initiated) -OP_VPORT_READ equ 'V -OP_VPORT_WRITE equ 'v - -* Error definitions -E_CRC equ $F3 Same as NitrOS-9 E$CRC - -* DW Globals Page Definitions (must be 256 bytes max) -DW.StatCnt equ 15 - org $00 -DW.StatTbl rmb DW.StatCnt page pointers for terminal device static storage -DW.VIRQPkt rmb Vi.PkSz -DW.VIRQNOP rmb 1 - -* SCF Multi Terminal Driver Definitions - - org V.SCF ;V.SCF: free memory for driver to use -SSigID rmb 1 ;process ID for signal on data ready -SSigSg rmb 1 ;signal on data ready code -RxDatLen rmb 1 ;current length of data in Rx buffer -RxBufSiz rmb 1 ;Rx buffer size -RxBufEnd rmb 2 ;end of Rx buffer -RxBufGet rmb 2 ;Rx buffer output pointer -RxBufPut rmb 2 ;Rx buffer input pointer -RxGrab rmb 1 ;bytes to grab in multiread -RxBufPtr rmb 2 ;pointer to Rx buffer -RxBufDSz equ 256-. ;default Rx buffer gets remainder of page... -RxBuff rmb RxBufDSz ;default Rx buffer -SCFDrvMemSz equ . diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/ide.d --- a/defs/ide.d Fri Feb 24 06:41:48 2012 -0600 +++ b/defs/ide.d Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,5 @@ + IFNE IDE.D-1 +IDE.D SET 1 ******************************************************************** * ide.d - IDE definitions * @@ -53,3 +55,6 @@ IFNE IDE SDAddr SET $FF50 ENDC + + ENDC + diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/os9.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/os9.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,1293 @@ + IFNE OS9.D-1 + +OS9.D SET 1 + +******************************************************************** +* os9.d - NitrOS-9 System Definitions +* +* $Id$ +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 1985/08/29 KMZ +* Fixed DT.SBF/NFM values to 3/4 +* +* 1985/09/01 KMZ +* Added SS.FDInf, SS.Attr to accept 68K request thru NET. +* +* 1985/09/03 KMZ/Robert F. Doggett +* Eliminated E$BPrcID, made Error #238 become E$DNE for +* 68000 compatability. +* +* 1986/04/15 Mark G. Hawkins +* F$AlHRAM System call added for COCO. +* +* 1986/09/08 Mark G. Hawkins +* F$Alarm for COCO Clock Module. +* +* 1986/09/17 Mark G. Hawkins +* SS.Tone For COCO. +* +* 1986/09/23 Mark G. Hawkins +* Added F$NMLink and F$NMLoad for COCO. +* +* 1986/09/30 Mark G. Hawkins +* Added Reserved User $70 to $7f in sytem calls. +* +* 1986/09/30 Mark G. Hawkins +* Created Color Computer 3 Version of OS9Defs. +* +* 1998/10/03 Boisy G. Pitre +* Consoldated Level 1/Level 2 os9defs. +* +* 2002/04/04 Boisy G. Pitre +* Consoldated Level 2/Level 2 V3 os9defs. +* +* 2002/04/30 Boisy G. Pitre +* Added NitrOS-9 definitions. +* +* 2003/05/30 Boisy G. Pitre +* Added WD1002 sys vars to Level One section. +* +* 2003/06/02 Boisy G. Pitre +* Fixed incorrectly ordered D.X*** system globals for OS-9 Level One and +* changed the sizes from 2 to 3 bytes. +* DT.NFM is now the same for both Level One and Level Two. +* Added DT.CDFM type for future CD-ROM file manager +* +* 2003/11/05 Robert Gault +* Fixed MouseInf. Made it rmb 2 as it should be. Also changes to init and cc3io. +* +* 2005/11/02 P.Harvey-Smith +* Added definitions for boot areas on Dragon computers. +* +* 2006/03/03 Boisy G. Pitre +* Added F$Debug and D.DbgMem areas, common to all levels of NitrOS-9 + + NAM os9.d + IFEQ Level-1 + TTL NitrOS-9 Level 1 System Symbol Definitions + ELSE + IFEQ Level-2 + TTL NitrOS-9 Level 2 System Symbol Definitions + ELSE + TTL NitrOS-9 Level 3 System Symbol Definitions + ENDC + ENDC + +* Common definitions +true EQU 1 useful name +false EQU 0 useful name + + PAG +***************************************** +* System Service Request Code Definitions +* + ORG 0 +F$Link RMB 1 Link to Module +F$Load RMB 1 Load Module from File +F$UnLink RMB 1 Unlink Module +F$Fork RMB 1 Start New Process +F$Wait RMB 1 Wait for Child Process to Die +F$Chain RMB 1 Chain Process to New Module +F$Exit RMB 1 Terminate Process +F$Mem RMB 1 Set Memory Size +F$Send RMB 1 Send Signal to Process +F$Icpt RMB 1 Set Signal Intercept +F$Sleep RMB 1 Suspend Process +F$SSpd RMB 1 Suspend Process +F$ID RMB 1 Return Process ID +F$SPrior RMB 1 Set Process Priority +F$SSWI RMB 1 Set Software Interrupt +F$PErr RMB 1 Print Error +F$PrsNam RMB 1 Parse Pathlist Name +F$CmpNam RMB 1 Compare Two Names +F$SchBit RMB 1 Search Bit Map +F$AllBit RMB 1 Allocate in Bit Map +F$DelBit RMB 1 Deallocate in Bit Map +F$Time RMB 1 Get Current Time +F$STime RMB 1 Set Current Time +F$CRC RMB 1 Generate CRC ($17) + + IFGT Level-1 + +* NitrOS-9 Level 2 system calls +F$GPrDsc RMB 1 Get Process Descriptor copy ($18) +F$GBlkMp RMB 1 Get System Block Map copy ($19) +F$GModDr RMB 1 Get Module Directory copy ($1A) +F$CpyMem RMB 1 Copy External Memory ($1B) +F$SUser RMB 1 Set User ID number ($1C) +F$UnLoad RMB 1 Unlink Module by name ($1D) +F$Alarm RMB 1 Color Computer 3 Alarm Call ($1E) + RMB 2 Reserved - For overlap of other systems ($1F) +F$NMLink RMB 1 Color Computer 3 Non-Mapping Link ($21) +F$NMLoad RMB 1 Color Computer 3 Non-Mapping Load ($22) + + ELSE + +* NitrOS-9 Level 1 system call padding + RMB 11 + + ENDC + +F$Debug RMB 1 Drop the system into the debugger ($23) + + IFGT Level-1 + + ORG $25 +F$TPS RMB 1 Return System's Ticks Per Second +F$TimAlm RMB 1 CoCo individual process alarm call + + ENDC + + ORG $27 Beginning of System Reserved Calls +* NitrOS-9 common system calls +F$VIRQ RMB 1 Install/Delete Virtual IRQ +F$SRqMem RMB 1 System Memory Request +F$SRtMem RMB 1 System Memory Return +F$IRQ RMB 1 Enter IRQ Polling Table +F$IOQu RMB 1 Enter I/O Queue +F$AProc RMB 1 Enter Active Process Queue +F$NProc RMB 1 Start Next Process +F$VModul RMB 1 Validate Module +F$Find64 RMB 1 Find Process/Path Descriptor +F$All64 RMB 1 Allocate Process/Path Descriptor +F$Ret64 RMB 1 Return Process/Path Descriptor +F$SSvc RMB 1 Service Request Table Initialization +F$IODel RMB 1 Delete I/O Module + + IFGT Level-1 + +F$SLink RMB 1 System Link +F$Boot RMB 1 Bootstrap System +F$BtMem RMB 1 Bootstrap Memory Request +F$GProcP RMB 1 Get Process ptr +F$Move RMB 1 Move Data (low bound first) +F$AllRAM RMB 1 Allocate RAM blocks +F$AllImg RMB 1 Allocate Image RAM blocks +F$DelImg RMB 1 Deallocate Image RAM blocks +F$SetImg RMB 1 Set Process DAT Image +F$FreeLB RMB 1 Get Free Low Block +F$FreeHB RMB 1 Get Free High Block +F$AllTsk RMB 1 Allocate Process Task number +F$DelTsk RMB 1 Deallocate Process Task number +F$SetTsk RMB 1 Set Process Task DAT registers +F$ResTsk RMB 1 Reserve Task number +F$RelTsk RMB 1 Release Task number +F$DATLog RMB 1 Convert DAT Block/Offset to Logical +F$DATTmp RMB 1 Make temporary DAT image (Obsolete) +F$LDAXY RMB 1 Load A [X,[Y]] +F$LDAXYP RMB 1 Load A [X+,[Y]] +F$LDDDXY RMB 1 Load D [D+X,[Y]] +F$LDABX RMB 1 Load A from 0,X in task B +F$STABX RMB 1 Store A at 0,X in task B +F$AllPrc RMB 1 Allocate Process Descriptor +F$DelPrc RMB 1 Deallocate Process Descriptor +F$ELink RMB 1 Link using Module Directory Entry +F$FModul RMB 1 Find Module Directory Entry +F$MapBlk RMB 1 Map Specific Block +F$ClrBlk RMB 1 Clear Specific Block +F$DelRAM RMB 1 Deallocate RAM blocks +F$GCMDir RMB 1 Pack module directory +F$AlHRAM RMB 1 Allocate HIGH RAM Blocks + +* Alan DeKok additions +F$ReBoot RMB 1 Reboot machine (reload OS9Boot) or drop to RSDOS +F$CRCMod RMB 1 CRC mode, toggle or report current status +F$XTime RMB 1 Get Extended time packet from RTC (fractions of second) +F$VBlock RMB 1 Verify modules in a block of memory, add to module directory + + ENDC + +* +* Numbers $70 through $7F are reserved for user definitions +* + ORG $70 + + IFEQ Level-1 + + RMB 16 Reserved for user definition + + ELSE + +F$RegDmp RMB 1 Ron Lammardo's debugging register dump +F$NVRAM RMB 1 Non Volatile RAM (RTC battery backed static) read/write + + RMB $80-. Reserved for user definitions + ENDC + + PAG +************************************** +* I/O Service Request Code Definitions +* + ORG $80 +I$Attach RMB 1 Attach I/O Device +I$Detach RMB 1 Detach I/O Device +I$Dup RMB 1 Duplicate Path +I$Create RMB 1 Create New File +I$Open RMB 1 Open Existing File +I$MakDir RMB 1 Make Directory File +I$ChgDir RMB 1 Change Default Directory +I$Delete RMB 1 Delete File +I$Seek RMB 1 Change Current Position +I$Read RMB 1 Read Data +I$Write RMB 1 Write Data +I$ReadLn RMB 1 Read Line of ASCII Data +I$WritLn RMB 1 Write Line of ASCII Data +I$GetStt RMB 1 Get Path Status +I$SetStt RMB 1 Set Path Status +I$Close RMB 1 Close Path +I$DeletX RMB 1 Delete from current exec dir + +******************* +* File Access Modes +* +READ. EQU %00000001 +WRITE. EQU %00000010 +UPDAT. EQU READ.+WRITE. +EXEC. EQU %00000100 +PREAD. EQU %00001000 +PWRIT. EQU %00010000 +PEXEC. EQU %00100000 +SHARE. EQU %01000000 +DIR. EQU %10000000 +ISIZ. EQU %00100000 + +************** +* Signal Codes +* + ORG 0 +S$Kill RMB 1 Non-Interceptable Abort +S$Wake RMB 1 Wake-up Sleeping Process +S$Abort RMB 1 Keyboard Abort +S$Intrpt RMB 1 Keyboard Interrupt +S$Window RMB 1 Window Change +S$HUP EQU S$Window Hang Up +S$Alarm RMB 1 CoCo individual process' alarm signal + + PAG +********************************** +* Status Codes for GetStat/GetStat +* + ORG 0 +SS.Opt RMB 1 Read/Write PD Options +SS.Ready RMB 1 Check for Device Ready +SS.Size RMB 1 Read/Write File Size +SS.Reset RMB 1 Device Restore +SS.WTrk RMB 1 Device Write Track +SS.Pos RMB 1 Get File Current Position +SS.EOF RMB 1 Test for End of File +SS.Link RMB 1 Link to Status routines +SS.ULink RMB 1 Unlink Status routines +SS.Feed RMB 1 Issue form feed +SS.Frz RMB 1 Freeze DD. information +SS.SPT RMB 1 Set DD.TKS to given value +SS.SQD RMB 1 Sequence down hard disk +SS.DCmd RMB 1 Send direct command to disk +SS.DevNm RMB 1 Return Device name (32-bytes at [X]) +SS.FD RMB 1 Return File Descriptor (Y-bytes at [X]) +SS.Ticks RMB 1 Set Lockout honor duration +SS.Lock RMB 1 Lock/Release record +SS.DStat RMB 1 Return Display Status (CoCo) +SS.Joy RMB 1 Return Joystick Value (CoCo) +SS.BlkRd RMB 1 Block Read +SS.BlkWr RMB 1 Block Write +SS.Reten RMB 1 Retension cycle +SS.WFM RMB 1 Write File Mark +SS.RFM RMB 1 Read past File Mark +SS.ELog RMB 1 Read Error Log +SS.SSig RMB 1 Send signal on data ready +SS.Relea RMB 1 Release device +SS.AlfaS RMB 1 Return Alfa Display Status (CoCo, SCF/GetStat) +SS.Attr EQU SS.AlfaS To serve 68K/RBF/SetStat only, thru NET +SS.Break RMB 1 Send break signal out acia +SS.RsBit RMB 1 Reserve bitmap sector (do not allocate in) LSB(X)=sct# + RMB 1 Reserved +SS.FDInf EQU $20 To serve 68K/RBF/GetStat only, thru NET + RMB 4 Reserve $20-$23 for Japanese version (Hoshi) +SS.SetMF RMB 1 Reserve $24 for Gimix G68 (Flex compatability?) +SS.Cursr RMB 1 Cursor information for COCO +SS.ScSiz RMB 1 Return screen size for COCO +SS.KySns RMB 1 Getstat/SetStat for COCO keyboard +SS.ComSt RMB 1 Getstat/SetStat for Baud/Parity +SS.Open RMB 1 SetStat to tell driver a path was opened +SS.Close RMB 1 SetStat to tell driver a path was closed +SS.HngUp RMB 1 SetStat to tell driver to hangup phone +SS.FSig RMB 1 New signal for temp locked files +SS.DSize EQU SS.ScSiz Return disk size (RBF GetStat) +SS.VarSect EQU SS.DStat Variable Sector Size (RBF GetStat) + +* System Specific and User defined codes above $80 + ORG $80 +SS.AAGBf RMB 1 SetStat to Allocate Additional Graphic Buffer +SS.SLGBf RMB 1 SetStat to Select a different Graphic Buffer +SS.Mount RMB 1 Network 4 Mount Setstat +SS.RdNet RMB 1 Read Raw Sector from Network 4 Omnidrive +SS.MpGPB RMB 1 SetStat to request a Get/Put Buffer be mapped in workspace +SS.Slots RMB 1 Network 4 slots? getstat + + IFGT Level-1 + +* Level 2 Windowing +SS.WnSet RMB 1 Set up High Level Windowing Information +SS.MnSel RMB 1 Request High level Menu Handler take determine next event +SS.SBar RMB 1 SetStat to set position block on Window scroll bars +SS.Mouse RMB 1 Return Mouse information packet (COCO) +SS.MsSig RMB 1 SetStat to tell driver to send signal on mouse event +SS.AScrn RMB 1 Allocate a screen for application poking +SS.DScrn RMB 1 Display a screen allocated by SS.AScrn +SS.FScrn RMB 1 Free a screen allocated by SS.AScrn +SS.PScrn RMB 1 Polymorph Screen into different screen type +SS.ScInf RMB 1 Get Current screen info for direct writes + RMB 1 Reserved +SS.Palet RMB 1 Return palette information +SS.Montr RMB 1 Get and Set Monitor Type +SS.ScTyp RMB 1 Get screen type information +SS.GIP RMB 1 Global Input Parameters (SetStat) +SS.UMBar RMB 1 update menu bar (SetStat) +SS.FBRgs RMB 1 return color registers (GetStat) +SS.DfPal RMB 1 set/return default palette registers (Getstat/Setstat) +SS.Tone RMB 1 Generate a tone using 6 bit sound +SS.GIP2 RMB 1 Global Input Params #2 (L2V3) +SS.AnPal RMB 1 Animate palettes (L2V3) +SS.FndBf RMB 1 Find named buffer (L2V3) + +* sc6551 defined +SS.CDSta EQU SS.GIP2 +SS.CDSig EQU SS.AnPal +SS.CDRel EQU SS.FndBf + ELSE +* These are wide open in Level 1 + RMB 19 + +* sc6551 defined +SS.CDSta RMB 1 +SS.CDSig RMB 1 +SS.CDRel RMB 1 + ENDC + + ORG $A0 +* +* New Default SCF input buffer Set status call +SS.Fill RMB 1 Pre-load SCF device input buffer +SS.Hist RMB 1 Enable command-line history easily + + + ORG $B0 +* +* New WDDisk get/set status calls +SS.ECC RMB 1 ECC corrected data error enable/disable (GetStat/SetStat) + +* + IFGT Level-1 + +* VRN get/set status calls. Named by Alan DeKok. +SS.VCtr EQU $80 Return FS2 total VIRQ counter +SS.VSig EQU $81 Return FS2 number of signals sent + +SS.FClr EQU $81 Set/clear FS2 VIRQ +SS.FSet EQU $C7 Set FS2+ VIRQ +SS.KSet EQU $C8 Set KQ3 VIRQ +SS.KClr EQU $C9 Clr KQ3 VIRQ +SS.ARAM EQU $CA Allocate RAM blocks +SS.DRAM EQU $CB De-allocate RAM blocks + +* SDisk 3 Definition Equates +SS.DRead EQU SS.AAGBf SDisk3 Direct Sector Read ($80) +SS.DWrit EQU SS.DRead SDisk3 Direct sector Write ($80) +SS.UnFrz EQU SS.SLGBf SDisk3 UNFreeze DD info ($81) +SS.MOFF EQU SS.Mount SDisk3 fast motor off call ($82) +SS.MoTim EQU SS.RdNet SDisk3 Set motor shut off time ($83) +SS.SDRD EQU SS.MpGPB SDisk3 System direct read ($84) +SS.SDWRT EQU SS.SDRD SDisk3 System direct writes ($84) +SS.Sleep EQU SS.Slots SDisk3 (DMC ONLY) Enable/disable F$Sleep calls in read/write 1773 I/O ($85) +SS.DrvCh EQU SS.WnSet SDisk3 (DMC ONLY) Set drive number to cache, or return drive number being cached ($86) + + ENDC + + TTL Direct Page Definitions + PAG + +********************************** +* Direct Page Variable Definitions +* + ORG $00 +D.WDAddr RMB 2 FHL/Isted WD1002-05 interface base address +D.WDBtDr RMB 1 FHL/Isted WD1002-05 boot physical device drive num. +D.SWPage RMB 1 SmartWatch page # (see clock2_smart) + RMB 5 +D.COCOXT RMB 1 Busy flag for CoCo-XT driver (one drive at a time) +D.DbgMem RMB 2 Debug memory pointer +D.DWSubAddr RMB 2 DriveWire subroutine module pointer +D.DWStat RMB 2 DriveWire statics page + + ORG $20 + + IFEQ Level-1 + +* Level 1 DP vars +D.FMBM RMB 4 Free memory bit map pointers +D.MLIM RMB 2 Memory limit $24 +D.ModDir RMB 4 Module directory $26 +D.Init RMB 2 Rom base address $2A +D.SWI3 RMB 2 Swi3 vector $2C +D.SWI2 RMB 2 Swi2 vector $2E +D.FIRQ RMB 2 Firq vector $30 +D.IRQ RMB 2 Irq vector $32 +D.SWI RMB 2 Swi vector $34 +D.NMI RMB 2 Nmi vector $36 +D.SvcIRQ RMB 2 Interrupt service entry $38 +D.Poll RMB 2 Interrupt polling routine $3A +D.UsrIRQ RMB 2 User irq routine $3C +D.SysIRQ RMB 2 System irq routine $3E +D.UsrSvc RMB 2 User service request routine $40 +D.SysSvc RMB 2 System service request routine $42 +D.UsrDis RMB 2 User service request dispatch table +D.SysDis RMB 2 System service reuest dispatch table +D.Slice RMB 1 Process time slice count $48 +D.PrcDBT RMB 2 Process descriptor block address $49 +D.Proc RMB 2 Process descriptor address $4B +D.AProcQ RMB 2 Active process queue $4D +D.WProcQ RMB 2 Waiting process queue $4F +D.SProcQ RMB 2 Sleeping process queue $51 +D.Time EQU . Time +D.Year RMB 1 $53 +D.Month RMB 1 $54 +D.Day RMB 1 $55 +D.Hour RMB 1 $56 +D.Min RMB 1 $57 +D.Sec RMB 1 $58 +D.Tick RMB 1 $59 +D.TSec RMB 1 Ticks / second $5A +D.TSlice RMB 1 Ticks / time-slice $5B +D.IOML RMB 2 I/O mgr free memory low bound $5C +D.IOMH RMB 2 I/O mgr free memory hi bound $5E +D.DevTbl RMB 2 Device driver table addr $60 +D.PolTbl RMB 2 Irq polling table addr $62 +D.PthDBT RMB 2 Path descriptor block table addr $64 +D.BTLO RMB 2 Bootstrap low address $66 +D.BTHI RMB 2 Bootstrap hi address $68 +D.DMAReq RMB 1 DMA in use flag $6A +D.AltIRQ RMB 2 Alternate IRQ vector (CC) $6B +D.KbdSta RMB 2 Keyboard scanner static storage (CC) $6D +D.DskTmr RMB 2 Disk Motor Timer (CC) $6F +D.CBStrt RMB 16 reserved for CC warmstart ($71) +D.Clock RMB 2 Address of Clock Tick Routine (CC) $81 +D.Boot RMB 1 Bootstrap attempted flag +D.URtoSs RMB 2 address of user to system routine (VIRQ) $84 +D.CLTb RMB 2 Pointer to clock interrupt table (VIRQ) $86 +D.MDREG RMB 1 6309 MD (mode) shadow register $88 (added in V2.01.00) +D.CRC RMB 1 CRC checking mode flag $89 (added in V2.01.00) +D.Clock2 RMB 2 CC Clock2 entry address + + ORG $100 +D.XSWI3 RMB 3 +D.XSWI2 RMB 3 +D.XFIRQ RMB 3 +D.XIRQ RMB 3 +D.XSWI RMB 3 +D.XNMI RMB 3 + +* Table Sizes +BMAPSZ EQU 32 Bitmap table size +SVCTNM EQU 2 Number of service request tables +SVCTSZ EQU (256-BMAPSZ)/SVCTNM-2 Service request table size + + ELSE + +* Level 2 DP vars +D.Tasks RMB 2 Task User Table +D.TmpDAT RMB 2 Temporary DAT Image stack +D.Init RMB 2 Initialization Module ptr +D.Poll RMB 2 Interrupt Polling Routine ptr +D.Time EQU . System Time +D.Year RMB 1 +D.Month RMB 1 +D.Day RMB 1 +D.Hour RMB 1 +D.Min RMB 1 +D.Sec RMB 1 +D.Tick RMB 1 +D.Slice RMB 1 current slice remaining +D.TSlice RMB 1 Ticks per Slice +D.Boot RMB 1 Bootstrap attempted flag +D.MotOn RMB 1 Floppy Disk Motor-On time out +D.ErrCod RMB 1 Reset Error Code +D.Daywk RMB 1 day of week, com-trol clock +D.TkCnt RMB 1 Tick Counter +D.BtPtr RMB 2 Address of Boot in System Address space +D.BtSz RMB 2 Size of Boot + + IFNE H6309 +D.MDREG RMB 1 6309 MD (mode) shadow register + ELSE + RMB 1 Currently unused in NitrOS-9/6809 + ENDC + +D.CRC RMB 1 CRC checking mode flag + +D.Tenths RMB 1 Tenths and hundredths of second for F$Xtime +D.Task1N RMB 1 Map type 1 task number*2 - offset into [D.TskIPt] +D.Quick RMB 1 Quick system call return flag - 0 =stack is at $FEE1 +D.QIRQ RMB 1 Quick IRQ flag - 0 =IRQ wasn't clock, so quick return + + ORG $40 +D.BlkMap RMB 4 Memory Block Map ptr +D.ModDir RMB 4 Module Directory ptrs +D.PrcDBT RMB 2 Process Descriptor Block Table ptr +D.SysPrc RMB 2 System Process Descriptor ptr +D.SysDAT RMB 2 System DAT Image ptr +D.SysMem RMB 2 System Memory Map ptr +D.Proc RMB 2 Current Process ptr +D.AProcQ RMB 2 Active Process Queue +D.WProcQ RMB 2 Waiting Process Queue +D.SProcQ RMB 2 Sleeping Process Queue +D.ModEnd RMB 2 Module Directory end ptr +D.ModDAT RMB 2 Module Dir DAT image end ptr +D.CldRes RMB 2 Cold Restart vector +D.BtBug RMB 3 Boot debug information +D.Pipe RMB 2 + + ORG $6B +D.Crash RMB 6 Pointer to CC Crash Routine +D.CBStrt RMB $B Reserved for CC warmstart ($71) +D.QCnt RMB 1 Count of number of quick system calls performed + + ORG $80 +D.DevTbl RMB 2 I/O Device Table +D.PolTbl RMB 2 I/O Polling Table + RMB 4 reserved +D.PthDBT RMB 2 Path Descriptor Block Table ptr +D.DMAReq RMB 1 DMA Request flag + +******** +* CoCo 3 STUFF COMES NEXT +* This area is used for the CoCo Hardware Registers +* + ORG $90 +D.HINIT RMB 1 GIME INIT0 register (hardware setup $FF90) +D.TINIT RMB 1 GIME INIT1 register (timer/task register $FF91) +D.IRQER RMB 1 Interrupt enable regsiter ($FF92) +D.FRQER RMB 1 Fast Interrupt enable register ($FF93) +D.TIMMS RMB 1 Timer most significant nibble ($FF94) +D.TIMLS RMB 1 Timer least significant byte ($FF95) +D.RESV1 RMB 1 reserved register ($FF96) +D.RESV2 RMB 1 reserved register ($FF97) +D.VIDMD RMB 1 video mode register ($FF98) +D.VIDRS RMB 1 video resolution register ($FF99) +D.BORDR RMB 1 border register ($FF9A) +D.RESV3 RMB 1 reserved register ($FF9B) +D.VOFF2 RMB 1 vertical scroll/offset 2 register ($FF9C) +D.VOFF1 RMB 1 vertical offset 1 register ($FF9D) +D.VOFF0 RMB 1 vertical offset 0 register ($FF9E) +D.HOFF0 RMB 1 horizontal offset 0 register ($FF9F) +D.Speed RMB 1 Speed of COCO CPU 0=slow,1=fast ($A0) +D.TskIPt RMB 2 Task image Pointer table (CC) ($A1) +D.MemSz RMB 1 128/512K memory flag (CC) ($A3) +D.SSTskN RMB 1 System State Task Number (COCO) ($A4) +D.CCMem RMB 2 Pointer to beginning of CC Memory ($A5) +D.CCStk RMB 2 Pointer to top of CC Memory ($A7) +D.Flip0 RMB 2 Change to Task 0 ($A9) +D.Flip1 RMB 2 Change to reserved Task 1 ($AB) +D.VIRQ RMB 2 VIRQ Polling routine ($AD) +D.IRQS RMB 1 IRQ shadow register (CC Temporary) ($AF) +D.CLTb RMB 2 VIRQ Table address ($B0) +D.AltIRQ RMB 2 Alternate IRQ Vector (CC) ($B2) +D.GPoll RMB 2 CC GIME IRQ enable/disable toggle +D.Clock2 RMB 2 CC Clock2 entry address + ORG $C0 +D.SysSvc RMB 2 System Service Routine entry +D.SysDis RMB 2 System Service Dispatch Table ptr +D.SysIRQ RMB 2 System IRQ Routine entry +D.UsrSvc RMB 2 User Service Routine entry +D.UsrDis RMB 2 User Service Dispatch Table ptr +D.UsrIRQ RMB 2 User IRQ Routine entry +D.SysStk RMB 2 System stack +D.SvcIRQ RMB 2 In-System IRQ service +D.SysTsk RMB 1 System Task number + ORG $E0 +D.Clock RMB 2 +D.XSWI3 RMB 2 +D.XSWI2 RMB 2 +D.XFIRQ RMB 2 +D.XIRQ RMB 2 +D.XSWI RMB 2 +D.XNMI RMB 2 +D.ErrRst RMB 2 +D.SysVec RMB 2 F$xxx system call vector for NitrOS-9 Level 3 +D.SWI3 RMB 2 +D.SWI2 RMB 2 +D.FIRQ RMB 2 +D.IRQ RMB 2 +D.SWI RMB 2 +D.NMI RMB 2 + +************************* +* Level 2 Block Map flags +* +NotRAM EQU %10000000 Block Not RAM flag +VidRAM EQU %00000100 Block is being used as Video RAM +ModBlock EQU %00000010 Module in Block +RAMinUse EQU %00000001 RAM Block in use flag +* +* Service Dispatch Table special entries +* +IOEntry EQU 254 + + ENDC + + TTL Structure Formats + PAG +************************************ +* Module Directory Entry Definitions +* + ORG 0 + IFGT Level-1 +MD$MPDAT RMB 2 Module DAT Image ptr +MD$MBSiz RMB 2 Memory Block size + ENDC +MD$MPtr RMB 2 Module ptr +MD$Link RMB 2 Module Link count +MD$ESize EQU . Module Directory Entry size + +************************************ +* Module Definitions +* +* Universal Module Offsets +* + ORG 0 +M$ID RMB 2 ID Code +M$Size RMB 2 Module Size +M$Name RMB 2 Module Name +M$Type RMB 1 Type / Language +M$Revs RMB 1 Attributes / Revision Level +M$Parity RMB 1 Header Parity +M$IDSize EQU . Module ID Size +* +* Type-Dependent Module Offsets +* +* System, File Manager, Device Driver, Program Module +* +M$Exec RMB 2 Execution Entry Offset +* +* Device Driver, Program Module +* +M$Mem RMB 2 Stack Requirement +* +* Device Driver, Device Descriptor Module +* +M$Mode RMB 1 Device Driver Mode Capabilities +* +* Device Descriptor Module +* + ORG M$IDSize +M$FMgr RMB 2 File Manager Name Offset +M$PDev RMB 2 Device Driver Name Offset + RMB 1 M$Mode (defined above) +M$Port RMB 3 Port Address +M$Opt RMB 1 Device Default Options +M$DTyp RMB 1 Device Type +IT.DTP EQU M$DTyp Descriptor type offset +* +* Configuration Module Entry Offsets +* + ORG M$IDSize +MaxMem RMB 3 Maximum Free Memory +PollCnt RMB 1 Entries in Interrupt Polling Table +DevCnt RMB 1 Entries in Device Table +InitStr RMB 2 Initial Module Name +SysStr RMB 2 System Device Name +StdStr RMB 2 Standard I/O Pathlist +BootStr RMB 2 Bootstrap Module name +ProtFlag RMB 1 Write protect enable flag + +OSLevel RMB 1 OS level +OSVer RMB 1 OS version +OSMajor RMB 1 OS major +OSMinor RMB 1 OS minor +Feature1 RMB 1 feature byte 1 +Feature2 RMB 1 feature byte 2 +OSName RMB 2 OS revision name string (nul terminated) +InstallName RMB 2 installation name string (nul terminated) + RMB 4 reserved for future use + + IFGT Level-1 +* -- VTIO area -- (NitrOS-9 Level 2 and above) * +MonType RMB 1 Monitor type (0=CMP,1=RGB,2=MONO) +MouseInf RMB 2 Mouse resolution/Mouse port; was 1, major error RG. +KeyRptS RMB 1 Key repeat start constant +KeyRptD RMB 1 Key repeat delay constant + ENDC + +* Feature1 byte definitions +CRCOn EQU %00000001 CRC checking on +CRCOff EQU %00000000 CRC checking off +Proc6809 EQU %00000000 6809 procesor +Proc6309 EQU %00000010 6309 procesor + + PAG +************************** +* Module Field Definitions +* +* ID Field - First two bytes of a NitrOS-9 module +* +M$ID1 EQU $87 Module ID code byte one +M$ID2 EQU $CD Module ID code byte two +M$ID12 EQU M$ID1*256+M$ID2 + +* +* Module Type/Language Field Masks +* +TypeMask EQU %11110000 Type Field +LangMask EQU %00001111 Language Field + +* +* Module Type Values +* +Devic EQU $F0 Device Descriptor Module +Drivr EQU $E0 Physical Device Driver +FlMgr EQU $D0 File Manager +Systm EQU $C0 System Module +ShellSub EQU $50 Shell+ shell sub module +Data EQU $40 Data Module +Multi EQU $30 Multi-Module +Sbrtn EQU $20 Subroutine Module +Prgrm EQU $10 Program Module + +* +* Module Language Values +* +Objct EQU 1 6809 Object Code Module +ICode EQU 2 Basic09 I-code +PCode EQU 3 Pascal P-code +CCode EQU 4 C I-code +CblCode EQU 5 Cobol I-code +FrtnCode EQU 6 Fortran I-code +Obj6309 EQU 7 6309 object code +* +* Module Attributes / Revision byte +* +* Field Masks +* +AttrMask EQU %11110000 Attributes Field +RevsMask EQU %00001111 Revision Level Field +* +* Attribute Flags +* +ReEnt EQU %10000000 Re-Entrant Module +ModProt EQU %01000000 Gimix Module protect bit (0=protected, 1=write enable) +ModNat EQU %00100000 6309 native mode attribute + +******************** +* Device Type Values +* +* These values define various classes of devices, which are +* managed by a file manager module. The Device Type is embedded +* in a device's device descriptor. +* +DT.SCF EQU 0 Sequential Character File Manager +DT.RBF EQU 1 Random Block File Manager +DT.Pipe EQU 2 Pipe File Manager +DT.SBF EQU 3 Sequential Block File Manager +DT.NFM EQU 4 Network File Manager +DT.CDFM EQU 5 CD-ROM File Manager +DT.RFM EQU 6 Remote File Manager + +********************* +* CRC Result Constant +* +CRCCon1 EQU $80 +CRCCon23 EQU $0FE3 + + TTL Process Information + PAG +******************************** +* Process Descriptor Definitions +* + IFEQ Level-1 + +* Level 1 process descriptor defs +DefIOSiz EQU 12 +NumPaths EQU 16 Number of Local Paths + + ORG 0 +P$ID RMB 1 Process ID +P$PID RMB 1 Parent's ID +P$SID RMB 1 Sibling's ID +P$CID RMB 1 Child's ID +P$SP RMB 2 Stack ptr +P$CHAP RMB 1 process chapter number +P$ADDR RMB 1 user address beginning page number +P$PagCnt RMB 1 Memory Page Count +P$User RMB 2 User Index $09 +P$Prior RMB 1 Priority $0B +P$Age RMB 1 Age $0C +P$State RMB 1 Status $0D +P$Queue RMB 2 Queue Link (Process ptr) $0E +P$IOQP RMB 1 Previous I/O Queue Link (Process ID) $10 +P$IOQN RMB 1 Next I/O Queue Link (Process ID) +P$PModul RMB 2 Primary Module +P$SWI RMB 2 SWI Entry Point +P$SWI2 RMB 2 SWI2 Entry Point +P$SWI3 RMB 2 SWI3 Entry Point $18 +P$DIO RMB DefIOSiz default I/O ptrs $1A +P$PATH RMB NumPaths I/O path table $26 +P$Signal RMB 1 Signal Code $36 +P$SigVec RMB 2 Signal Intercept Vector +P$SigDat RMB 2 Signal Intercept Data Address +P$NIO RMB 4 additional dio pointers for net + RMB $40-. unused +P$Size EQU . Size of Process Descriptor + +* +* Process State Flags +* +SysState EQU %10000000 +TimSleep EQU %01000000 +TimOut EQU %00100000 +ImgChg EQU %00010000 +Condem EQU %00000010 +Dead EQU %00000001 + + ELSE + +* Level 2 process descriptor defs +DefIOSiz EQU 16 Default I/O Data Length +NefIOSiz EQU 12 On-Net Default I/O Data Length +NumPaths EQU 16 Number of Local Paths + + ORG 0 +P$ID RMB 1 Process ID +P$PID RMB 1 Parent's ID +P$SID RMB 1 Sibling's ID +P$CID RMB 1 Child's ID +P$SP RMB 2 Stack ptr +P$Task RMB 1 Task Number +P$PagCnt RMB 1 Memory Page Count +P$User RMB 2 User Index +P$Prior RMB 1 Priority +P$Age RMB 1 Age +P$State RMB 1 Status +P$Queue RMB 2 Queue Link (Process ptr) +P$IOQP RMB 1 Previous I/O Queue Link (Process ID) +P$IOQN RMB 1 Next I/O Queue Link (Process ID) +P$PModul RMB 2 Primary Module +P$SWI RMB 2 SWI Entry Point +P$SWI2 RMB 2 SWI2 Entry Point +P$SWI3 RMB 2 SWI3 Entry Point +P$Signal RMB 1 Signal Code +P$SigVec RMB 2 Signal Intercept Vector +P$SigDat RMB 2 Signal Intercept Data Address +P$DeadLk RMB 1 Dominant proc ID if I/O locked + RMB $20-. unused +P$DIO RMB DefIOSiz Default I/O ptrs +P$Path RMB NumPaths I/O Path Table +P$DATImg RMB 64 DAT Image +P$Links RMB 32 Block Link counts +P$NIO RMB 6*2 additional DIO ptrs for net, compatible with 68k +P$SelP RMB 1 Selected Path for COCO Windows (Default 0) +P$UTicks RMB 4 proc User Tick counter (L2V3) +P$STicks RMB 4 proc System Tick counter (L2V3) +P$FCalls RMB 4 proc F$ call counter (L2V3) +P$ICalls RMB 4 proc I$ call counter (L2V3) +P$DatBeg RMB 3 proc Date of creation (Y/M/D) (L2V3) +P$TimBeg RMB 3 proc Time of creation (H/M/S) (L2V3) +P$Alarm RMB 6 + RMB $200-. Local stack +P$Stack EQU . Top of Stack +P$Size EQU . Size of Process Descriptor + +* +* Process State Flags +* +SysState EQU %10000000 +TimSleep EQU %01000000 +TimOut EQU %00100000 +ImgChg EQU %00010000 +Suspend EQU %00001000 +Condem EQU %00000010 +Dead EQU %00000001 + + ENDC + + TTL NitrOS-9 I/O Symbolic Definitions + PAG +************************* +* Path Descriptor Offsets +* + ORG 0 +PD.PD RMB 1 Path Number +PD.MOD RMB 1 Mode (Read/Write/Update) +PD.CNT RMB 1 Number of Open Images +PD.DEV RMB 2 Device Table Entry Address +PD.CPR RMB 1 Current Process +PD.RGS RMB 2 Caller's Register Stack +PD.BUF RMB 2 Buffer Address +PD.FST RMB 32-. File Manager's Storage +PD.OPT EQU . PD GetSts(0) Options +PD.DTP RMB 1 Device Type + RMB 64-. Path options +PDSIZE EQU . + +* +* Pathlist Special Symbols +* +PDELIM EQU '/ Pathlist Name Separator +PDIR EQU '. Directory +PENTIR EQU '@ Entire Device + + PAG +**************************** +* File Manager Entry Offsets +* + ORG 0 +FMCREA RMB 3 Create (Open New) File +FMOPEN RMB 3 Open File +FMMDIR RMB 3 Make Directory +FMCDIR RMB 3 Change Directory +FMDLET RMB 3 Delete File +FMSEEK RMB 3 Position File +FMREAD RMB 3 Read from File +FMWRIT RMB 3 Write to File +FMRDLN RMB 3 ReadLn +FMWRLN RMB 3 WritLn +FMGSTA RMB 3 Get File Status +FMSSTA RMB 3 Set File Status +FMCLOS RMB 3 Close File + +***************************** +* Device Driver Entry Offsets +* + ORG 0 +D$INIT RMB 3 Device Initialization +D$READ RMB 3 Read from Device +D$WRIT RMB 3 Write to Device +D$GSTA RMB 3 Get Device Status +D$PSTA RMB 3 Put Device Status +D$TERM RMB 3 Device Termination + +********************* +* Device Table Format +* + ORG 0 +V$DRIV RMB 2 Device Driver module +V$STAT RMB 2 Device Driver Static storage +V$DESC RMB 2 Device Descriptor module +V$FMGR RMB 2 File Manager module +V$USRS RMB 1 use count + IFGT Level-1 +V$DRIVEX RMB 2 Device Driver execution address +V$FMGREX RMB 2 File Manager execution address + ENDC +DEVSIZ EQU . + +******************************* +* Device Static Storage Offsets +* + ORG 0 +V.PAGE RMB 1 Port Extended Address +V.PORT RMB 2 Device 'Base' Port Address +V.LPRC RMB 1 Last Active Process ID +V.BUSY RMB 1 Active Process ID (0=UnBusy) +V.WAKE RMB 1 Active PD if Driver MUST Wake-up +V.USER EQU . Driver Allocation Origin + +******************************** +* Interrupt Polling Table Format +* + ORG 0 +Q$POLL RMB 2 Absolute Polling Address +Q$FLIP RMB 1 Flip (EOR) Byte ..normally Zero +Q$MASK RMB 1 Polling Mask (after Flip) +Q$SERV RMB 2 Absolute Service routine Address +Q$STAT RMB 2 Static Storage Address +Q$PRTY RMB 1 Priority (Low Numbers=Top Priority) + IFGT Level-1 +Q$MAP RMB 2 NitrOS-9 Level 2 and above + ENDC +POLSIZ EQU . + +******************** +* VIRQ packet format +* + ORG 0 +Vi.Cnt RMB 2 count down counter +Vi.Rst RMB 2 reset value for counter +Vi.Stat RMB 1 status byte +Vi.PkSz EQU . + +Vi.IFlag EQU %00000001 status byte virq flag + + PAG +************************************* +* Machine Characteristics Definitions +* +R$CC EQU 0 Condition Codes register +R$A EQU 1 A Accumulator +R$B EQU 2 B Accumulator +R$D EQU R$A Combined A:B Accumulator + IFNE H6309 +R$E EQU 3 E Accumulator +R$F EQU 4 F Accumulator +R$W EQU R$E Combined E:F Accumulator +R$Q EQU R$A Combined A:B:E:F Accumulator +R$DP EQU 5 Direct Page register +R$X EQU 6 X Index register +R$Y EQU 8 Y Index register +R$U EQU 10 User Stack register +R$PC EQU 12 Program Counter register +R$Size EQU 14 Total register package size + ELSE +R$DP EQU 3 Direct Page register +R$X EQU 4 X Index register +R$Y EQU 6 Y Index register +R$U EQU 8 User Stack register +R$PC EQU 10 Program Counter register +R$Size EQU 12 Total register package size + ENDC + +* MD register masks +* 6309 definitions +DIV0 EQU %10000000 division by 0 trap flag : 1 = trap occured +badinstr EQU %01000000 illegal instruction trap flag : 1 = trap occured + +Entire EQU %10000000 Full Register Stack flag +FIRQMask EQU %01000000 Fast-Interrupt Mask bit +HalfCrry EQU %00100000 Half Carry flag +IRQMask EQU %00010000 Interrupt Mask bit +Negative EQU %00001000 Negative flag +Zero EQU %00000100 Zero flag +TwosOvfl EQU %00000010 Two's Comp Overflow flag +Carry EQU %00000001 Carry bit +IntMasks EQU IRQMask+FIRQMask +Sign EQU %10000000 sign bit + + TTL Error Code Definitions + PAG +************************ +* Error Code Definitions +* +* Basic09 Error Codes +* + ORG 10 +E$UnkSym RMB 1 Unknown symbol +E$ExcVrb RMB 1 Excessive verbage +E$IllStC RMB 1 Illegal statement construction +E$ICOvf RMB 1 I-code overflow +E$IChRef RMB 1 Illegal channel reference +E$IllMod RMB 1 Illegal mode +E$IllNum RMB 1 Illegal number +E$IllPrf RMB 1 Illegal prefix +E$IllOpd RMB 1 Illegal operand +E$IllOpr RMB 1 Illegal operator +E$IllRFN RMB 1 Illegal record field name +E$IllDim RMB 1 Illegal dimension +E$IllLit RMB 1 Illegal literal +E$IllRet RMB 1 Illegal relational +E$IllSfx RMB 1 Illegal type suffix +E$DimLrg RMB 1 Dimension too large +E$LinLrg RMB 1 Line number too large +E$NoAssg RMB 1 Missing assignment statement +E$NoPath RMB 1 Missing path number +E$NoComa RMB 1 Missing coma +E$NoDim RMB 1 Missing dimension +E$NoDO RMB 1 Missing DO statement +E$MFull RMB 1 Memory full +E$NoGoto RMB 1 Missing GOTO +E$NoLPar RMB 1 Missing left parenthesis +E$NoLRef RMB 1 Missing line reference +E$NoOprd RMB 1 Missing operand +E$NoRPar RMB 1 Missing right parenthesis +E$NoTHEN RMB 1 Missing THEN statement +E$NoTO RMB 1 Missing TO statement +E$NoVRef RMB 1 Missing variable reference +E$EndQou RMB 1 Missing end quote +E$SubLrg RMB 1 Too many subscripts +E$UnkPrc RMB 1 Unknown procedure +E$MulPrc RMB 1 Multiply defined procedure +E$DivZer RMB 1 Divice by zero +E$TypMis RMB 1 Operand type mismatch +E$StrOvf RMB 1 String stack overflow +E$NoRout RMB 1 Unimplemented routine +E$UndVar RMB 1 Undefined variable +E$FltOvf RMB 1 Floating Overflow +E$LnComp RMB 1 Line with compiler error +E$ValRng RMB 1 Value out of range for destination +E$SubOvf RMB 1 Subroutine stack overflow +E$SubUnd RMB 1 Subroutine stack underflow +E$SubRng RMB 1 Subscript out of range +E$ParmEr RMB 1 Paraemter error +E$SysOvf RMB 1 System stack overflow +E$IOMism RMB 1 I/O type mismatch +E$IONum RMB 1 I/O numeric input format bad +E$IOConv RMB 1 I/O conversion: number out of range +E$IllInp RMB 1 Illegal input format +E$IOFRpt RMB 1 I/O format repeat error +E$IOFSyn RMB 1 I/O format syntax error +E$IllPNm RMB 1 Illegal path number +E$WrSub RMB 1 Wrong number of subscripts +E$NonRcO RMB 1 Non-record type operand +E$IllA RMB 1 Illegal argument +E$IllCnt RMB 1 Illegal control structure +E$UnmCnt RMB 1 Unmatched control structure +E$IllFOR RMB 1 Illegal FOR variable +E$IllExp RMB 1 Illegal expression type +E$IllDec RMB 1 Illegal declarative statement +E$ArrOvf RMB 1 Array size overflow +E$UndLin RMB 1 Undefined line number +E$MltLin RMB 1 Multiply defined line number +E$MltVar RMB 1 Multiply defined variable +E$IllIVr RMB 1 Illegal input variable +E$SeekRg RMB 1 Seek out of range +E$NoData RMB 1 Missing data statement + +* +* System Dependent Error Codes +* + +* Level 2 windowing error codes + ORG 183 +E$IWTyp RMB 1 Illegal window type +E$WADef RMB 1 Window already defined +E$NFont RMB 1 Font not found +E$StkOvf RMB 1 Stack overflow +E$IllArg RMB 1 Illegal argument + RMB 1 reserved +E$ICoord RMB 1 Illegal coordinates +E$Bug RMB 1 Bug (should never be returned) +E$BufSiz RMB 1 Buffer size is too small +E$IllCmd RMB 1 Illegal command +E$TblFul RMB 1 Screen or window table is full +E$BadBuf RMB 1 Bad/Undefined buffer number +E$IWDef RMB 1 Illegal window definition +E$WUndef RMB 1 Window undefined + +E$Up RMB 1 Up arrow pressed on SCF I$ReadLn with PD.UP enabled +E$Dn RMB 1 Down arrow pressed on SCF I$ReadLn with PD.DOWN enabled +E$Alias RMB 1 + + +* +* Standard NitrOS-9 Error Codes +* + ORG 200 +E$PthFul RMB 1 Path Table full +E$BPNum RMB 1 Bad Path Number +E$Poll RMB 1 Polling Table Full +E$BMode RMB 1 Bad Mode +E$DevOvf RMB 1 Device Table Overflow +E$BMID RMB 1 Bad Module ID +E$DirFul RMB 1 Module Directory Full +E$MemFul RMB 1 Process Memory Full +E$UnkSvc RMB 1 Unknown Service Code +E$ModBsy RMB 1 Module Busy +E$BPAddr RMB 1 Bad Page Address +E$EOF RMB 1 End of File + RMB 1 +E$NES RMB 1 Non-Existing Segment +E$FNA RMB 1 File Not Accesible +E$BPNam RMB 1 Bad Path Name +E$PNNF RMB 1 Path Name Not Found +E$SLF RMB 1 Segment List Full +E$CEF RMB 1 Creating Existing File +E$IBA RMB 1 Illegal Block Address +E$HangUp RMB 1 Carrier Detect Lost +E$MNF RMB 1 Module Not Found + RMB 1 +E$DelSP RMB 1 Deleting Stack Pointer memory +E$IPrcID RMB 1 Illegal Process ID +E$BPrcID EQU E$IPrcID Bad Process ID (formerly #238) + RMB 1 +E$NoChld RMB 1 No Children +E$ISWI RMB 1 Illegal SWI code +E$PrcAbt RMB 1 Process Aborted +E$PrcFul RMB 1 Process Table Full +E$IForkP RMB 1 Illegal Fork Parameter +E$KwnMod RMB 1 Known Module +E$BMCRC RMB 1 Bad Module CRC +E$USigP RMB 1 Unprocessed Signal Pending +E$NEMod RMB 1 Non Existing Module +E$BNam RMB 1 Bad Name +E$BMHP RMB 1 (bad module header parity) +E$NoRAM RMB 1 No (System) RAM Available +E$DNE RMB 1 Directory not empty +E$NoTask RMB 1 No available Task number + RMB $F0-. reserved +E$Unit RMB 1 Illegal Unit (drive) +E$Sect RMB 1 Bad Sector number +E$WP RMB 1 Write Protect +E$CRC RMB 1 Bad Check Sum +E$Read RMB 1 Read Error +E$Write RMB 1 Write Error +E$NotRdy RMB 1 Device Not Ready +E$Seek RMB 1 Seek Error +E$Full RMB 1 Media Full +E$BTyp RMB 1 Bad Type (incompatable) media +E$DevBsy RMB 1 Device Busy +E$DIDC RMB 1 Disk ID Change +E$Lock RMB 1 Record is busy (locked out) +E$Share RMB 1 Non-sharable file busy +E$DeadLk RMB 1 I/O Deadlock error + + + IFEQ Level-1 + +******************************** +* Boot defs for NitrOS-9 Level 1 +* +* These defs are not strictly for 'Boot', but are for booting the +* system. +* +Bt.Start EQU $EE00 Start address of the boot track in memory + +* Boot area size on Dragon is only 16 sectors=4K + IFNE DRAGON +Bt.Size EQU $1000 Max size of boot file + ELSE +Bt.Size EQU $1080 Maximum size of bootfile + ENDC + + ELSE + +****************************************** +* Boot defs for NitrOS-9 Level 2 and above +* +* These defs are not strictly for 'Boot', but are for booting the +* system. +* +Bt.Block EQU $3B Block to map in for the 'OS9BOOT' screen +Bt.Flag EQU $8A34 Flag in Bt.Block to verify that it's unchanged +Bt.Offst EQU 2 Offset into the screen where the current ptr is +Bt.Start EQU $ED00 Start address of the boot track in memory + + ENDC + +* Boot area on the Dragon starts on track 0 sector 2, imediatly +* after the blockmap. +* On the CoCo, the boot track is all of track 34 + + IFNE DRAGON +Bt.Track EQU 0 Boot track +Bt.Sec EQU 2 Start LSN of boot area on boot track + ELSE +Bt.Track EQU 34 Boot track +Bt.Sec EQU 0 Start LSN of boot area on boot track + ENDC + + + IFGT Level-2 +*************************** +* Level 3 Defs +* +* These definitions apply to NitrOS-9 Level 3 +* +L3.Start EQU $2000 Start off at slot 1 +L3.Size EQU $40 Go for 64 pages: 2 slots total +L3.Blks EQU L3.Size/$20 Number of slots +L3.End EQU L3.Start+L3.Size*$0100 end of L3 memory +L3.SCF EQU $0660 SCF block ptr +L3.RBF EQU L3.SCF+1 RBF block ptr + ENDC + + ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/os9defs --- a/defs/os9defs Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,1293 +0,0 @@ - IFNE OS9DEFS-1 - -OS9DEFS SET 1 - -******************************************************************** -* OS9Defs - NitrOS-9 System Definitions -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 1985/08/29 KMZ -* Fixed DT.SBF/NFM values to 3/4 -* -* 1985/09/01 KMZ -* Added SS.FDInf, SS.Attr to accept 68K request thru NET. -* -* 1985/09/03 KMZ/Robert F. Doggett -* Eliminated E$BPrcID, made Error #238 become E$DNE for -* 68000 compatability. -* -* 1986/04/15 Mark G. Hawkins -* F$AlHRAM System call added for COCO. -* -* 1986/09/08 Mark G. Hawkins -* F$Alarm for COCO Clock Module. -* -* 1986/09/17 Mark G. Hawkins -* SS.Tone For COCO. -* -* 1986/09/23 Mark G. Hawkins -* Added F$NMLink and F$NMLoad for COCO. -* -* 1986/09/30 Mark G. Hawkins -* Added Reserved User $70 to $7f in sytem calls. -* -* 1986/09/30 Mark G. Hawkins -* Created Color Computer 3 Version of OS9Defs. -* -* 1998/10/03 Boisy G. Pitre -* Consoldated Level 1/Level 2 os9defs. -* -* 2002/04/04 Boisy G. Pitre -* Consoldated Level 2/Level 2 V3 os9defs. -* -* 2002/04/30 Boisy G. Pitre -* Added NitrOS-9 definitions. -* -* 2003/05/30 Boisy G. Pitre -* Added WD1002 sys vars to Level One section. -* -* 2003/06/02 Boisy G. Pitre -* Fixed incorrectly ordered D.X*** system globals for OS-9 Level One and -* changed the sizes from 2 to 3 bytes. -* DT.NFM is now the same for both Level One and Level Two. -* Added DT.CDFM type for future CD-ROM file manager -* -* 2003/11/05 Robert Gault -* Fixed MouseInf. Made it rmb 2 as it should be. Also changes to init and cc3io. -* -* 2005/11/02 P.Harvey-Smith -* Added definitions for boot areas on Dragon computers. -* -* 2006/03/03 Boisy G. Pitre -* Added F$Debug and D.DbgMem areas, common to all levels of NitrOS-9 - - NAM OS9Defs - IFEQ Level-1 - TTL NitrOS-9 Level 1 System Symbol Definitions - ELSE - IFEQ Level-2 - TTL NitrOS-9 Level 2 System Symbol Definitions - ELSE - TTL NitrOS-9 Level 3 System Symbol Definitions - ENDC - ENDC - -* Common definitions -true EQU 1 useful name -false EQU 0 useful name - - PAG -***************************************** -* System Service Request Code Definitions -* - ORG 0 -F$Link RMB 1 Link to Module -F$Load RMB 1 Load Module from File -F$UnLink RMB 1 Unlink Module -F$Fork RMB 1 Start New Process -F$Wait RMB 1 Wait for Child Process to Die -F$Chain RMB 1 Chain Process to New Module -F$Exit RMB 1 Terminate Process -F$Mem RMB 1 Set Memory Size -F$Send RMB 1 Send Signal to Process -F$Icpt RMB 1 Set Signal Intercept -F$Sleep RMB 1 Suspend Process -F$SSpd RMB 1 Suspend Process -F$ID RMB 1 Return Process ID -F$SPrior RMB 1 Set Process Priority -F$SSWI RMB 1 Set Software Interrupt -F$PErr RMB 1 Print Error -F$PrsNam RMB 1 Parse Pathlist Name -F$CmpNam RMB 1 Compare Two Names -F$SchBit RMB 1 Search Bit Map -F$AllBit RMB 1 Allocate in Bit Map -F$DelBit RMB 1 Deallocate in Bit Map -F$Time RMB 1 Get Current Time -F$STime RMB 1 Set Current Time -F$CRC RMB 1 Generate CRC ($17) - - IFGT Level-1 - -* NitrOS-9 Level 2 system calls -F$GPrDsc RMB 1 Get Process Descriptor copy ($18) -F$GBlkMp RMB 1 Get System Block Map copy ($19) -F$GModDr RMB 1 Get Module Directory copy ($1A) -F$CpyMem RMB 1 Copy External Memory ($1B) -F$SUser RMB 1 Set User ID number ($1C) -F$UnLoad RMB 1 Unlink Module by name ($1D) -F$Alarm RMB 1 Color Computer 3 Alarm Call ($1E) - RMB 2 Reserved - For overlap of other systems ($1F) -F$NMLink RMB 1 Color Computer 3 Non-Mapping Link ($21) -F$NMLoad RMB 1 Color Computer 3 Non-Mapping Load ($22) - - ELSE - -* NitrOS-9 Level 1 system call padding - RMB 11 - - ENDC - -F$Debug RMB 1 Drop the system into the debugger ($23) - - IFGT Level-1 - - ORG $25 -F$TPS RMB 1 Return System's Ticks Per Second -F$TimAlm RMB 1 CoCo individual process alarm call - - ENDC - - ORG $27 Beginning of System Reserved Calls -* NitrOS-9 common system calls -F$VIRQ RMB 1 Install/Delete Virtual IRQ -F$SRqMem RMB 1 System Memory Request -F$SRtMem RMB 1 System Memory Return -F$IRQ RMB 1 Enter IRQ Polling Table -F$IOQu RMB 1 Enter I/O Queue -F$AProc RMB 1 Enter Active Process Queue -F$NProc RMB 1 Start Next Process -F$VModul RMB 1 Validate Module -F$Find64 RMB 1 Find Process/Path Descriptor -F$All64 RMB 1 Allocate Process/Path Descriptor -F$Ret64 RMB 1 Return Process/Path Descriptor -F$SSvc RMB 1 Service Request Table Initialization -F$IODel RMB 1 Delete I/O Module - - IFGT Level-1 - -F$SLink RMB 1 System Link -F$Boot RMB 1 Bootstrap System -F$BtMem RMB 1 Bootstrap Memory Request -F$GProcP RMB 1 Get Process ptr -F$Move RMB 1 Move Data (low bound first) -F$AllRAM RMB 1 Allocate RAM blocks -F$AllImg RMB 1 Allocate Image RAM blocks -F$DelImg RMB 1 Deallocate Image RAM blocks -F$SetImg RMB 1 Set Process DAT Image -F$FreeLB RMB 1 Get Free Low Block -F$FreeHB RMB 1 Get Free High Block -F$AllTsk RMB 1 Allocate Process Task number -F$DelTsk RMB 1 Deallocate Process Task number -F$SetTsk RMB 1 Set Process Task DAT registers -F$ResTsk RMB 1 Reserve Task number -F$RelTsk RMB 1 Release Task number -F$DATLog RMB 1 Convert DAT Block/Offset to Logical -F$DATTmp RMB 1 Make temporary DAT image (Obsolete) -F$LDAXY RMB 1 Load A [X,[Y]] -F$LDAXYP RMB 1 Load A [X+,[Y]] -F$LDDDXY RMB 1 Load D [D+X,[Y]] -F$LDABX RMB 1 Load A from 0,X in task B -F$STABX RMB 1 Store A at 0,X in task B -F$AllPrc RMB 1 Allocate Process Descriptor -F$DelPrc RMB 1 Deallocate Process Descriptor -F$ELink RMB 1 Link using Module Directory Entry -F$FModul RMB 1 Find Module Directory Entry -F$MapBlk RMB 1 Map Specific Block -F$ClrBlk RMB 1 Clear Specific Block -F$DelRAM RMB 1 Deallocate RAM blocks -F$GCMDir RMB 1 Pack module directory -F$AlHRAM RMB 1 Allocate HIGH RAM Blocks - -* Alan DeKok additions -F$ReBoot RMB 1 Reboot machine (reload OS9Boot) or drop to RSDOS -F$CRCMod RMB 1 CRC mode, toggle or report current status -F$XTime RMB 1 Get Extended time packet from RTC (fractions of second) -F$VBlock RMB 1 Verify modules in a block of memory, add to module directory - - ENDC - -* -* Numbers $70 through $7F are reserved for user definitions -* - ORG $70 - - IFEQ Level-1 - - RMB 16 Reserved for user definition - - ELSE - -F$RegDmp RMB 1 Ron Lammardo's debugging register dump -F$NVRAM RMB 1 Non Volatile RAM (RTC battery backed static) read/write - - RMB $80-. Reserved for user definitions - ENDC - - PAG -************************************** -* I/O Service Request Code Definitions -* - ORG $80 -I$Attach RMB 1 Attach I/O Device -I$Detach RMB 1 Detach I/O Device -I$Dup RMB 1 Duplicate Path -I$Create RMB 1 Create New File -I$Open RMB 1 Open Existing File -I$MakDir RMB 1 Make Directory File -I$ChgDir RMB 1 Change Default Directory -I$Delete RMB 1 Delete File -I$Seek RMB 1 Change Current Position -I$Read RMB 1 Read Data -I$Write RMB 1 Write Data -I$ReadLn RMB 1 Read Line of ASCII Data -I$WritLn RMB 1 Write Line of ASCII Data -I$GetStt RMB 1 Get Path Status -I$SetStt RMB 1 Set Path Status -I$Close RMB 1 Close Path -I$DeletX RMB 1 Delete from current exec dir - -******************* -* File Access Modes -* -READ. EQU %00000001 -WRITE. EQU %00000010 -UPDAT. EQU READ.+WRITE. -EXEC. EQU %00000100 -PREAD. EQU %00001000 -PWRIT. EQU %00010000 -PEXEC. EQU %00100000 -SHARE. EQU %01000000 -DIR. EQU %10000000 -ISIZ. EQU %00100000 - -************** -* Signal Codes -* - ORG 0 -S$Kill RMB 1 Non-Interceptable Abort -S$Wake RMB 1 Wake-up Sleeping Process -S$Abort RMB 1 Keyboard Abort -S$Intrpt RMB 1 Keyboard Interrupt -S$Window RMB 1 Window Change -S$HUP EQU S$Window Hang Up -S$Alarm RMB 1 CoCo individual process' alarm signal - - PAG -********************************** -* Status Codes for GetStat/GetStat -* - ORG 0 -SS.Opt RMB 1 Read/Write PD Options -SS.Ready RMB 1 Check for Device Ready -SS.Size RMB 1 Read/Write File Size -SS.Reset RMB 1 Device Restore -SS.WTrk RMB 1 Device Write Track -SS.Pos RMB 1 Get File Current Position -SS.EOF RMB 1 Test for End of File -SS.Link RMB 1 Link to Status routines -SS.ULink RMB 1 Unlink Status routines -SS.Feed RMB 1 Issue form feed -SS.Frz RMB 1 Freeze DD. information -SS.SPT RMB 1 Set DD.TKS to given value -SS.SQD RMB 1 Sequence down hard disk -SS.DCmd RMB 1 Send direct command to disk -SS.DevNm RMB 1 Return Device name (32-bytes at [X]) -SS.FD RMB 1 Return File Descriptor (Y-bytes at [X]) -SS.Ticks RMB 1 Set Lockout honor duration -SS.Lock RMB 1 Lock/Release record -SS.DStat RMB 1 Return Display Status (CoCo) -SS.Joy RMB 1 Return Joystick Value (CoCo) -SS.BlkRd RMB 1 Block Read -SS.BlkWr RMB 1 Block Write -SS.Reten RMB 1 Retension cycle -SS.WFM RMB 1 Write File Mark -SS.RFM RMB 1 Read past File Mark -SS.ELog RMB 1 Read Error Log -SS.SSig RMB 1 Send signal on data ready -SS.Relea RMB 1 Release device -SS.AlfaS RMB 1 Return Alfa Display Status (CoCo, SCF/GetStat) -SS.Attr EQU SS.AlfaS To serve 68K/RBF/SetStat only, thru NET -SS.Break RMB 1 Send break signal out acia -SS.RsBit RMB 1 Reserve bitmap sector (do not allocate in) LSB(X)=sct# - RMB 1 Reserved -SS.FDInf EQU $20 To serve 68K/RBF/GetStat only, thru NET - RMB 4 Reserve $20-$23 for Japanese version (Hoshi) -SS.SetMF RMB 1 Reserve $24 for Gimix G68 (Flex compatability?) -SS.Cursr RMB 1 Cursor information for COCO -SS.ScSiz RMB 1 Return screen size for COCO -SS.KySns RMB 1 Getstat/SetStat for COCO keyboard -SS.ComSt RMB 1 Getstat/SetStat for Baud/Parity -SS.Open RMB 1 SetStat to tell driver a path was opened -SS.Close RMB 1 SetStat to tell driver a path was closed -SS.HngUp RMB 1 SetStat to tell driver to hangup phone -SS.FSig RMB 1 New signal for temp locked files -SS.DSize EQU SS.ScSiz Return disk size (RBF GetStat) -SS.VarSect EQU SS.DStat Variable Sector Size (RBF GetStat) - -* System Specific and User defined codes above $80 - ORG $80 -SS.AAGBf RMB 1 SetStat to Allocate Additional Graphic Buffer -SS.SLGBf RMB 1 SetStat to Select a different Graphic Buffer -SS.Mount RMB 1 Network 4 Mount Setstat -SS.RdNet RMB 1 Read Raw Sector from Network 4 Omnidrive -SS.MpGPB RMB 1 SetStat to request a Get/Put Buffer be mapped in workspace -SS.Slots RMB 1 Network 4 slots? getstat - - IFGT Level-1 - -* Level 2 Windowing -SS.WnSet RMB 1 Set up High Level Windowing Information -SS.MnSel RMB 1 Request High level Menu Handler take determine next event -SS.SBar RMB 1 SetStat to set position block on Window scroll bars -SS.Mouse RMB 1 Return Mouse information packet (COCO) -SS.MsSig RMB 1 SetStat to tell driver to send signal on mouse event -SS.AScrn RMB 1 Allocate a screen for application poking -SS.DScrn RMB 1 Display a screen allocated by SS.AScrn -SS.FScrn RMB 1 Free a screen allocated by SS.AScrn -SS.PScrn RMB 1 Polymorph Screen into different screen type -SS.ScInf RMB 1 Get Current screen info for direct writes - RMB 1 Reserved -SS.Palet RMB 1 Return palette information -SS.Montr RMB 1 Get and Set Monitor Type -SS.ScTyp RMB 1 Get screen type information -SS.GIP RMB 1 Global Input Parameters (SetStat) -SS.UMBar RMB 1 update menu bar (SetStat) -SS.FBRgs RMB 1 return color registers (GetStat) -SS.DfPal RMB 1 set/return default palette registers (Getstat/Setstat) -SS.Tone RMB 1 Generate a tone using 6 bit sound -SS.GIP2 RMB 1 Global Input Params #2 (L2V3) -SS.AnPal RMB 1 Animate palettes (L2V3) -SS.FndBf RMB 1 Find named buffer (L2V3) - -* sc6551 defined -SS.CDSta EQU SS.GIP2 -SS.CDSig EQU SS.AnPal -SS.CDRel EQU SS.FndBf - ELSE -* These are wide open in Level 1 - RMB 19 - -* sc6551 defined -SS.CDSta RMB 1 -SS.CDSig RMB 1 -SS.CDRel RMB 1 - ENDC - - ORG $A0 -* -* New Default SCF input buffer Set status call -SS.Fill RMB 1 Pre-load SCF device input buffer -SS.Hist RMB 1 Enable command-line history easily - - - ORG $B0 -* -* New WDDisk get/set status calls -SS.ECC RMB 1 ECC corrected data error enable/disable (GetStat/SetStat) - -* - IFGT Level-1 - -* VRN get/set status calls. Named by Alan DeKok. -SS.VCtr EQU $80 Return FS2 total VIRQ counter -SS.VSig EQU $81 Return FS2 number of signals sent - -SS.FClr EQU $81 Set/clear FS2 VIRQ -SS.FSet EQU $C7 Set FS2+ VIRQ -SS.KSet EQU $C8 Set KQ3 VIRQ -SS.KClr EQU $C9 Clr KQ3 VIRQ -SS.ARAM EQU $CA Allocate RAM blocks -SS.DRAM EQU $CB De-allocate RAM blocks - -* SDisk 3 Definition Equates -SS.DRead EQU SS.AAGBf SDisk3 Direct Sector Read ($80) -SS.DWrit EQU SS.DRead SDisk3 Direct sector Write ($80) -SS.UnFrz EQU SS.SLGBf SDisk3 UNFreeze DD info ($81) -SS.MOFF EQU SS.Mount SDisk3 fast motor off call ($82) -SS.MoTim EQU SS.RdNet SDisk3 Set motor shut off time ($83) -SS.SDRD EQU SS.MpGPB SDisk3 System direct read ($84) -SS.SDWRT EQU SS.SDRD SDisk3 System direct writes ($84) -SS.Sleep EQU SS.Slots SDisk3 (DMC ONLY) Enable/disable F$Sleep calls in read/write 1773 I/O ($85) -SS.DrvCh EQU SS.WnSet SDisk3 (DMC ONLY) Set drive number to cache, or return drive number being cached ($86) - - ENDC - - TTL Direct Page Definitions - PAG - -********************************** -* Direct Page Variable Definitions -* - ORG $00 -D.WDAddr RMB 2 FHL/Isted WD1002-05 interface base address -D.WDBtDr RMB 1 FHL/Isted WD1002-05 boot physical device drive num. -D.SWPage RMB 1 SmartWatch page # (see clock2_smart) - RMB 5 -D.COCOXT RMB 1 Busy flag for CoCo-XT driver (one drive at a time) -D.DbgMem RMB 2 Debug memory pointer -D.DWSubAddr RMB 2 DriveWire subroutine module pointer -D.DWStat RMB 2 DriveWire statics page - - ORG $20 - - IFEQ Level-1 - -* Level 1 DP vars -D.FMBM RMB 4 Free memory bit map pointers -D.MLIM RMB 2 Memory limit $24 -D.ModDir RMB 4 Module directory $26 -D.Init RMB 2 Rom base address $2A -D.SWI3 RMB 2 Swi3 vector $2C -D.SWI2 RMB 2 Swi2 vector $2E -D.FIRQ RMB 2 Firq vector $30 -D.IRQ RMB 2 Irq vector $32 -D.SWI RMB 2 Swi vector $34 -D.NMI RMB 2 Nmi vector $36 -D.SvcIRQ RMB 2 Interrupt service entry $38 -D.Poll RMB 2 Interrupt polling routine $3A -D.UsrIRQ RMB 2 User irq routine $3C -D.SysIRQ RMB 2 System irq routine $3E -D.UsrSvc RMB 2 User service request routine $40 -D.SysSvc RMB 2 System service request routine $42 -D.UsrDis RMB 2 User service request dispatch table -D.SysDis RMB 2 System service reuest dispatch table -D.Slice RMB 1 Process time slice count $48 -D.PrcDBT RMB 2 Process descriptor block address $49 -D.Proc RMB 2 Process descriptor address $4B -D.AProcQ RMB 2 Active process queue $4D -D.WProcQ RMB 2 Waiting process queue $4F -D.SProcQ RMB 2 Sleeping process queue $51 -D.Time EQU . Time -D.Year RMB 1 $53 -D.Month RMB 1 $54 -D.Day RMB 1 $55 -D.Hour RMB 1 $56 -D.Min RMB 1 $57 -D.Sec RMB 1 $58 -D.Tick RMB 1 $59 -D.TSec RMB 1 Ticks / second $5A -D.TSlice RMB 1 Ticks / time-slice $5B -D.IOML RMB 2 I/O mgr free memory low bound $5C -D.IOMH RMB 2 I/O mgr free memory hi bound $5E -D.DevTbl RMB 2 Device driver table addr $60 -D.PolTbl RMB 2 Irq polling table addr $62 -D.PthDBT RMB 2 Path descriptor block table addr $64 -D.BTLO RMB 2 Bootstrap low address $66 -D.BTHI RMB 2 Bootstrap hi address $68 -D.DMAReq RMB 1 DMA in use flag $6A -D.AltIRQ RMB 2 Alternate IRQ vector (CC) $6B -D.KbdSta RMB 2 Keyboard scanner static storage (CC) $6D -D.DskTmr RMB 2 Disk Motor Timer (CC) $6F -D.CBStrt RMB 16 reserved for CC warmstart ($71) -D.Clock RMB 2 Address of Clock Tick Routine (CC) $81 -D.Boot RMB 1 Bootstrap attempted flag -D.URtoSs RMB 2 address of user to system routine (VIRQ) $84 -D.CLTb RMB 2 Pointer to clock interrupt table (VIRQ) $86 -D.MDREG RMB 1 6309 MD (mode) shadow register $88 (added in V2.01.00) -D.CRC RMB 1 CRC checking mode flag $89 (added in V2.01.00) -D.Clock2 RMB 2 CC Clock2 entry address - - ORG $100 -D.XSWI3 RMB 3 -D.XSWI2 RMB 3 -D.XFIRQ RMB 3 -D.XIRQ RMB 3 -D.XSWI RMB 3 -D.XNMI RMB 3 - -* Table Sizes -BMAPSZ EQU 32 Bitmap table size -SVCTNM EQU 2 Number of service request tables -SVCTSZ EQU (256-BMAPSZ)/SVCTNM-2 Service request table size - - ELSE - -* Level 2 DP vars -D.Tasks RMB 2 Task User Table -D.TmpDAT RMB 2 Temporary DAT Image stack -D.Init RMB 2 Initialization Module ptr -D.Poll RMB 2 Interrupt Polling Routine ptr -D.Time EQU . System Time -D.Year RMB 1 -D.Month RMB 1 -D.Day RMB 1 -D.Hour RMB 1 -D.Min RMB 1 -D.Sec RMB 1 -D.Tick RMB 1 -D.Slice RMB 1 current slice remaining -D.TSlice RMB 1 Ticks per Slice -D.Boot RMB 1 Bootstrap attempted flag -D.MotOn RMB 1 Floppy Disk Motor-On time out -D.ErrCod RMB 1 Reset Error Code -D.Daywk RMB 1 day of week, com-trol clock -D.TkCnt RMB 1 Tick Counter -D.BtPtr RMB 2 Address of Boot in System Address space -D.BtSz RMB 2 Size of Boot - - IFNE H6309 -D.MDREG RMB 1 6309 MD (mode) shadow register - ELSE - RMB 1 Currently unused in NitrOS-9/6809 - ENDC - -D.CRC RMB 1 CRC checking mode flag - -D.Tenths RMB 1 Tenths and hundredths of second for F$Xtime -D.Task1N RMB 1 Map type 1 task number*2 - offset into [D.TskIPt] -D.Quick RMB 1 Quick system call return flag - 0 =stack is at $FEE1 -D.QIRQ RMB 1 Quick IRQ flag - 0 =IRQ wasn't clock, so quick return - - ORG $40 -D.BlkMap RMB 4 Memory Block Map ptr -D.ModDir RMB 4 Module Directory ptrs -D.PrcDBT RMB 2 Process Descriptor Block Table ptr -D.SysPrc RMB 2 System Process Descriptor ptr -D.SysDAT RMB 2 System DAT Image ptr -D.SysMem RMB 2 System Memory Map ptr -D.Proc RMB 2 Current Process ptr -D.AProcQ RMB 2 Active Process Queue -D.WProcQ RMB 2 Waiting Process Queue -D.SProcQ RMB 2 Sleeping Process Queue -D.ModEnd RMB 2 Module Directory end ptr -D.ModDAT RMB 2 Module Dir DAT image end ptr -D.CldRes RMB 2 Cold Restart vector -D.BtBug RMB 3 Boot debug information -D.Pipe RMB 2 - - ORG $6B -D.Crash RMB 6 Pointer to CC Crash Routine -D.CBStrt RMB $B Reserved for CC warmstart ($71) -D.QCnt RMB 1 Count of number of quick system calls performed - - ORG $80 -D.DevTbl RMB 2 I/O Device Table -D.PolTbl RMB 2 I/O Polling Table - RMB 4 reserved -D.PthDBT RMB 2 Path Descriptor Block Table ptr -D.DMAReq RMB 1 DMA Request flag - -******** -* CoCo 3 STUFF COMES NEXT -* This area is used for the CoCo Hardware Registers -* - ORG $90 -D.HINIT RMB 1 GIME INIT0 register (hardware setup $FF90) -D.TINIT RMB 1 GIME INIT1 register (timer/task register $FF91) -D.IRQER RMB 1 Interrupt enable regsiter ($FF92) -D.FRQER RMB 1 Fast Interrupt enable register ($FF93) -D.TIMMS RMB 1 Timer most significant nibble ($FF94) -D.TIMLS RMB 1 Timer least significant byte ($FF95) -D.RESV1 RMB 1 reserved register ($FF96) -D.RESV2 RMB 1 reserved register ($FF97) -D.VIDMD RMB 1 video mode register ($FF98) -D.VIDRS RMB 1 video resolution register ($FF99) -D.BORDR RMB 1 border register ($FF9A) -D.RESV3 RMB 1 reserved register ($FF9B) -D.VOFF2 RMB 1 vertical scroll/offset 2 register ($FF9C) -D.VOFF1 RMB 1 vertical offset 1 register ($FF9D) -D.VOFF0 RMB 1 vertical offset 0 register ($FF9E) -D.HOFF0 RMB 1 horizontal offset 0 register ($FF9F) -D.Speed RMB 1 Speed of COCO CPU 0=slow,1=fast ($A0) -D.TskIPt RMB 2 Task image Pointer table (CC) ($A1) -D.MemSz RMB 1 128/512K memory flag (CC) ($A3) -D.SSTskN RMB 1 System State Task Number (COCO) ($A4) -D.CCMem RMB 2 Pointer to beginning of CC Memory ($A5) -D.CCStk RMB 2 Pointer to top of CC Memory ($A7) -D.Flip0 RMB 2 Change to Task 0 ($A9) -D.Flip1 RMB 2 Change to reserved Task 1 ($AB) -D.VIRQ RMB 2 VIRQ Polling routine ($AD) -D.IRQS RMB 1 IRQ shadow register (CC Temporary) ($AF) -D.CLTb RMB 2 VIRQ Table address ($B0) -D.AltIRQ RMB 2 Alternate IRQ Vector (CC) ($B2) -D.GPoll RMB 2 CC GIME IRQ enable/disable toggle -D.Clock2 RMB 2 CC Clock2 entry address - ORG $C0 -D.SysSvc RMB 2 System Service Routine entry -D.SysDis RMB 2 System Service Dispatch Table ptr -D.SysIRQ RMB 2 System IRQ Routine entry -D.UsrSvc RMB 2 User Service Routine entry -D.UsrDis RMB 2 User Service Dispatch Table ptr -D.UsrIRQ RMB 2 User IRQ Routine entry -D.SysStk RMB 2 System stack -D.SvcIRQ RMB 2 In-System IRQ service -D.SysTsk RMB 1 System Task number - ORG $E0 -D.Clock RMB 2 -D.XSWI3 RMB 2 -D.XSWI2 RMB 2 -D.XFIRQ RMB 2 -D.XIRQ RMB 2 -D.XSWI RMB 2 -D.XNMI RMB 2 -D.ErrRst RMB 2 -D.SysVec RMB 2 F$xxx system call vector for NitrOS-9 Level 3 -D.SWI3 RMB 2 -D.SWI2 RMB 2 -D.FIRQ RMB 2 -D.IRQ RMB 2 -D.SWI RMB 2 -D.NMI RMB 2 - -************************* -* Level 2 Block Map flags -* -NotRAM EQU %10000000 Block Not RAM flag -VidRAM EQU %00000100 Block is being used as Video RAM -ModBlock EQU %00000010 Module in Block -RAMinUse EQU %00000001 RAM Block in use flag -* -* Service Dispatch Table special entries -* -IOEntry EQU 254 - - ENDC - - TTL Structure Formats - PAG -************************************ -* Module Directory Entry Definitions -* - ORG 0 - IFGT Level-1 -MD$MPDAT RMB 2 Module DAT Image ptr -MD$MBSiz RMB 2 Memory Block size - ENDC -MD$MPtr RMB 2 Module ptr -MD$Link RMB 2 Module Link count -MD$ESize EQU . Module Directory Entry size - -************************************ -* Module Definitions -* -* Universal Module Offsets -* - ORG 0 -M$ID RMB 2 ID Code -M$Size RMB 2 Module Size -M$Name RMB 2 Module Name -M$Type RMB 1 Type / Language -M$Revs RMB 1 Attributes / Revision Level -M$Parity RMB 1 Header Parity -M$IDSize EQU . Module ID Size -* -* Type-Dependent Module Offsets -* -* System, File Manager, Device Driver, Program Module -* -M$Exec RMB 2 Execution Entry Offset -* -* Device Driver, Program Module -* -M$Mem RMB 2 Stack Requirement -* -* Device Driver, Device Descriptor Module -* -M$Mode RMB 1 Device Driver Mode Capabilities -* -* Device Descriptor Module -* - ORG M$IDSize -M$FMgr RMB 2 File Manager Name Offset -M$PDev RMB 2 Device Driver Name Offset - RMB 1 M$Mode (defined above) -M$Port RMB 3 Port Address -M$Opt RMB 1 Device Default Options -M$DTyp RMB 1 Device Type -IT.DTP EQU M$DTyp Descriptor type offset -* -* Configuration Module Entry Offsets -* - ORG M$IDSize -MaxMem RMB 3 Maximum Free Memory -PollCnt RMB 1 Entries in Interrupt Polling Table -DevCnt RMB 1 Entries in Device Table -InitStr RMB 2 Initial Module Name -SysStr RMB 2 System Device Name -StdStr RMB 2 Standard I/O Pathlist -BootStr RMB 2 Bootstrap Module name -ProtFlag RMB 1 Write protect enable flag - -OSLevel RMB 1 OS level -OSVer RMB 1 OS version -OSMajor RMB 1 OS major -OSMinor RMB 1 OS minor -Feature1 RMB 1 feature byte 1 -Feature2 RMB 1 feature byte 2 -OSName RMB 2 OS revision name string (nul terminated) -InstallName RMB 2 installation name string (nul terminated) - RMB 4 reserved for future use - - IFGT Level-1 -* -- VTIO area -- (NitrOS-9 Level 2 and above) * -MonType RMB 1 Monitor type (0=CMP,1=RGB,2=MONO) -MouseInf RMB 2 Mouse resolution/Mouse port; was 1, major error RG. -KeyRptS RMB 1 Key repeat start constant -KeyRptD RMB 1 Key repeat delay constant - ENDC - -* Feature1 byte definitions -CRCOn EQU %00000001 CRC checking on -CRCOff EQU %00000000 CRC checking off -Proc6809 EQU %00000000 6809 procesor -Proc6309 EQU %00000010 6309 procesor - - PAG -************************** -* Module Field Definitions -* -* ID Field - First two bytes of a NitrOS-9 module -* -M$ID1 EQU $87 Module ID code byte one -M$ID2 EQU $CD Module ID code byte two -M$ID12 EQU M$ID1*256+M$ID2 - -* -* Module Type/Language Field Masks -* -TypeMask EQU %11110000 Type Field -LangMask EQU %00001111 Language Field - -* -* Module Type Values -* -Devic EQU $F0 Device Descriptor Module -Drivr EQU $E0 Physical Device Driver -FlMgr EQU $D0 File Manager -Systm EQU $C0 System Module -ShellSub EQU $50 Shell+ shell sub module -Data EQU $40 Data Module -Multi EQU $30 Multi-Module -Sbrtn EQU $20 Subroutine Module -Prgrm EQU $10 Program Module - -* -* Module Language Values -* -Objct EQU 1 6809 Object Code Module -ICode EQU 2 Basic09 I-code -PCode EQU 3 Pascal P-code -CCode EQU 4 C I-code -CblCode EQU 5 Cobol I-code -FrtnCode EQU 6 Fortran I-code -Obj6309 EQU 7 6309 object code -* -* Module Attributes / Revision byte -* -* Field Masks -* -AttrMask EQU %11110000 Attributes Field -RevsMask EQU %00001111 Revision Level Field -* -* Attribute Flags -* -ReEnt EQU %10000000 Re-Entrant Module -ModProt EQU %01000000 Gimix Module protect bit (0=protected, 1=write enable) -ModNat EQU %00100000 6309 native mode attribute - -******************** -* Device Type Values -* -* These values define various classes of devices, which are -* managed by a file manager module. The Device Type is embedded -* in a device's device descriptor. -* -DT.SCF EQU 0 Sequential Character File Manager -DT.RBF EQU 1 Random Block File Manager -DT.Pipe EQU 2 Pipe File Manager -DT.SBF EQU 3 Sequential Block File Manager -DT.NFM EQU 4 Network File Manager -DT.CDFM EQU 5 CD-ROM File Manager -DT.RFM EQU 6 Remote File Manager - -********************* -* CRC Result Constant -* -CRCCon1 EQU $80 -CRCCon23 EQU $0FE3 - - TTL Process Information - PAG -******************************** -* Process Descriptor Definitions -* - IFEQ Level-1 - -* Level 1 process descriptor defs -DefIOSiz EQU 12 -NumPaths EQU 16 Number of Local Paths - - ORG 0 -P$ID RMB 1 Process ID -P$PID RMB 1 Parent's ID -P$SID RMB 1 Sibling's ID -P$CID RMB 1 Child's ID -P$SP RMB 2 Stack ptr -P$CHAP RMB 1 process chapter number -P$ADDR RMB 1 user address beginning page number -P$PagCnt RMB 1 Memory Page Count -P$User RMB 2 User Index $09 -P$Prior RMB 1 Priority $0B -P$Age RMB 1 Age $0C -P$State RMB 1 Status $0D -P$Queue RMB 2 Queue Link (Process ptr) $0E -P$IOQP RMB 1 Previous I/O Queue Link (Process ID) $10 -P$IOQN RMB 1 Next I/O Queue Link (Process ID) -P$PModul RMB 2 Primary Module -P$SWI RMB 2 SWI Entry Point -P$SWI2 RMB 2 SWI2 Entry Point -P$SWI3 RMB 2 SWI3 Entry Point $18 -P$DIO RMB DefIOSiz default I/O ptrs $1A -P$PATH RMB NumPaths I/O path table $26 -P$Signal RMB 1 Signal Code $36 -P$SigVec RMB 2 Signal Intercept Vector -P$SigDat RMB 2 Signal Intercept Data Address -P$NIO RMB 4 additional dio pointers for net - RMB $40-. unused -P$Size EQU . Size of Process Descriptor - -* -* Process State Flags -* -SysState EQU %10000000 -TimSleep EQU %01000000 -TimOut EQU %00100000 -ImgChg EQU %00010000 -Condem EQU %00000010 -Dead EQU %00000001 - - ELSE - -* Level 2 process descriptor defs -DefIOSiz EQU 16 Default I/O Data Length -NefIOSiz EQU 12 On-Net Default I/O Data Length -NumPaths EQU 16 Number of Local Paths - - ORG 0 -P$ID RMB 1 Process ID -P$PID RMB 1 Parent's ID -P$SID RMB 1 Sibling's ID -P$CID RMB 1 Child's ID -P$SP RMB 2 Stack ptr -P$Task RMB 1 Task Number -P$PagCnt RMB 1 Memory Page Count -P$User RMB 2 User Index -P$Prior RMB 1 Priority -P$Age RMB 1 Age -P$State RMB 1 Status -P$Queue RMB 2 Queue Link (Process ptr) -P$IOQP RMB 1 Previous I/O Queue Link (Process ID) -P$IOQN RMB 1 Next I/O Queue Link (Process ID) -P$PModul RMB 2 Primary Module -P$SWI RMB 2 SWI Entry Point -P$SWI2 RMB 2 SWI2 Entry Point -P$SWI3 RMB 2 SWI3 Entry Point -P$Signal RMB 1 Signal Code -P$SigVec RMB 2 Signal Intercept Vector -P$SigDat RMB 2 Signal Intercept Data Address -P$DeadLk RMB 1 Dominant proc ID if I/O locked - RMB $20-. unused -P$DIO RMB DefIOSiz Default I/O ptrs -P$Path RMB NumPaths I/O Path Table -P$DATImg RMB 64 DAT Image -P$Links RMB 32 Block Link counts -P$NIO RMB 6*2 additional DIO ptrs for net, compatible with 68k -P$SelP RMB 1 Selected Path for COCO Windows (Default 0) -P$UTicks RMB 4 proc User Tick counter (L2V3) -P$STicks RMB 4 proc System Tick counter (L2V3) -P$FCalls RMB 4 proc F$ call counter (L2V3) -P$ICalls RMB 4 proc I$ call counter (L2V3) -P$DatBeg RMB 3 proc Date of creation (Y/M/D) (L2V3) -P$TimBeg RMB 3 proc Time of creation (H/M/S) (L2V3) -P$Alarm RMB 6 - RMB $200-. Local stack -P$Stack EQU . Top of Stack -P$Size EQU . Size of Process Descriptor - -* -* Process State Flags -* -SysState EQU %10000000 -TimSleep EQU %01000000 -TimOut EQU %00100000 -ImgChg EQU %00010000 -Suspend EQU %00001000 -Condem EQU %00000010 -Dead EQU %00000001 - - ENDC - - TTL NitrOS-9 I/O Symbolic Definitions - PAG -************************* -* Path Descriptor Offsets -* - ORG 0 -PD.PD RMB 1 Path Number -PD.MOD RMB 1 Mode (Read/Write/Update) -PD.CNT RMB 1 Number of Open Images -PD.DEV RMB 2 Device Table Entry Address -PD.CPR RMB 1 Current Process -PD.RGS RMB 2 Caller's Register Stack -PD.BUF RMB 2 Buffer Address -PD.FST RMB 32-. File Manager's Storage -PD.OPT EQU . PD GetSts(0) Options -PD.DTP RMB 1 Device Type - RMB 64-. Path options -PDSIZE EQU . - -* -* Pathlist Special Symbols -* -PDELIM EQU '/ Pathlist Name Separator -PDIR EQU '. Directory -PENTIR EQU '@ Entire Device - - PAG -**************************** -* File Manager Entry Offsets -* - ORG 0 -FMCREA RMB 3 Create (Open New) File -FMOPEN RMB 3 Open File -FMMDIR RMB 3 Make Directory -FMCDIR RMB 3 Change Directory -FMDLET RMB 3 Delete File -FMSEEK RMB 3 Position File -FMREAD RMB 3 Read from File -FMWRIT RMB 3 Write to File -FMRDLN RMB 3 ReadLn -FMWRLN RMB 3 WritLn -FMGSTA RMB 3 Get File Status -FMSSTA RMB 3 Set File Status -FMCLOS RMB 3 Close File - -***************************** -* Device Driver Entry Offsets -* - ORG 0 -D$INIT RMB 3 Device Initialization -D$READ RMB 3 Read from Device -D$WRIT RMB 3 Write to Device -D$GSTA RMB 3 Get Device Status -D$PSTA RMB 3 Put Device Status -D$TERM RMB 3 Device Termination - -********************* -* Device Table Format -* - ORG 0 -V$DRIV RMB 2 Device Driver module -V$STAT RMB 2 Device Driver Static storage -V$DESC RMB 2 Device Descriptor module -V$FMGR RMB 2 File Manager module -V$USRS RMB 1 use count - IFGT Level-1 -V$DRIVEX RMB 2 Device Driver execution address -V$FMGREX RMB 2 File Manager execution address - ENDC -DEVSIZ EQU . - -******************************* -* Device Static Storage Offsets -* - ORG 0 -V.PAGE RMB 1 Port Extended Address -V.PORT RMB 2 Device 'Base' Port Address -V.LPRC RMB 1 Last Active Process ID -V.BUSY RMB 1 Active Process ID (0=UnBusy) -V.WAKE RMB 1 Active PD if Driver MUST Wake-up -V.USER EQU . Driver Allocation Origin - -******************************** -* Interrupt Polling Table Format -* - ORG 0 -Q$POLL RMB 2 Absolute Polling Address -Q$FLIP RMB 1 Flip (EOR) Byte ..normally Zero -Q$MASK RMB 1 Polling Mask (after Flip) -Q$SERV RMB 2 Absolute Service routine Address -Q$STAT RMB 2 Static Storage Address -Q$PRTY RMB 1 Priority (Low Numbers=Top Priority) - IFGT Level-1 -Q$MAP RMB 2 NitrOS-9 Level 2 and above - ENDC -POLSIZ EQU . - -******************** -* VIRQ packet format -* - ORG 0 -Vi.Cnt RMB 2 count down counter -Vi.Rst RMB 2 reset value for counter -Vi.Stat RMB 1 status byte -Vi.PkSz EQU . - -Vi.IFlag EQU %00000001 status byte virq flag - - PAG -************************************* -* Machine Characteristics Definitions -* -R$CC EQU 0 Condition Codes register -R$A EQU 1 A Accumulator -R$B EQU 2 B Accumulator -R$D EQU R$A Combined A:B Accumulator - IFNE H6309 -R$E EQU 3 E Accumulator -R$F EQU 4 F Accumulator -R$W EQU R$E Combined E:F Accumulator -R$Q EQU R$A Combined A:B:E:F Accumulator -R$DP EQU 5 Direct Page register -R$X EQU 6 X Index register -R$Y EQU 8 Y Index register -R$U EQU 10 User Stack register -R$PC EQU 12 Program Counter register -R$Size EQU 14 Total register package size - ELSE -R$DP EQU 3 Direct Page register -R$X EQU 4 X Index register -R$Y EQU 6 Y Index register -R$U EQU 8 User Stack register -R$PC EQU 10 Program Counter register -R$Size EQU 12 Total register package size - ENDC - -* MD register masks -* 6309 definitions -DIV0 EQU %10000000 division by 0 trap flag : 1 = trap occured -badinstr EQU %01000000 illegal instruction trap flag : 1 = trap occured - -Entire EQU %10000000 Full Register Stack flag -FIRQMask EQU %01000000 Fast-Interrupt Mask bit -HalfCrry EQU %00100000 Half Carry flag -IRQMask EQU %00010000 Interrupt Mask bit -Negative EQU %00001000 Negative flag -Zero EQU %00000100 Zero flag -TwosOvfl EQU %00000010 Two's Comp Overflow flag -Carry EQU %00000001 Carry bit -IntMasks EQU IRQMask+FIRQMask -Sign EQU %10000000 sign bit - - TTL Error Code Definitions - PAG -************************ -* Error Code Definitions -* -* Basic09 Error Codes -* - ORG 10 -E$UnkSym RMB 1 Unknown symbol -E$ExcVrb RMB 1 Excessive verbage -E$IllStC RMB 1 Illegal statement construction -E$ICOvf RMB 1 I-code overflow -E$IChRef RMB 1 Illegal channel reference -E$IllMod RMB 1 Illegal mode -E$IllNum RMB 1 Illegal number -E$IllPrf RMB 1 Illegal prefix -E$IllOpd RMB 1 Illegal operand -E$IllOpr RMB 1 Illegal operator -E$IllRFN RMB 1 Illegal record field name -E$IllDim RMB 1 Illegal dimension -E$IllLit RMB 1 Illegal literal -E$IllRet RMB 1 Illegal relational -E$IllSfx RMB 1 Illegal type suffix -E$DimLrg RMB 1 Dimension too large -E$LinLrg RMB 1 Line number too large -E$NoAssg RMB 1 Missing assignment statement -E$NoPath RMB 1 Missing path number -E$NoComa RMB 1 Missing coma -E$NoDim RMB 1 Missing dimension -E$NoDO RMB 1 Missing DO statement -E$MFull RMB 1 Memory full -E$NoGoto RMB 1 Missing GOTO -E$NoLPar RMB 1 Missing left parenthesis -E$NoLRef RMB 1 Missing line reference -E$NoOprd RMB 1 Missing operand -E$NoRPar RMB 1 Missing right parenthesis -E$NoTHEN RMB 1 Missing THEN statement -E$NoTO RMB 1 Missing TO statement -E$NoVRef RMB 1 Missing variable reference -E$EndQou RMB 1 Missing end quote -E$SubLrg RMB 1 Too many subscripts -E$UnkPrc RMB 1 Unknown procedure -E$MulPrc RMB 1 Multiply defined procedure -E$DivZer RMB 1 Divice by zero -E$TypMis RMB 1 Operand type mismatch -E$StrOvf RMB 1 String stack overflow -E$NoRout RMB 1 Unimplemented routine -E$UndVar RMB 1 Undefined variable -E$FltOvf RMB 1 Floating Overflow -E$LnComp RMB 1 Line with compiler error -E$ValRng RMB 1 Value out of range for destination -E$SubOvf RMB 1 Subroutine stack overflow -E$SubUnd RMB 1 Subroutine stack underflow -E$SubRng RMB 1 Subscript out of range -E$ParmEr RMB 1 Paraemter error -E$SysOvf RMB 1 System stack overflow -E$IOMism RMB 1 I/O type mismatch -E$IONum RMB 1 I/O numeric input format bad -E$IOConv RMB 1 I/O conversion: number out of range -E$IllInp RMB 1 Illegal input format -E$IOFRpt RMB 1 I/O format repeat error -E$IOFSyn RMB 1 I/O format syntax error -E$IllPNm RMB 1 Illegal path number -E$WrSub RMB 1 Wrong number of subscripts -E$NonRcO RMB 1 Non-record type operand -E$IllA RMB 1 Illegal argument -E$IllCnt RMB 1 Illegal control structure -E$UnmCnt RMB 1 Unmatched control structure -E$IllFOR RMB 1 Illegal FOR variable -E$IllExp RMB 1 Illegal expression type -E$IllDec RMB 1 Illegal declarative statement -E$ArrOvf RMB 1 Array size overflow -E$UndLin RMB 1 Undefined line number -E$MltLin RMB 1 Multiply defined line number -E$MltVar RMB 1 Multiply defined variable -E$IllIVr RMB 1 Illegal input variable -E$SeekRg RMB 1 Seek out of range -E$NoData RMB 1 Missing data statement - -* -* System Dependent Error Codes -* - -* Level 2 windowing error codes - ORG 183 -E$IWTyp RMB 1 Illegal window type -E$WADef RMB 1 Window already defined -E$NFont RMB 1 Font not found -E$StkOvf RMB 1 Stack overflow -E$IllArg RMB 1 Illegal argument - RMB 1 reserved -E$ICoord RMB 1 Illegal coordinates -E$Bug RMB 1 Bug (should never be returned) -E$BufSiz RMB 1 Buffer size is too small -E$IllCmd RMB 1 Illegal command -E$TblFul RMB 1 Screen or window table is full -E$BadBuf RMB 1 Bad/Undefined buffer number -E$IWDef RMB 1 Illegal window definition -E$WUndef RMB 1 Window undefined - -E$Up RMB 1 Up arrow pressed on SCF I$ReadLn with PD.UP enabled -E$Dn RMB 1 Down arrow pressed on SCF I$ReadLn with PD.DOWN enabled -E$Alias RMB 1 - - -* -* Standard NitrOS-9 Error Codes -* - ORG 200 -E$PthFul RMB 1 Path Table full -E$BPNum RMB 1 Bad Path Number -E$Poll RMB 1 Polling Table Full -E$BMode RMB 1 Bad Mode -E$DevOvf RMB 1 Device Table Overflow -E$BMID RMB 1 Bad Module ID -E$DirFul RMB 1 Module Directory Full -E$MemFul RMB 1 Process Memory Full -E$UnkSvc RMB 1 Unknown Service Code -E$ModBsy RMB 1 Module Busy -E$BPAddr RMB 1 Bad Page Address -E$EOF RMB 1 End of File - RMB 1 -E$NES RMB 1 Non-Existing Segment -E$FNA RMB 1 File Not Accesible -E$BPNam RMB 1 Bad Path Name -E$PNNF RMB 1 Path Name Not Found -E$SLF RMB 1 Segment List Full -E$CEF RMB 1 Creating Existing File -E$IBA RMB 1 Illegal Block Address -E$HangUp RMB 1 Carrier Detect Lost -E$MNF RMB 1 Module Not Found - RMB 1 -E$DelSP RMB 1 Deleting Stack Pointer memory -E$IPrcID RMB 1 Illegal Process ID -E$BPrcID EQU E$IPrcID Bad Process ID (formerly #238) - RMB 1 -E$NoChld RMB 1 No Children -E$ISWI RMB 1 Illegal SWI code -E$PrcAbt RMB 1 Process Aborted -E$PrcFul RMB 1 Process Table Full -E$IForkP RMB 1 Illegal Fork Parameter -E$KwnMod RMB 1 Known Module -E$BMCRC RMB 1 Bad Module CRC -E$USigP RMB 1 Unprocessed Signal Pending -E$NEMod RMB 1 Non Existing Module -E$BNam RMB 1 Bad Name -E$BMHP RMB 1 (bad module header parity) -E$NoRAM RMB 1 No (System) RAM Available -E$DNE RMB 1 Directory not empty -E$NoTask RMB 1 No available Task number - RMB $F0-. reserved -E$Unit RMB 1 Illegal Unit (drive) -E$Sect RMB 1 Bad Sector number -E$WP RMB 1 Write Protect -E$CRC RMB 1 Bad Check Sum -E$Read RMB 1 Read Error -E$Write RMB 1 Write Error -E$NotRdy RMB 1 Device Not Ready -E$Seek RMB 1 Seek Error -E$Full RMB 1 Media Full -E$BTyp RMB 1 Bad Type (incompatable) media -E$DevBsy RMB 1 Device Busy -E$DIDC RMB 1 Disk ID Change -E$Lock RMB 1 Record is busy (locked out) -E$Share RMB 1 Non-sharable file busy -E$DeadLk RMB 1 I/O Deadlock error - - - IFEQ Level-1 - -******************************** -* Boot defs for NitrOS-9 Level 1 -* -* These defs are not strictly for 'Boot', but are for booting the -* system. -* -Bt.Start EQU $EE00 Start address of the boot track in memory - -* Boot area size on Dragon is only 16 sectors=4K - IFNE DRAGON -Bt.Size EQU $1000 Max size of boot file - ELSE -Bt.Size EQU $1080 Maximum size of bootfile - ENDC - - ELSE - -****************************************** -* Boot defs for NitrOS-9 Level 2 and above -* -* These defs are not strictly for 'Boot', but are for booting the -* system. -* -Bt.Block EQU $3B Block to map in for the 'OS9BOOT' screen -Bt.Flag EQU $8A34 Flag in Bt.Block to verify that it's unchanged -Bt.Offst EQU 2 Offset into the screen where the current ptr is -Bt.Start EQU $ED00 Start address of the boot track in memory - - ENDC - -* Boot area on the Dragon starts on track 0 sector 2, imediatly -* after the blockmap. -* On the CoCo, the boot track is all of track 34 - - IFNE DRAGON -Bt.Track EQU 0 Boot track -Bt.Sec EQU 2 Start LSN of boot area on boot track - ELSE -Bt.Track EQU 34 Boot track -Bt.Sec EQU 0 Start LSN of boot area on boot track - ENDC - - - IFGT Level-2 -*************************** -* Level 3 Defs -* -* These definitions apply to NitrOS-9 Level 3 -* -L3.Start EQU $2000 Start off at slot 1 -L3.Size EQU $40 Go for 64 pages: 2 slots total -L3.Blks EQU L3.Size/$20 Number of slots -L3.End EQU L3.Start+L3.Size*$0100 end of L3 memory -L3.SCF EQU $0660 SCF block ptr -L3.RBF EQU L3.SCF+1 RBF block ptr - ENDC - - ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/rbf.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/rbf.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,362 @@ + IFNE RBF.D-1 + +RBF.D SET 1 + +******************************************************************** +* rbf.d - Random Block File Manager Definitions +* +* $Id$ +* +* RBF stands for 'Random Block Filemanager' and is a package of subroutines +* that define the logical structure of a disk and allows access to the files +* in that structure. +* +* The data structures in this file give RBF its 'personality' and are used +* by RBF itself, as well as applications that will require disk I/O. +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 1982/07/13 Robert F. Doggett +* PD.Exten added to path descriptor and PE Entries defined. +* +* 1982/07/15 Robert F. Doggett +* V.FileHd inserted in driver static storage. +* +* 1982/09/10 WGP +* Level One/Level Two condionals added. +* +* 1982/09/17 WGP +* +* 1982/09/17 Robert F. Doggett +* PD.SLE renamed to PD.Creat. +* +* 1982/09/17 Robert F. Doggett +* V.DiskID, V.BMapSz, V.MapSct added for smart multi-sector bitmap searching. +* +* 1982/09/20 Robert F. Doggett +* Reserved areas added in static storage. + +* 1983/06/07 Robert F. Doggett +* Added InDriver flag in PD.SMF. +* +* 1983/06/13 Robert F. Doggett +* Added PE.Req tmp save for PE.Lock. +* +* 1983/08/08 Robert F. Doggett +* Reserved PD.SToff for Japanese. +* +* 1983/11/19 Robert F. Doggett +* Added V.ResBit in drive tables. +* +* 1983/12/12 Robert F. Doggett +* Added PE.Prior to save process priority. +* +* 1983/12/13 Robert F. Doggett +* Added BufBusy bit in state flag (PD.SMF). +* +* 1984/07/06 Mark G. Hawkins +* Added Bit Definitions for DD.FMT. +* +* 1987/06/23 Kevin K. Darling +* Updated with Dev Desc Info +* +* 2003/06/02 Boisy G. Pitre +* Updated comments for clarity. +* Added TYP.256-TYP.2048 definitions for future expansion. +* +* 2004/04/14 Boisy G. Pitre +* Added new entries to device descriptor as per OS-9 Level One V2.00.00 +* addendum. Pointed out by Rodney Hamilton. +* +* 2005/05/31 P.Harvey-Smith. +* Added defines for bit 2 of IT.DNS, which the format command uses to +* determine if a drive should have it's track 0 as single or double density +* +* 2005/11/23 Robert Gault +* Added IT.MPI giving it duplicate location with IT.TFM. This will not be +* transferred to the path descriptor, thus the equ * rahter than rmb 1. +* +* 2005/12/11 Boisy G. Pitre +* Added IT.SOFF1-ITSOFF3 and IT.LLDRV for SuperDrivers. + + NAM rbf.d + TTL Random Block File Manager Definitions + + PAG +******************************* +* RBF Device Descriptor Offsets +* +* These definitions are for RBF device descriptors. + + ORG M$DTyp + RMB 1 Device type (DT.RBF) +IT.DRV RMB 1 Drive number +IT.STP RMB 1 Step rate +IT.TYP RMB 1 Disk device type information +IT.DNS RMB 1 Density capability +IT.CYL RMB 2 Number of cylinders +IT.SID RMB 1 Number of surfaces +IT.VFY RMB 1 Verify disk writes (0 = verify, 1 = don't) +IT.SCT RMB 2 Default sectors/track +IT.T0S RMB 2 Default sectors/track for track 0 sector 0 +IT.ILV RMB 1 Sector interleave offset +IT.SAS RMB 1 Segment allocation size +* The following fields are from the OS-9 Level One V2.00.00 Addendum +IT.TFM RMB 1 DMA Transfer Mode +IT.Exten RMB 2 Path Extension (PE) for record locking +IT.SToff RMB 1 Sector/Track offsets (for "foreign" disk formats) +* The following fields are not copied to the path descriptor +IT.WPC RMB 1 Write precomp cyl/4 (HD) +IT.OFS RMB 2 Starting cylinder offset (HD) +IT.RWC RMB 2 Reduced write current cylinder (HD) +* These fields have been added because of SuperDriver. They probably +* can be used in other drivers + ORG IT.WPC +IT.SOFF1 RMB 1 +IT.SOFF2 RMB 1 +IT.SOFF3 RMB 1 +IT.LLDRV RMB 2 +IT.MPI RMB 1 + + +* IT.TYP Definitions +* +TYP.HARD EQU %10000000 Hard disk +TYP.FLP EQU %00000000 Floppy disk +TYP.NSF EQU %01000000 Non-standard format +TYP.SOF EQU %00000000 Standard NitrOS-9 format + +* IT.TYP bit definitions if bit 7 of IT.TYP is set (hard disk) +TYPH.256 EQU %00000000 256 byte sector media +TYPH.512 EQU %00000001 512 byte sector media +TYPH.1024 EQU %00000010 1024 byte sector media +TYPH.2048 EQU %00000011 2048 byte sector media +TYPH.SSM EQU %00000011 Sector size mask +TYPH.DRSV EQU %00001100 Driver-reserved bits +TYPH.DSQ EQU %00010000 Drive size query flag + +* IT.TYP bit definitions if bit 7 of IT.TYP is clear (floppy disk) +TYP.5 EQU %00000000 5" media +TYP.3 EQU %00000001 3.5" media +TYP.SBO EQU %00000010 Sector base offset (clear = 0; sect = 1) +TYP.256 EQU %00000000 256 byte sector media +TYP.512 EQU %00000100 512 byte sector media +TYP.CCF EQU %00100000 CoCo format +TYP.NCCF EQU %00000000 Non-CoCo format + +* IT.DNS Definitions +* + +* If bit 7 of IT.TYP is set, IT.DNS is driver-dependent + +* IT.DNS bit definitions if bit 7 of IT.TYP is clear (floppy disk) +DNS.FM EQU %00000000 Single-density (FM) +DNS.MFM EQU %00000001 Double-density (MFM) +DNS.STD EQU %00000000 Single track distance (48/135 tpi) +DNS.DTD EQU %00000010 Double track distance (96 tpi) + +* Added PHS,2005-05-31, as format seems to use these +DNS.FM0 EQU %00000000 Single density track 0 +DNS.MFM0 EQU %00000100 Double density track 0 + +* Floppy disk step rate definitions +STP.30ms EQU 0 30ms step rate +STP.20ms EQU 1 20ms step rate +STP.12ms EQU 2 12ms step rate +STP.6ms EQU 3 6ms step rate + + PAG +************************************* +* Random Block Path Descriptor Format +* +* A path descriptor is created for every new path that is open +* via the I$Open system call (processed by IOMan). Process +* descriptors track state information of a path. +* + ORG PD.FST +PD.SMF RMB 1 State flags +PD.CP RMB 4 Current logical byte position +PD.SIZ RMB 4 File size +PD.SBL RMB 3 Segment beginning lsn +PD.SBP RMB 3 Segment beginning psn +PD.SSZ RMB 3 Segment size +PD.DSK RMB 2 Disk id +PD.DTB RMB 2 Drive table ptr + ORG PD.OPT + RMB 1 Device type +PD.DRV RMB 1 Drive number +PD.STP RMB 1 Step rate +PD.TYP RMB 1 Disk device type (5" 8" other) +PD.DNS RMB 1 Density capability +PD.CYL RMB 2 Number of cylinders +PD.SID RMB 1 Number of surfaces +PD.VFY RMB 1 0=verify disk writes +PD.SCT RMB 2 Default sectors/track +PD.T0S RMB 2 Default sectors/track tr00,s0 +PD.ILV RMB 1 Sector interleave offset +PD.SAS RMB 1 Segment allocation size +PD.TFM RMB 1 DMA Transfer Mode +PD.Exten RMB 2 Path Extension (PE) for record locking +PD.SToff RMB 1 Sector/Track offsets (for "foreign" disk formats) +PD.ATT RMB 1 File attributes +PD.FD RMB 3 File descriptor psn +PD.DFD RMB 3 Directory file descriptor psn +PD.DCP RMB 4 File directory entry ptr +PD.DVT RMB 2 User readable dev tbl ptr + +* State Flags +BUFMOD EQU $01 Buffer modified +SINBUF EQU $02 Sector in buffer +FDBUF EQU $04 File descriptor in buffer +*EOFSEC equ $08 End of file sector +*EOF equ $10 End of file +InDriver EQU $20 Currently in Disk Driver, or queued +BufBusy EQU $40 Buffer is currently busy + + IFNE Level-1 +************************************ +* Random Block Path Extension Format +* +* RBF paths under Level Two have additional information that +* is referenced by the path extension area. +* + ORG 0 +PE.PE RMB 1 PE path number +PE.PDptr RMB 2 Back ptr to this PE's Path Descriptor +PE.NxFil RMB 2 Drive Open-File list ptr +PE.Confl RMB 2 Circular File Conflict list +PE.Lock RMB 1 Path lockout status +PE.LoLck RMB 4 Low Locked Logical addr +PE.HiLck RMB 4 High Locked Logical addr +PE.Wait RMB 2 PE ptr to (next) locked-out PE +PE.TmOut RMB 2 Max ticks to wait for locked segment +PE.Owner RMB 1 Process ID of owner of locked segment +PE.Req RMB 1 Temp for PE.Lock in GAIN when LockSeg fails +PE.Prior RMB 1 Temp for process priority while in driver +PE.SigSg RMB 1 Signal code to send +PE.SigID RMB 1 Process ID to send the signal to + RMB 32-. Reserved +PE.FilNm RMB 32 Temp for filename during directory search + +* PE.Lock status codes +Unlocked EQU 0 No portion of file is locked +RcdLock EQU 1 Record from LoLck to HiLck locked +FileLock EQU 2 Entire file locked +EofLock EQU 4 End of file is locked + ENDC + + + PAG +*********************** +* LSN0 Disk Data Format +* +* Logical Sector Number 0 is the first sector on an RBF formatted device +* and contains information about the device's size and format. +* + ORG 0 +DD.TOT RMB 3 Total number of sectors +DD.TKS RMB 1 Track size in sectors +DD.MAP RMB 2 Number of bytes in allocation bit map +DD.BIT RMB 2 Number of sectors/bit +DD.DIR RMB 3 Address of root directory fd +DD.OWN RMB 2 Owner +DD.ATT RMB 1 Attributes +DD.DSK RMB 2 Disk ID +DD.FMT RMB 1 Disk format; density/sides +DD.SPT RMB 2 Sectors/track +DD.RES RMB 2 Reserved for future use +DD.SIZ EQU . Device descriptor minimum size +DD.BT RMB 3 System bootstrap sector +DD.BSZ RMB 2 Size of system bootstrap +DD.DAT RMB 5 Creation date +DD.NAM RMB 32 Volume name +DD.OPT RMB 32 Option area + +* DD.FMT Bit Definitions - valid only if device is a floppy disk +FMT.SIDE EQU %00000001 Single Sided=0, Double Sided=1 +FMT.DNS EQU %00000010 Single Density=0, Double Density=1 +FMT.TDNS EQU %00000100 Track Density: 48/135 TPI=0, 96 TPI=1 +FMT.T0DN EQU %00100000 Track 0 Density, see FMT.DNS + + + PAG +************************ +* File Descriptor Format +* +* The file descriptor is a sector that is present for every file +* on an RBF device. It contains attributes, modification dates, +* and segment information on a file. +* + ORG 0 +FD.ATT RMB 1 Attributes +FD.OWN RMB 2 Owner +FD.DAT RMB 5 Date last modified +FD.LNK RMB 1 Link count +FD.SIZ RMB 4 File size +FD.Creat RMB 3 File creation date (YY/MM/DD) +FD.SEG EQU . Beginning of segment list +* Segment List Entry Format + ORG 0 +FDSL.A RMB 3 Segment beginning physical sector number +FDSL.B RMB 2 Segment size +FDSL.S EQU . Segment list entry size +FD.LS1 EQU FD.SEG+((256-FD.SEG)/FDSL.S-1)*FDSL.S +FD.LS2 EQU (256/FDSL.S-1)*FDSL.S +MINSEC SET 16 + + + PAG +************************ +* Directory Entry Format +* +* Directory entries are part of a directory and define the name +* of the file, as well as a pointer to its file descriptor. +* + ORG 0 +DIR.NM RMB 29 File name +DIR.FD RMB 3 File descriptor physical sector number +DIR.SZ EQU . Directory record size + + + PAG +******************** +* RBF Static Storage +* +* Overall Disk Static Storage +* +* Note: This does not reserve any memory for drive tables. Each +* driver is responsible for reserving sufficient memory for +* the appropriate number of tables. +* + ORG V.USER Reserve required ($06) +V.NDRV RMB 1 Number of drives ($07) + RMB 8 reserved ($08) +DRVBEG EQU . Beginning of drive tables ($10) + + + PAG +**************** +* Global Storage For Disk Drive Tables +* +* Each table contains the first 'DD.SIZ' bytes from +* LSN 0, and the current track, stepping rate, +* bitmap use flag, and disk type. +* + ORG 0 + RMB DD.SIZ Device descriptor, LSN 0 +V.TRAK RMB 2 Current track +V.BMB RMB 1 Bit-map use flag +V.FileHd RMB 2 Open file list for this drive +V.DiskID RMB 2 Disk ID +V.BMapSz RMB 1 Bitmap Size +V.MapSct RMB 1 Lowest reasonable bitmap sector +V.ResBit RMB 1 Reserved bitmap sector (for compaction) +V.ScTkOf RMB 1 Sector/Track byte (Combined from descriptor) +V.ScOfst RMB 1 Sector offset split from byte above +V.TkOfst RMB 1 Track offset split from byte above + RMB 4 Reserved +DRVMEM EQU . + + ENDC + diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/rbfdefs --- a/defs/rbfdefs Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,362 +0,0 @@ - IFNE RBFDEFS-1 - -RBFDEFS SET 1 - -******************************************************************** -* RBFDefs - Random Block File Manager Definitions -* -* $Id$ -* -* RBF stands for 'Random Block Filemanager' and is a package of subroutines -* that define the logical structure of a disk and allows access to the files -* in that structure. -* -* The data structures in this file give RBF its 'personality' and are used -* by RBF itself, as well as applications that will require disk I/O. -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 1982/07/13 Robert F. Doggett -* PD.Exten added to path descriptor and PE Entries defined. -* -* 1982/07/15 Robert F. Doggett -* V.FileHd inserted in driver static storage. -* -* 1982/09/10 WGP -* Level One/Level Two condionals added. -* -* 1982/09/17 WGP -* -* 1982/09/17 Robert F. Doggett -* PD.SLE renamed to PD.Creat. -* -* 1982/09/17 Robert F. Doggett -* V.DiskID, V.BMapSz, V.MapSct added for smart multi-sector bitmap searching. -* -* 1982/09/20 Robert F. Doggett -* Reserved areas added in static storage. - -* 1983/06/07 Robert F. Doggett -* Added InDriver flag in PD.SMF. -* -* 1983/06/13 Robert F. Doggett -* Added PE.Req tmp save for PE.Lock. -* -* 1983/08/08 Robert F. Doggett -* Reserved PD.SToff for Japanese. -* -* 1983/11/19 Robert F. Doggett -* Added V.ResBit in drive tables. -* -* 1983/12/12 Robert F. Doggett -* Added PE.Prior to save process priority. -* -* 1983/12/13 Robert F. Doggett -* Added BufBusy bit in state flag (PD.SMF). -* -* 1984/07/06 Mark G. Hawkins -* Added Bit Definitions for DD.FMT. -* -* 1987/06/23 Kevin K. Darling -* Updated with Dev Desc Info -* -* 2003/06/02 Boisy G. Pitre -* Updated comments for clarity. -* Added TYP.256-TYP.2048 definitions for future expansion. -* -* 2004/04/14 Boisy G. Pitre -* Added new entries to device descriptor as per OS-9 Level One V2.00.00 -* addendum. Pointed out by Rodney Hamilton. -* -* 2005/05/31 P.Harvey-Smith. -* Added defines for bit 2 of IT.DNS, which the format command uses to -* determine if a drive should have it's track 0 as single or double density -* -* 2005/11/23 Robert Gault -* Added IT.MPI giving it duplicate location with IT.TFM. This will not be -* transferred to the path descriptor, thus the equ * rahter than rmb 1. -* -* 2005/12/11 Boisy G. Pitre -* Added IT.SOFF1-ITSOFF3 and IT.LLDRV for SuperDrivers. - - NAM RBFDefs - TTL Random Block File Manager Definitions - - PAG -******************************* -* RBF Device Descriptor Offsets -* -* These definitions are for RBF device descriptors. - - ORG M$DTyp - RMB 1 Device type (DT.RBF) -IT.DRV RMB 1 Drive number -IT.STP RMB 1 Step rate -IT.TYP RMB 1 Disk device type information -IT.DNS RMB 1 Density capability -IT.CYL RMB 2 Number of cylinders -IT.SID RMB 1 Number of surfaces -IT.VFY RMB 1 Verify disk writes (0 = verify, 1 = don't) -IT.SCT RMB 2 Default sectors/track -IT.T0S RMB 2 Default sectors/track for track 0 sector 0 -IT.ILV RMB 1 Sector interleave offset -IT.SAS RMB 1 Segment allocation size -* The following fields are from the OS-9 Level One V2.00.00 Addendum -IT.TFM RMB 1 DMA Transfer Mode -IT.Exten RMB 2 Path Extension (PE) for record locking -IT.SToff RMB 1 Sector/Track offsets (for "foreign" disk formats) -* The following fields are not copied to the path descriptor -IT.WPC RMB 1 Write precomp cyl/4 (HD) -IT.OFS RMB 2 Starting cylinder offset (HD) -IT.RWC RMB 2 Reduced write current cylinder (HD) -* These fields have been added because of SuperDriver. They probably -* can be used in other drivers - ORG IT.WPC -IT.SOFF1 RMB 1 -IT.SOFF2 RMB 1 -IT.SOFF3 RMB 1 -IT.LLDRV RMB 2 -IT.MPI RMB 1 - - -* IT.TYP Definitions -* -TYP.HARD EQU %10000000 Hard disk -TYP.FLP EQU %00000000 Floppy disk -TYP.NSF EQU %01000000 Non-standard format -TYP.SOF EQU %00000000 Standard NitrOS-9 format - -* IT.TYP bit definitions if bit 7 of IT.TYP is set (hard disk) -TYPH.256 EQU %00000000 256 byte sector media -TYPH.512 EQU %00000001 512 byte sector media -TYPH.1024 EQU %00000010 1024 byte sector media -TYPH.2048 EQU %00000011 2048 byte sector media -TYPH.SSM EQU %00000011 Sector size mask -TYPH.DRSV EQU %00001100 Driver-reserved bits -TYPH.DSQ EQU %00010000 Drive size query flag - -* IT.TYP bit definitions if bit 7 of IT.TYP is clear (floppy disk) -TYP.5 EQU %00000000 5" media -TYP.3 EQU %00000001 3.5" media -TYP.SBO EQU %00000010 Sector base offset (clear = 0; sect = 1) -TYP.256 EQU %00000000 256 byte sector media -TYP.512 EQU %00000100 512 byte sector media -TYP.CCF EQU %00100000 CoCo format -TYP.NCCF EQU %00000000 Non-CoCo format - -* IT.DNS Definitions -* - -* If bit 7 of IT.TYP is set, IT.DNS is driver-dependent - -* IT.DNS bit definitions if bit 7 of IT.TYP is clear (floppy disk) -DNS.FM EQU %00000000 Single-density (FM) -DNS.MFM EQU %00000001 Double-density (MFM) -DNS.STD EQU %00000000 Single track distance (48/135 tpi) -DNS.DTD EQU %00000010 Double track distance (96 tpi) - -* Added PHS,2005-05-31, as format seems to use these -DNS.FM0 EQU %00000000 Single density track 0 -DNS.MFM0 EQU %00000100 Double density track 0 - -* Floppy disk step rate definitions -STP.30ms EQU 0 30ms step rate -STP.20ms EQU 1 20ms step rate -STP.12ms EQU 2 12ms step rate -STP.6ms EQU 3 6ms step rate - - PAG -************************************* -* Random Block Path Descriptor Format -* -* A path descriptor is created for every new path that is open -* via the I$Open system call (processed by IOMan). Process -* descriptors track state information of a path. -* - ORG PD.FST -PD.SMF RMB 1 State flags -PD.CP RMB 4 Current logical byte position -PD.SIZ RMB 4 File size -PD.SBL RMB 3 Segment beginning lsn -PD.SBP RMB 3 Segment beginning psn -PD.SSZ RMB 3 Segment size -PD.DSK RMB 2 Disk id -PD.DTB RMB 2 Drive table ptr - ORG PD.OPT - RMB 1 Device type -PD.DRV RMB 1 Drive number -PD.STP RMB 1 Step rate -PD.TYP RMB 1 Disk device type (5" 8" other) -PD.DNS RMB 1 Density capability -PD.CYL RMB 2 Number of cylinders -PD.SID RMB 1 Number of surfaces -PD.VFY RMB 1 0=verify disk writes -PD.SCT RMB 2 Default sectors/track -PD.T0S RMB 2 Default sectors/track tr00,s0 -PD.ILV RMB 1 Sector interleave offset -PD.SAS RMB 1 Segment allocation size -PD.TFM RMB 1 DMA Transfer Mode -PD.Exten RMB 2 Path Extension (PE) for record locking -PD.SToff RMB 1 Sector/Track offsets (for "foreign" disk formats) -PD.ATT RMB 1 File attributes -PD.FD RMB 3 File descriptor psn -PD.DFD RMB 3 Directory file descriptor psn -PD.DCP RMB 4 File directory entry ptr -PD.DVT RMB 2 User readable dev tbl ptr - -* State Flags -BUFMOD EQU $01 Buffer modified -SINBUF EQU $02 Sector in buffer -FDBUF EQU $04 File descriptor in buffer -*EOFSEC equ $08 End of file sector -*EOF equ $10 End of file -InDriver EQU $20 Currently in Disk Driver, or queued -BufBusy EQU $40 Buffer is currently busy - - IFNE Level-1 -************************************ -* Random Block Path Extension Format -* -* RBF paths under Level Two have additional information that -* is referenced by the path extension area. -* - ORG 0 -PE.PE RMB 1 PE path number -PE.PDptr RMB 2 Back ptr to this PE's Path Descriptor -PE.NxFil RMB 2 Drive Open-File list ptr -PE.Confl RMB 2 Circular File Conflict list -PE.Lock RMB 1 Path lockout status -PE.LoLck RMB 4 Low Locked Logical addr -PE.HiLck RMB 4 High Locked Logical addr -PE.Wait RMB 2 PE ptr to (next) locked-out PE -PE.TmOut RMB 2 Max ticks to wait for locked segment -PE.Owner RMB 1 Process ID of owner of locked segment -PE.Req RMB 1 Temp for PE.Lock in GAIN when LockSeg fails -PE.Prior RMB 1 Temp for process priority while in driver -PE.SigSg RMB 1 Signal code to send -PE.SigID RMB 1 Process ID to send the signal to - RMB 32-. Reserved -PE.FilNm RMB 32 Temp for filename during directory search - -* PE.Lock status codes -Unlocked EQU 0 No portion of file is locked -RcdLock EQU 1 Record from LoLck to HiLck locked -FileLock EQU 2 Entire file locked -EofLock EQU 4 End of file is locked - ENDC - - - PAG -*********************** -* LSN0 Disk Data Format -* -* Logical Sector Number 0 is the first sector on an RBF formatted device -* and contains information about the device's size and format. -* - ORG 0 -DD.TOT RMB 3 Total number of sectors -DD.TKS RMB 1 Track size in sectors -DD.MAP RMB 2 Number of bytes in allocation bit map -DD.BIT RMB 2 Number of sectors/bit -DD.DIR RMB 3 Address of root directory fd -DD.OWN RMB 2 Owner -DD.ATT RMB 1 Attributes -DD.DSK RMB 2 Disk ID -DD.FMT RMB 1 Disk format; density/sides -DD.SPT RMB 2 Sectors/track -DD.RES RMB 2 Reserved for future use -DD.SIZ EQU . Device descriptor minimum size -DD.BT RMB 3 System bootstrap sector -DD.BSZ RMB 2 Size of system bootstrap -DD.DAT RMB 5 Creation date -DD.NAM RMB 32 Volume name -DD.OPT RMB 32 Option area - -* DD.FMT Bit Definitions - valid only if device is a floppy disk -FMT.SIDE EQU %00000001 Single Sided=0, Double Sided=1 -FMT.DNS EQU %00000010 Single Density=0, Double Density=1 -FMT.TDNS EQU %00000100 Track Density: 48/135 TPI=0, 96 TPI=1 -FMT.T0DN EQU %00100000 Track 0 Density, see FMT.DNS - - - PAG -************************ -* File Descriptor Format -* -* The file descriptor is a sector that is present for every file -* on an RBF device. It contains attributes, modification dates, -* and segment information on a file. -* - ORG 0 -FD.ATT RMB 1 Attributes -FD.OWN RMB 2 Owner -FD.DAT RMB 5 Date last modified -FD.LNK RMB 1 Link count -FD.SIZ RMB 4 File size -FD.Creat RMB 3 File creation date (YY/MM/DD) -FD.SEG EQU . Beginning of segment list -* Segment List Entry Format - ORG 0 -FDSL.A RMB 3 Segment beginning physical sector number -FDSL.B RMB 2 Segment size -FDSL.S EQU . Segment list entry size -FD.LS1 EQU FD.SEG+((256-FD.SEG)/FDSL.S-1)*FDSL.S -FD.LS2 EQU (256/FDSL.S-1)*FDSL.S -MINSEC SET 16 - - - PAG -************************ -* Directory Entry Format -* -* Directory entries are part of a directory and define the name -* of the file, as well as a pointer to its file descriptor. -* - ORG 0 -DIR.NM RMB 29 File name -DIR.FD RMB 3 File descriptor physical sector number -DIR.SZ EQU . Directory record size - - - PAG -******************** -* RBF Static Storage -* -* Overall Disk Static Storage -* -* Note: This does not reserve any memory for drive tables. Each -* driver is responsible for reserving sufficient memory for -* the appropriate number of tables. -* - ORG V.USER Reserve required ($06) -V.NDRV RMB 1 Number of drives ($07) - RMB 8 reserved ($08) -DRVBEG EQU . Beginning of drive tables ($10) - - - PAG -**************** -* Global Storage For Disk Drive Tables -* -* Each table contains the first 'DD.SIZ' bytes from -* LSN 0, and the current track, stepping rate, -* bitmap use flag, and disk type. -* - ORG 0 - RMB DD.SIZ Device descriptor, LSN 0 -V.TRAK RMB 2 Current track -V.BMB RMB 1 Bit-map use flag -V.FileHd RMB 2 Open file list for this drive -V.DiskID RMB 2 Disk ID -V.BMapSz RMB 1 Bitmap Size -V.MapSct RMB 1 Lowest reasonable bitmap sector -V.ResBit RMB 1 Reserved bitmap sector (for compaction) -V.ScTkOf RMB 1 Sector/Track byte (Combined from descriptor) -V.ScOfst RMB 1 Sector offset split from byte above -V.TkOfst RMB 1 Track offset split from byte above - RMB 4 Reserved -DRVMEM EQU . - - ENDC - diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/rbsuper.d --- a/defs/rbsuper.d Fri Feb 24 06:41:48 2012 -0600 +++ b/defs/rbsuper.d Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,6 @@ + IFNE RBSUPER.D-1 +RBSUPER.D SET 1 + ******************************************************************** * rbsuper.d - rbsuper definitions * @@ -77,3 +80,6 @@ * zero when it really starts beyond DRVBEG+(DRVMEM*DrvCount). RMB UOFFSET V.RBSuper EQU . end of RBSuper's (and ll driver's) memory requirements + + ENDC + diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/scf.d --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/defs/scf.d Fri Feb 24 08:51:08 2012 -0600 @@ -0,0 +1,244 @@ + IFNE SCF.D-1 + +SCF.D SET 1 + +******************************************************************** +* scf.d - Sequential Character File Manager Definitions +* +* $Id$ +* +* SCF stands for 'Sequential Character Filemanager' and is a package of subroutines +* that define the logical structure of a serial device. +* +* The data structures in this file give SCF its 'personality' and are used +* by SCF itself, as well as applications that will require disk I/O. +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 1984/01/11 YO +* Added V.KANJI, V.KBUF, V.MODADR for new kanji input process. +* +* 1985/04/20 Mark G. Hawkins +* Added V.PDLHd Path Descriptor List Head. +* +* 1985/04/21 Mark G. Hawkins +* Added PD.PLP and PD.PST for modem handling. +* +* 1987/06/23 Kevin K. Darling +* Updated with Dev Desc info. +* +* 1998/10/03 Boisy G. Pitre +* Consolidated L1/L2 scfdefs. +* +* 2003/01/21 Boisy G. Pitre +* Added symbolics for enhanced SCF line editing. +* +* 2003/06/02 Boisy G. Pitre +* Updated comments for clarity. +* +* 2004/05/17 Boisy G. Pitre +* Added higher baud rates. + + NAM scf.d + TTL Sequential File Manager Definitions + + PAG +******************************* +* SCF Device Descriptor Offsets +* +* These definitions are for SCF device descriptors. + + ORG M$DTyp +IT.DVC RMB 1 Device type (DT.SCF) +IT.UPC RMB 1 Uppercase flag +IT.BSO RMB 1 Backspace behavior +IT.DLO RMB 1 Delete behavior +IT.EKO RMB 1 Echo flag +IT.ALF RMB 1 Auto linefeed flag +IT.NUL RMB 1 End-of-line null count +IT.PAU RMB 1 Page pause flag +IT.PAG RMB 1 Number of lines per page +IT.BSP RMB 1 Backspace character +IT.DEL RMB 1 Delete-line character +IT.EOR RMB 1 End-of-record character +IT.EOF RMB 1 End-of-file character +IT.RPR RMB 1 Reprint-line character +IT.DUP RMB 1 Duplicate-last-line character +IT.PSC RMB 1 Pause character +IT.INT RMB 1 Interrupt character +IT.QUT RMB 1 Quit character +IT.BSE RMB 1 Backspace echo character +IT.OVF RMB 1 Bell character +IT.PAR RMB 1 Parity +IT.BAU RMB 1 Baud rate +IT.D2P RMB 2 Attached device name string offset +IT.XON RMB 1 X-ON character +IT.XOFF RMB 1 X-OFF character +IT.COL RMB 1 Number of columns for display +IT.ROW RMB 1 Number of rows for display +IT.XTYP RMB 1 Extended type (added by BRI) + + IFGT Level-1 +* Window Descriptor Additions +* For CoCo window, where IT.PAR = $80 + ORG IT.ROW+1 +IT.WND RMB 1 Window number (matches device name) ($2E) +IT.VAL RMB 1 Use defaults on Init (0=no, 1=yes) +IT.STY RMB 1 Screen type default +IT.CPX RMB 1 Column start default +IT.CPY RMB 1 Row start default +IT.FGC RMB 1 Foreground color default +IT.BGC RMB 1 Background color default +IT.BDC RMB 1 Border color default + ENDC + + + PAG +******************** +* SCF Static Storage +* +* SCF devices must reserve this space for SCF +* + ORG V.USER +V.TYPE RMB 1 Device type or parity +V.LINE RMB 1 Lines left until end of page +V.PAUS RMB 1 Immediate Pause request +V.DEV2 RMB 2 Attached device's static +V.INTR RMB 1 Interrupt char +V.QUIT RMB 1 Quit char +V.PCHR RMB 1 Pause char +V.ERR RMB 1 Accumulated errors +V.XON RMB 1 X-On char +V.XOFF RMB 1 X-Off char +V.KANJI RMB 1 Kanji mode flag +V.KBUF RMB 2 Kana - Kanji convert routine work address +V.MODADR RMB 2 Kana - Kanji convert module address +V.PDLHd RMB 2 Open path descriptor list head pointer +V.RSV RMB 5 Reserve bytes for future expansion +V.SCF EQU . Total SCF manager static overhead + + + PAG +*********************** +* Character Definitions +* +C$NULL SET 0 Null char +C$RPET SET $01 (CTRL-A - SOH) Repeat last input line +C$INTR SET $03 (CTRL-C - ETX) Keyboard interrupt +C$RPRT SET $04 (CTRL-D - EOT) Reprint current input line +C$QUIT SET $05 (CTRL-E - ENQ) Keyboard Abort +C$BELL SET $07 (CTRL-G - BEL) Line overflow warning +C$BSP SET $08 (CTRL-H - BS ) Back space +C$RARR SET $09 Right Arrow +C$EL SET $05 Erase Line +C$LF SET $0A Line feed +C$HOME SET $0B Home position Code +C$Clsgr SET $15 Graphic screen clear (use FM-11) +C$Clsall SET $16 Graphic & character clear (use FM-11) +C$CR SET $0D Carriage return +C$FORM SET $0C (CTRL-L - FF ) Form Feed ... screen clear +C$SI SET $0F Shift IN Code +C$SO SET $0E Shift OUT Code +C$DELETE SET $10 Delete char (for SCF enhanced line editing) +C$XON SET $11 (CTRL-Q - DC1) Transmit Enable +C$INSERT SET C$XON Insert char (for SCF enhanced line editing) +C$XOFF SET $13 (CTRL-S - DC3) Transmit Disable +C$PLINE SET C$XOFF Print remaining line (for SCF enhanced line editing) +C$PAUS SET $17 (CTRL-W - ETB) Pause character +C$DEL SET $18 (CTRL-X - CAN) Delete line +C$SHRARR SET $19 Shift Right-Arrow +C$EOF SET $1B (CTRL-[ - ESC) END of file +C$RGT SET $1C Cursor right +C$LFT SET $1D Cursor left +C$UP SET $1E Cursor up +C$DWN SET $1F Cursor down +C$SPAC SET $20 Space +C$PERD SET '. +C$COMA SET ', + + + PAG +********************************************* +* Sequential Character Path Descriptor Format +* +* A path descriptor is created for every new path that is open +* via the I$Open system call (processed by IOMan). Process +* descriptors track state information of a path. +* + ORG PD.FST +PD.DV2 RMB 2 Output device table pointer +PD.RAW RMB 1 Read/Write or ReadLn/WritLn mode +PD.MAX RMB 2 ReadLn high byte count +PD.MIN RMB 1 Devices are "mine" if clear +PD.STS RMB 2 Status routine module addr +PD.STM RMB 2 Reserved for status routine + ORG PD.OPT + RMB 1 Device type +PD.UPC RMB 1 Case (0=both, 1=upper only) +PD.BSO RMB 1 Backspace (0=BSE, 1=BSE,SP,BSE) +PD.DLO RMB 1 Delete (0=BSE over line, 1=CRLF) +PD.EKO RMB 1 Echo (0=No Echo) +PD.ALF RMB 1 Auto linefeed (0=No auto LF) +PD.NUL RMB 1 End of Line null count +PD.PAU RMB 1 Page pause (0=No end of page pause) +PD.PAG RMB 1 Lines per page +PD.BSP RMB 1 Backspace character +PD.DEL RMB 1 Delete Line character +PD.EOR RMB 1 End of Record character (read only) +PD.EOF RMB 1 End of File character +PD.RPR RMB 1 Repront Line character +PD.DUP RMB 1 Dup Last Line character +PD.PSC RMB 1 Pause character +PD.INT RMB 1 Keyboard interrupt character (CTRL-C) +PD.QUT RMB 1 Keyboard quit character (CTRL-E) +PD.BSE RMB 1 Backspace echo character +PD.OVF RMB 1 Line overflow character (BELL) +PD.PAR RMB 1 Parity code +PD.BAU RMB 1 ACIA baud rate (Color Computer) +PD.D2P RMB 2 Offset of DEV2 name +PD.XON RMB 1 ACIA X-ON character +PD.XOFF RMB 1 ACIA X-OFF character +OPTCNT EQU .-PD.OPT Total user settable options +PD.ERR RMB 1 Most recent I/O error status +PD.TBL RMB 2 Device table addr (copy) +PD.PLP RMB 2 Path Descriptor List Pointer +PD.PST RMB 1 Current path status + + +* PD.PST values Path Descriptor Status byte +* +PST.DCD EQU %00000001 Set if DCD is lost on Serial port + + +* PD.PAR definitions +* +* Parity +PARNONE EQU %00000000 +PARODD EQU %00100000 +PAREVEN EQU %01100000 +PARMARK EQU %10100000 +PARSPACE EQU %11100000 + +* PD.BAU definitions +* +* Baud rate +B110 EQU %00000000 +B300 EQU %00000001 +B600 EQU %00000010 +B1200 EQU %00000011 +B2400 EQU %00000100 +B4800 EQU %00000101 +B9600 EQU %00000110 +B19200 EQU %00000111 +B38400 EQU %00001000 +B57600 EQU %00001001 +B115200 EQU %00001010 +* Word size +WORD8 EQU %00000000 +WORD7 EQU %00100000 +* Stop bits +STOP1 EQU %00000000 +STOP2 EQU %00010000 + + ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/scfdefs --- a/defs/scfdefs Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,244 +0,0 @@ - IFNE SCFDEFS-1 - -SCFDEFS SET 1 - -******************************************************************** -* SCFDefs - Sequential Character File Manager Definitions -* -* $Id$ -* -* SCF stands for 'Sequential Character Filemanager' and is a package of subroutines -* that define the logical structure of a serial device. -* -* The data structures in this file give SCF its 'personality' and are used -* by SCF itself, as well as applications that will require disk I/O. -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 1984/01/11 YO -* Added V.KANJI, V.KBUF, V.MODADR for new kanji input process. -* -* 1985/04/20 Mark G. Hawkins -* Added V.PDLHd Path Descriptor List Head. -* -* 1985/04/21 Mark G. Hawkins -* Added PD.PLP and PD.PST for modem handling. -* -* 1987/06/23 Kevin K. Darling -* Updated with Dev Desc info. -* -* 1998/10/03 Boisy G. Pitre -* Consolidated L1/L2 scfdefs. -* -* 2003/01/21 Boisy G. Pitre -* Added symbolics for enhanced SCF line editing. -* -* 2003/06/02 Boisy G. Pitre -* Updated comments for clarity. -* -* 2004/05/17 Boisy G. Pitre -* Added higher baud rates. - - NAM SCFDefs - TTL Sequential File Manager Definitions - - PAG -******************************* -* SCF Device Descriptor Offsets -* -* These definitions are for SCF device descriptors. - - ORG M$DTyp -IT.DVC RMB 1 Device type (DT.SCF) -IT.UPC RMB 1 Uppercase flag -IT.BSO RMB 1 Backspace behavior -IT.DLO RMB 1 Delete behavior -IT.EKO RMB 1 Echo flag -IT.ALF RMB 1 Auto linefeed flag -IT.NUL RMB 1 End-of-line null count -IT.PAU RMB 1 Page pause flag -IT.PAG RMB 1 Number of lines per page -IT.BSP RMB 1 Backspace character -IT.DEL RMB 1 Delete-line character -IT.EOR RMB 1 End-of-record character -IT.EOF RMB 1 End-of-file character -IT.RPR RMB 1 Reprint-line character -IT.DUP RMB 1 Duplicate-last-line character -IT.PSC RMB 1 Pause character -IT.INT RMB 1 Interrupt character -IT.QUT RMB 1 Quit character -IT.BSE RMB 1 Backspace echo character -IT.OVF RMB 1 Bell character -IT.PAR RMB 1 Parity -IT.BAU RMB 1 Baud rate -IT.D2P RMB 2 Attached device name string offset -IT.XON RMB 1 X-ON character -IT.XOFF RMB 1 X-OFF character -IT.COL RMB 1 Number of columns for display -IT.ROW RMB 1 Number of rows for display -IT.XTYP RMB 1 Extended type (added by BRI) - - IFGT Level-1 -* Window Descriptor Additions -* For CoCo window, where IT.PAR = $80 - ORG IT.ROW+1 -IT.WND RMB 1 Window number (matches device name) ($2E) -IT.VAL RMB 1 Use defaults on Init (0=no, 1=yes) -IT.STY RMB 1 Screen type default -IT.CPX RMB 1 Column start default -IT.CPY RMB 1 Row start default -IT.FGC RMB 1 Foreground color default -IT.BGC RMB 1 Background color default -IT.BDC RMB 1 Border color default - ENDC - - - PAG -******************** -* SCF Static Storage -* -* SCF devices must reserve this space for SCF -* - ORG V.USER -V.TYPE RMB 1 Device type or parity -V.LINE RMB 1 Lines left until end of page -V.PAUS RMB 1 Immediate Pause request -V.DEV2 RMB 2 Attached device's static -V.INTR RMB 1 Interrupt char -V.QUIT RMB 1 Quit char -V.PCHR RMB 1 Pause char -V.ERR RMB 1 Accumulated errors -V.XON RMB 1 X-On char -V.XOFF RMB 1 X-Off char -V.KANJI RMB 1 Kanji mode flag -V.KBUF RMB 2 Kana - Kanji convert routine work address -V.MODADR RMB 2 Kana - Kanji convert module address -V.PDLHd RMB 2 Open path descriptor list head pointer -V.RSV RMB 5 Reserve bytes for future expansion -V.SCF EQU . Total SCF manager static overhead - - - PAG -*********************** -* Character Definitions -* -C$NULL SET 0 Null char -C$RPET SET $01 (CTRL-A - SOH) Repeat last input line -C$INTR SET $03 (CTRL-C - ETX) Keyboard interrupt -C$RPRT SET $04 (CTRL-D - EOT) Reprint current input line -C$QUIT SET $05 (CTRL-E - ENQ) Keyboard Abort -C$BELL SET $07 (CTRL-G - BEL) Line overflow warning -C$BSP SET $08 (CTRL-H - BS ) Back space -C$RARR SET $09 Right Arrow -C$EL SET $05 Erase Line -C$LF SET $0A Line feed -C$HOME SET $0B Home position Code -C$Clsgr SET $15 Graphic screen clear (use FM-11) -C$Clsall SET $16 Graphic & character clear (use FM-11) -C$CR SET $0D Carriage return -C$FORM SET $0C (CTRL-L - FF ) Form Feed ... screen clear -C$SI SET $0F Shift IN Code -C$SO SET $0E Shift OUT Code -C$DELETE SET $10 Delete char (for SCF enhanced line editing) -C$XON SET $11 (CTRL-Q - DC1) Transmit Enable -C$INSERT SET C$XON Insert char (for SCF enhanced line editing) -C$XOFF SET $13 (CTRL-S - DC3) Transmit Disable -C$PLINE SET C$XOFF Print remaining line (for SCF enhanced line editing) -C$PAUS SET $17 (CTRL-W - ETB) Pause character -C$DEL SET $18 (CTRL-X - CAN) Delete line -C$SHRARR SET $19 Shift Right-Arrow -C$EOF SET $1B (CTRL-[ - ESC) END of file -C$RGT SET $1C Cursor right -C$LFT SET $1D Cursor left -C$UP SET $1E Cursor up -C$DWN SET $1F Cursor down -C$SPAC SET $20 Space -C$PERD SET '. -C$COMA SET ', - - - PAG -********************************************* -* Sequential Character Path Descriptor Format -* -* A path descriptor is created for every new path that is open -* via the I$Open system call (processed by IOMan). Process -* descriptors track state information of a path. -* - ORG PD.FST -PD.DV2 RMB 2 Output device table pointer -PD.RAW RMB 1 Read/Write or ReadLn/WritLn mode -PD.MAX RMB 2 ReadLn high byte count -PD.MIN RMB 1 Devices are "mine" if clear -PD.STS RMB 2 Status routine module addr -PD.STM RMB 2 Reserved for status routine - ORG PD.OPT - RMB 1 Device type -PD.UPC RMB 1 Case (0=both, 1=upper only) -PD.BSO RMB 1 Backspace (0=BSE, 1=BSE,SP,BSE) -PD.DLO RMB 1 Delete (0=BSE over line, 1=CRLF) -PD.EKO RMB 1 Echo (0=No Echo) -PD.ALF RMB 1 Auto linefeed (0=No auto LF) -PD.NUL RMB 1 End of Line null count -PD.PAU RMB 1 Page pause (0=No end of page pause) -PD.PAG RMB 1 Lines per page -PD.BSP RMB 1 Backspace character -PD.DEL RMB 1 Delete Line character -PD.EOR RMB 1 End of Record character (read only) -PD.EOF RMB 1 End of File character -PD.RPR RMB 1 Repront Line character -PD.DUP RMB 1 Dup Last Line character -PD.PSC RMB 1 Pause character -PD.INT RMB 1 Keyboard interrupt character (CTRL-C) -PD.QUT RMB 1 Keyboard quit character (CTRL-E) -PD.BSE RMB 1 Backspace echo character -PD.OVF RMB 1 Line overflow character (BELL) -PD.PAR RMB 1 Parity code -PD.BAU RMB 1 ACIA baud rate (Color Computer) -PD.D2P RMB 2 Offset of DEV2 name -PD.XON RMB 1 ACIA X-ON character -PD.XOFF RMB 1 ACIA X-OFF character -OPTCNT EQU .-PD.OPT Total user settable options -PD.ERR RMB 1 Most recent I/O error status -PD.TBL RMB 2 Device table addr (copy) -PD.PLP RMB 2 Path Descriptor List Pointer -PD.PST RMB 1 Current path status - - -* PD.PST values Path Descriptor Status byte -* -PST.DCD EQU %00000001 Set if DCD is lost on Serial port - - -* PD.PAR definitions -* -* Parity -PARNONE EQU %00000000 -PARODD EQU %00100000 -PAREVEN EQU %01100000 -PARMARK EQU %10100000 -PARSPACE EQU %11100000 - -* PD.BAU definitions -* -* Baud rate -B110 EQU %00000000 -B300 EQU %00000001 -B600 EQU %00000010 -B1200 EQU %00000011 -B2400 EQU %00000100 -B4800 EQU %00000101 -B9600 EQU %00000110 -B19200 EQU %00000111 -B38400 EQU %00001000 -B57600 EQU %00001001 -B115200 EQU %00001010 -* Word size -WORD8 EQU %00000000 -WORD7 EQU %00100000 -* Stop bits -STOP1 EQU %00000000 -STOP2 EQU %00010000 - - ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/scsi.d --- a/defs/scsi.d Fri Feb 24 06:41:48 2012 -0600 +++ b/defs/scsi.d Fri Feb 24 08:51:08 2012 -0600 @@ -1,3 +1,6 @@ + IFNE SCSI.D-1 +SCSI.D SET 1 + ******************************************************************** * scsi.d - SCSI definitions * @@ -97,3 +100,5 @@ SDAddr SET $FF53 ENDC ENDC + + ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/systype --- a/defs/systype Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,205 +0,0 @@ - IFNE SYSTYPE-1 - -SYSTYPE SET 1 - -******************************************************************** -* SysType - NitrOS-9 System Specific Definitions -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 1998/10/13 Boisy G. Pitre -* Added defs by Bruce Isted from his Eliminator archive. -* -* 1998/10/31 Boisy G. Pitre -* Merged cc3global.defs into this file. -* -* 2002/04/30 Boisy G. Pitre -* Merged Level One and Level Two sysdefs. -* -* 2002/06/22 Boisy G. Pitre -* Removed PIA.U4 and PIA.U8, improved comments -* -* 2003/11/05 Robert Gault -* Made changes in window globals and grfdrv memory to handle regW -* in 6809 systems. -* -* 2003/11/30 Boisy G. Pitre -* Statics now are prefaced with V. to identify them easier in source. -* -* 2004/07/18 Boisy G. Pitre -* Moved CoCo 3 Window stuff into cc3iodefs - - NAM SysType - IFEQ Level-1 - TTL NitrOS-9 Level 1 System Type Definitions - ELSE - IFEQ Level-2 - TTL NitrOS-9 Level 2 System Type Definitions - ENDC - IFEQ Level-3 - TTL NitrOS-9 Level 3 System Type Definitions - ENDC - ENDC - - -********************** -* CPU Type Definitions -* -Color SET 1 -Color3 SET 2 - IFEQ Level-1 -CPUType SET Color - ELSE -CPUType SET Color3 - ENDC - - -****************************** -* Clock Speed Type Definitions -* -OneMHz EQU 1 -TwoMHz EQU 2 - IFEQ CPUType-Color -CPUSpeed SET OneMHz - ELSE -CPUSpeed SET TwoMHz - ENDC - - -********************************** -* Power Line Frequency Definitions -* -Hz50 EQU 1 Assemble clock for 50 hz power -Hz60 EQU 2 Assemble clock for 60 hz power -PwrLnFrq SET Hz60 Set to Appropriate freq - - -********************************** -* Ticks per second -* - IFEQ PwrLnFrq-Hz50 -TkPerSec SET 50 - ELSE -TkPerSec SET 60 - ENDC - - -****************** -* ACIA type set up -* - ORG 1 -ACIA6850 RMB 1 MC6850 acia. -ACIA6551 RMB 1 SY6551 acia. -ACIA2661 RMB 1 SC2661 acia. -ACIATYPE SET ACIA6551 - - -**************************************** -* Special character Bit position equates -* -SHIFTBIT EQU %00000001 -CNTRLBIT EQU %00000010 -ALTERBIT EQU %00000100 -UPBIT EQU %00001000 -DOWNBIT EQU %00010000 -LEFTBIT EQU %00100000 -RIGHTBIT EQU %01000000 -SPACEBIT EQU %10000000 - - -****************** -* Device addresses for miscellaneous hardware -* -A.AciaP SET $FF68 Aciapak Address -A.ModP SET $FF6C ModPak Address -DPort SET $FF40 Disk controller base address -MPI.Slct SET $FF7F Multi-Pak slot select -MPI.Slot SET $03 Multi-Pak default slot -PIA0Base EQU $FF00 -PIA1Base EQU $FF20 - - -****************** -* VDG Devices -* -A.TermV SET $FFC0 VDG Term -A.V1 SET $FFC1 Possible additional VDG Devices -A.V2 SET $FFC2 -A.V3 SET $FFC3 -A.V4 SET $FFC4 -A.V5 SET $FFC5 -A.V6 SET $FFC6 -A.V7 SET $FFC7 - - - IFEQ Level-1 - -************************************************* -* -* NitrOS-9 Level 1 Section -* -************************************************* - -HW.Page SET $FF Device descriptor hardware page - - ELSE - -************************************************* -* -* NitrOS-9 Level 2 Section -* -************************************************* - -**************************************** -* Dynamic Address Translator Definitions -* -DAT.BlCt EQU 8 D.A.T. blocks/address space -DAT.BlSz EQU (256/DAT.BlCt)*256 D.A.T. block size -DAT.ImSz EQU DAT.BlCt*2 D.A.T. Image size -DAT.Addr EQU -(DAT.BlSz/256) D.A.T. MSB Address bits -DAT.Task EQU $FF91 Task Register address -DAT.TkCt EQU 32 Number of DAT Tasks -DAT.Regs EQU $FFA0 DAT Block Registers base address -DAT.Free EQU $333E Free Block Number -DAT.BlMx EQU $3F Maximum Block number -DAT.BMSz EQU $40 Memory Block Map size -DAT.WrPr EQU 0 no write protect -DAT.WrEn EQU 0 no write enable -SysTask EQU 0 Coco System Task number -IOBlock EQU $3F -ROMBlock EQU $3F -IOAddr EQU $7F -ROMCount EQU 1 number of blocks of ROM (High RAM Block) -RAMCount EQU 1 initial blocks of RAM -MoveBlks EQU DAT.BlCt-ROMCount-2 Block numbers used for copies -BlockTyp EQU 1 chk only first bytes of RAM block -ByteType EQU 2 chk entire block of RAM -Limited EQU 1 chk only upper memory for ROM modules -UnLimitd EQU 2 chk all NotRAM for modules -* NOTE: this check assumes any NotRAM with a module will -* always start with $87CD in first two bytes of block -RAMCheck EQU BlockTyp chk only beg bytes of block -ROMCheck EQU Limited chk only upper few blocks for ROM -LastRAM EQU IOBlock maximum RAM block number - -*************************** -* Color Computer 3 Specific -* -MappedIO EQU true (Actually False but it works better this way) - -******************** -* Hardware addresses -* -GIMERegs EQU $FF00 Base address of GIME registers -IrqEnR EQU $FF92 GIME IRQ enable/status register -BordReg EQU $FF9A Border color register -PalAdr EQU $FFB0 Palette registers - -HW.Page SET $07 Device descriptor hardware page - - ENDC - ENDC - diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/vtiodefs --- a/defs/vtiodefs Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,170 +0,0 @@ - IFNE VTIODEFS-1 -VTIODEFS SET 1 - -******************************************************************** -* VTIODefs - Video Terminal I/O Definitions for CoCo 1/2 -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 2004/11/29 P.Harvey-Smith. -* Added symbolic defines for bits in V.CoLoad. -* -* 2004/12/02 P.Harvey-Smith. -* Moved over all variables from co51.asm -* -* 2005/04/09 P.Harvey-Smith. -* Decoded rest of the CoHR memory locations. -* -* 2005/04/24 P.Harvey-Smith. -* Added variables for cursor flash, currently only implemented in co51 -* - NAM VTIODefs - TTL Video Terminal I/O Definitions for CoCo 1/2 - -******************** -* VTIO Static Memory -* - ORG V.SCF -V.ScrnA RMB 2 (2) screen start address in system memory -V.ScrnE RMB 2 (2) address of end of screen -V.CrsrA RMB 1 (2) cursor address -V.CrsAL RMB 1 cursor address low -V.CChar RMB 1 value of character under cursor -V.Mode RMB 1 mode: 0=256x192 x2, 1=128x192 x4 -V.NGChr RMB 1 number of additional characters to get -V.RTAdd RMB 2 (2) return address after getting characters -V.NChar RMB 1 character to process -V.NChr2 RMB 1 and the next one - RMB 1 -V.Chr1 RMB 1 same as under cursor character -V.CColr RMB 1 cursor color -V.Col RMB 1 number of columns for this screen -V.Row RMB 1 number of rows -V.Alpha RMB 1 0 when in alpha mode -V.PIA1 RMB 1 PIA1Base value -V.Rdy RMB 1 device ready (see SS.DStat 0=not ready) -V.CFlg1 RMB 1 VDG display code values -V.SBAdd RMB 2 (2) address of block screen is in -V.GBuff RMB 2 allocation for graphics buffers (block#) -V.AGBuf RMB 4 (2) additional graphics buffer -V.FFMem RMB 2 Flood fill alloc'ed mem -V.FFSPt RMB 2 Flood fill current stack pointer -V.FFSTp RMB 1 Flood fill stack top -V.FF6 RMB 1 flood fill flag -V.FFFlag RMB 1 ?? -V.MTabl RMB 2 (2) address of mask table for pixels in byte -V.PixBt RMB 1 bit mask for modes (0=$07, 1=$03 )#pixels/byte -V.GCrsX RMB 1 graphics cursor X value -V.GCrsY RMB 1 graphics cursor Y -V.Msk1 RMB 1 mask byte 1 -V.Msk2 RMB 1 mask byte 2 (00,55,AA,FF) -V.MCol RMB 1 color? (C003,8001) -V.4A RMB 1 -V.PMask RMB 1 pixel mask for colors (i.e. $55, $CC etc) -V.4C RMB 1 -V.4D RMB 1 -V.4E RMB 1 -V.4F RMB 1 -V.Caps RMB 1 caps lock info: $00=lower $FF=upper -V.ClkCnt RMB 1 clock count ?? -V.WrChr RMB 1 character to write -V.CurCo RMB 1 current CO-module in use -* start of CoWP-specific static memory -V.Co80X RMB 1 V.54 -V.Co80Y RMB 1 V.55 -V.ColPtr RMB 1 V.56 -V.RowPtr RMB 1 V.57 -V.C80X RMB 1 CoWP X position -V.C80Y RMB 1 CoWP Y position -V.Invers RMB 1 -* end of CoWP-specific static memory -V.DspVct RMB 2 vector to display screen -V.CnvVct RMB 2 vector to X/Y to address conversion -V.LKeyCd RMB 1 last key code -V.2Key1 RMB 1 2nd Key 1 -V.2Key2 RMB 1 2nd Key 2 -V.2Key3 RMB 1 2nd Key 3 -V.Key1 RMB 1 Key 1 -V.Key2 RMB 1 Key 2 -V.Key3 RMB 1 Key 3 -V.ShftDn RMB 1 SHIFT/CTRL state -V.CtrlDn RMB 1 CTRL key down -V.KeyFlg RMB 1 key flag -V.AltDwn RMB 1 ALT key down -V.KySns RMB 1 key sense flags -V.KySame RMB 1 key same as last flag -V.KySnsF RMB 1 key sense flag -V.Spcl RMB 1 -V.KTblLC RMB 1 key table entry # -V.6F RMB 1 ??? -V.COLoad RMB 1 CO-module loaded flags -V.CFlag RMB 1 true lowercase flag $10=true, $00=false -V.GrfDrvE RMB 2 GrfDrv entry point -V.CoVDGE RMB 2 CoVDG entry point -V.CoWPE RMB 2 CoWP entry point -V.CoHRE RMB 2 CoHR entry point - -V.Flash RMB 2 Cursor flash routine address. -v.FlashCount RMB 1 Cursor flash count -V.NoFlash RMB 1 When this is non-zero do not flash cursor - -* CoHR vars - -V.51ScrnA RMB 2 * Screen address. -V.51XPos RMB 1 * X co-ordinate -V.51YPos RMB 1 * Y co-ordinate -V.51EscSeq RMB 1 * In escape sequence -V.51ReverseFlag RMB 1 * Reverse video flag -V.51UnderlineFlag RMB 1 * Underline flag -V.51CtrlDispatch RMB 2 * Ctrl char dispatch address, currently processing -V.51BytePixOffset RMB 1 * byte offset in screen line, of character X position -V.51OldCursorPosX RMB 1 * Position of old cursor before update -V.51OldCursorPosY RMB 1 -V.51CursorChanged RMB 1 * Has cursor position changed ? 1=yes,0=no -V.51CursorOn RMB 1 * Is cursor on ? 1=yes 0=no -V.51XORFlag RMB 1 * and data to screen (0) or Xor (1) -V.51ScreenMask1 RMB 1 * screen masks for drawing characters on screen -V.51ScreenMask2 RMB 1 -* End of CoHR vars -**** Note these have to come at the end of the defs, or the keyboard **** -**** code can clobber variables defined after these ! **** -V.IBufH RMB 1 input buffer head -V.IBufT RMB 1 input buffer tail -V.InBuf RMB 1 input buffer ptr -V.51End RMB 1 - RMB 250-. -V.Last EQU . - - -* Unknown for now -*VD.FFMem rmb 2 (2) bottom of stack for flood fill -*VD.FFSPt rmb 2 (2) flood fill stack pointer -*VD.FFSTp rmb 2 (2) flood fill stack top pointer -*VD.FF6 rmb 1 flood fill flag -*VD.MCol2 rmb 1 color -*VD.FF1 rmb 1 data for flood fill -*VD.FF2 rmb 1 data for flood fill -*VD.FFMsk rmb 1 flood fill mask -*VD.FFFlg rmb 1 flood fill flag -*VD.Palet rmb 16 (16) current palette values -*VD.PlFlg rmb 1 initialized to $08 by L00DB, and then unused! - -* -* Defs for V.COLoad flags. -* - -ModCoVDG EQU %00000010 CoVDG, Built-in VDG 32x16. -ModCoWP EQU %00000100 CoWP, WordPak, 80x25 -ModCoHR EQU %00001000 CoHR, PMODE 4 51x25 text - -* -* Defs for cursor flash counter -* - -CFlash50hz EQU 25 * 50Hz flash counter -CFlash60Hz EQU 30 * 60Hz flash counter - - ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 defs/vtiodefs_cc3 --- a/defs/vtiodefs_cc3 Fri Feb 24 06:41:48 2012 -0600 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,736 +0,0 @@ - IFNE VTIODEFS-1 -VTIODEFS SET 1 - -******************************************************************** -* VTIODefs - Video Terminal I/O Definitions for CoCo 3 -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 2004/07/18 Boisy G. Pitre -* Started from systype - - NAM VTIODefs - TTL Video Terminal I/O Definitions for CoCo 3 - -**************** -* Window Devices -* - ORG $FF9F -A.W RMB 1 $FF9F Generic Window Descriptor -A.TermW RMB 1 $FFA0 Windowing Term -A.W1 RMB 1 $FFA1 -A.W2 RMB 1 $FFA2 -A.W3 RMB 1 $FFA3 -A.W4 RMB 1 $FFA4 -A.W5 RMB 1 $FFA5 -A.W6 RMB 1 $FFA6 -A.W7 RMB 1 $FFA7 -A.W8 RMB 1 $FFA8 -A.W9 RMB 1 $FFA9 -A.W10 RMB 1 $FFAA -A.W11 RMB 1 $FFAB -A.W12 RMB 1 $FFAC -A.W13 RMB 1 $FFAD -A.W14 RMB 1 $FFAE -A.W15 RMB 1 $FFAF - -********************************** -* Pointer Device Packet Definition -* - ORG 0 -Pt.Valid RMB 1 Is returned info valid (0=no/1=yes) -Pt.Actv RMB 1 Active Side 0=off/1=Right/2=left -Pt.ToTm RMB 1 Time out Initial value - RMB 2 reserved -Pt.TTTo RMB 1 Time Till Timeout -Pt.TSSt RMB 2 Time Since Start Counter -Pt.CBSA RMB 1 Current Button State Button A -Pt.CBSB RMB 1 Current Button State Button B -Pt.CCtA RMB 1 Click Count Button A -Pt.CCtB RMB 1 Click Count Button B -Pt.TTSA RMB 1 Time This State Counter Button A -Pt.TTSB RMB 1 Time This State Counter Button B -Pt.TLSA RMB 1 Time Last State Counter Button A -Pt.TLSB RMB 1 Time Last State Counter Button B - RMB 2 Reserved -Pt.BDX RMB 2 Button down X value EXPERIMENTAL -Pt.BDY RMB 2 Button down Y value -Pt.Stat RMB 1 Window Pointer type location -Pt.Res RMB 1 Resolution (0..640 by: 0=ten/1=one) -Pt.AcX RMB 2 Actual X Value -Pt.AcY RMB 2 Actual Y Value -Pt.WRX RMB 2 Window Relative X -Pt.WRY RMB 2 Window Relative Y -Pt.Siz EQU . Packet Size 32 bytes - -************************** -* window regions for mouse -* -WR.Cntnt EQU 0 content region -WR.Cntrl EQU 1 control region -WR.OfWin EQU 2 off window - -************************************* -* Standard system get/put buffer defs -* -* -* system group numbers -* - ORG 200 -Grp.Fnt RMB 1 font group -Grp.Clip RMB 1 clipboard group -Grp.Ptr RMB 1 pointer group -Grp.Pat2 RMB 1 pattern group 2 color -Grp.Pat4 RMB 1 pattern group 4 color -Grp.Pat6 RMB 1 pattern group 16 color -* -* font buffer numbers -* - ORG 1 -Fnt.S8x8 RMB 1 standard 8x8 font -Fnt.S6x8 RMB 1 standard 6x8 font -Fnt.G8x8 RMB 1 standard graphics 8x8 font -* -* pattern buffer numbers -* - ORG 1 -Pat.Dot RMB 1 -Pat.Vrt RMB 1 -Pat.Hrz RMB 1 -Pat.XHtc RMB 1 -Pat.LSnt RMB 1 -Pat.RSnt RMB 1 -Pat.SDot RMB 1 -Pat.BDot RMB 1 -* -* pointer buffer numbers -* - ORG 1 -Ptr.Arr RMB 1 Arrow pointer -Ptr.Pen RMB 1 Pencil pointer -Ptr.LCH RMB 1 Large cross hair pointer -Ptr.Slp RMB 1 Wait timer pointer -Ptr.Ill RMB 1 Illegal action pointer -Ptr.Txt RMB 1 Text pointer -Ptr.SCH RMB 1 Small cross hair pointer - -********************** -* KeyDrv Entry Points - ORG 0 -K$Init RMB 3 joystick initialization -K$Term RMB 3 joystick termination -K$FnKey RMB 3 get function key states -K$RdKey RMB 3 get key states - -********************** -* JoyDrv Entry Points - ORG 0 -J$Init RMB 3 joystick initialization -J$Term RMB 3 joystick termination -J$MsBtn RMB 3 get mouse button states -J$MsXY RMB 3 get mouse X/Y coordinates -J$JyBtn RMB 3 get joystick button states -J$JyXY RMB 3 get joystick X/Y coordinates - -********************** -* SndDrv Entry Points - ORG 0 -S$Init RMB 3 joystick initialization -S$GetStt RMB 3 joystick termination -S$SetStt RMB 3 joystick termination -S$Term RMB 3 get joystick X/Y coordinates - -******************************** -* Window/Menu Bar Data Structure -* -* To be used in SS.WnSet SETSTAT to set up a Framed Window -* for use in the high level windowing package. -* -NUMMENS EQU 10 maximum number of menus on menu bar -NUMITMS EQU 20 maximum number of items in a menu -MXTTLEN EQU 15 max chars for menu and item names -WINSYNC EQU $C0C0 synch bytes for window validation -* -* Menu Item Descriptor : (MN.ITEMS) -* one required for each item within the menu -* - ORG 0 -MI.TTL RMB MXTTLEN item name -MI.ENBL RMB 1 enable flag -MI.RES RMB 5 reserved bytes -MI.SIZ EQU . size of menu item descriptor -* -* Menu Descriptor : -* one for each menu on the manu bar -* each is pointed to by MB.MPTR below -* - ORG 0 -MN.TTL RMB MXTTLEN menu title -MN.ID RMB 1 menu id number (1-255) -MN.XSIZ RMB 1 horiz. size of desired pull down -MN.NITS RMB 1 number of items in menu -MN.ENBL RMB 1 enable flag -MN.RES RMB 2 reserved bytes -MN.ITEMS RMB 2 pointer to array of menu items -MN.SIZ EQU . size of menu descriptor -* -* Window Descriptor: -* one required for each application in a framed window -* - ORG 0 -WN.TTL RMB 20 title of window for title bar -WN.NMNS RMB 1 number of menus in menu bar -WN.XMIN RMB 1 minimal horiz. size for application to run -WN.YMIN RMB 1 minimal vert. size for application to run -WN.SYNC RMB 2 synch bytes ($C0C0) -WN.RES RMB 7 reserved bytes -WN.BAR RMB 2 pointer to arry of menu descriptors -WN.SIZ EQU . size of window/menu bar descriptor - -************************* -* Window Type Definitions -* -* To be used in setting up the border of the window in -* the SS.WnSel SETSTAT -* - ORG 0 -WT.NBox RMB 1 No Box -WT.FWin RMB 1 Framed Window -WT.FSWin RMB 1 Framed Window w/Scroll Bars -WT.SBox RMB 1 Shadowed Box -WT.DBox RMB 1 Double Box -WT.PBox RMB 1 Plain Box - -************************************* -* Pre-Defined Menu IDs for the system -* - ORG 1 -MId.Mov RMB 1 move box -MId.Cls RMB 1 close box -MId.Grw RMB 1 grow box -MId.SUp RMB 1 scroll up -MId.SDn RMB 1 scroll down -MId.SRt RMB 1 scroll right -MId.SLt RMB 1 scroll left -MId.Chr RMB 1 character was depressed - ORG 20 -MId.Tdy RMB 1 Tandy menu -MId.Fil RMB 1 Files Menu -MId.Edt RMB 1 Edit Menu -MId.Sty RMB 1 Styles menu -MId.Fnt RMB 1 Font menu - - -****************************************************************************** -****************************************************************************** -** ** -** NitrOS-9 Windowing system Global data definitions ** -** ** -****************************************************************************** -****************************************************************************** -** ** -** System memory block 0 layout: ** -** ** -** $0000-$0001 : FHL/Isted WD 1002-05 - interface base address ** -** $0002 : FHL/Isted WD 1002-05 - boot device physical drive # ** -** $0008 : Bruce Isted Serial mouse - button counter & rx count ** -** $0009-$000B : Bruce Isted Serial mouse - RX buffer ** -** $000C-$000D : Bruce Isted Serial mouse - Current X position ** -** $000E-$000F : Bruce Isted Serial mouse - Current Y position ** -** $0010-$001F : unused (User definable) ** -** $0020-$00FF : system direct page & some IRQ vectors ** -** $0100-$011F : Task usage table ** -** $0120-$01FF : Virtual DAT tasks (pointed to by 0 = YES) $1E -V.DevPar RMB 2 high bit=window device $1F -V.ULCase RMB 1 special key flags (Capslck & keyboard mouse) $21 -V.KySnsFlg RMB 1 flag for key sense setstat $22 -V.ScrChg RMB 1 screen change flag $23 -V.SSigID RMB 1 data ready process ID $24 -V.SSigSg RMB 1 data ready signal code $25 -V.MSigID RMB 1 mouse signal process ID $26 -V.MSigSg RMB 1 mouse signal signal code $27 -V.MSmpl RMB 1 mouse sample rate $28 -V.MTime RMB 1 mouse timeout value $29 - RMB 1 unused $2A -V.MAutoF RMB 1 auto follow mouse flag $2B -V.ParmCnt RMB 1 parameter count $2C -V.ParmVct RMB 2 parameter vector $2D -V.PrmStrt RMB 2 pointer to params start $2F -V.NxtPrm RMB 2 pointer to next param storage $31 -V.EndPtr RMB 1 last character read offset $33 -V.InpPtr RMB 1 next character read offset $34 -V.WinNum RMB 1 window table entry # $35 -V.DWNum RMB 1 dwnum from descriptor $36 -V.CallCde RMB 1 internal comod call code # $37 -CC3Parm RMB 128-. global parameter area -ReadBuf RMB 256-. read input buffer (keyboard) -CC3DSiz EQU . - -***************************************************************************** -* GrfInt/WindInt global memory area -* This area sits in system block 0 from $1000 to $10ff -WGlobal EQU $1000 useful value (points to address starting below) - ORG 0 -G.CurTik RMB 1 Constant - # Clock ticks/cursor updates (2) -G.CntTik RMB 1 Current tick count for cursor updates -G.GfBusy RMB 1 Grfdrv is busy flag (1=busy) -G.OrgAlt RMB 2 Place to store D.AltIRQ before altering -*g0003 rmb 2 NEW: UNUSED -g0005 RMB 2 Temp save in Windint RG -G.GrfStk RMB 2 grfdrv stack pointer ($07) -G.MonTyp RMB 1 monitor type -g000A EQU . Old label for compatibility -G.CrDvFl RMB 1 Are we current device flag (only set when all -* Parms have been moved to Dev Mem) -* 0=We are not on our device -* 1=We are the current device -* (Used by comod (GRF/WIND/VDGInt) to determine -* whether or not to update GIME regs themselves -* If not current device, they don't.) -G.WinType RMB 1 current device's V.TYPE -G.CurDvM RMB 2 current device memory pointer for co-module use -G.WIBusy RMB 1 WindInt is busy flag (1=busy) -G.AlPckt RMB 6 F$Alarm time packet -G.AlPID RMB 1 F$Alarm proc ID ($15) -G.AlSig RMB 1 F$Alarm signal code ($16) -G.BelVec RMB 2 BELL routine vector -G.DefPal RMB 2 pointer to default palette data in global mem -G.TnCnt RMB 1 SS.Tone duration counter -G.BelTnF RMB 1 BELL tone flag -g001D RMB 3 -G.CurDev RMB 2 current device's static memory pointer ($20) -G.PrWMPt RMB 2 previous window static mem pointer $(22) -G.BCFFlg RMB 1 bit coded co-module found flags ($24) -* 00000010 : VDGInt found -* 10000000 : GrfDrv found -g0025 RMB 1 -G.KTblLC RMB 1 Key table entry# last checked (1-3) -* IFEQ TC9-true -*CurLght rmb 1 current keyboard light settings -* ELSE -G.LastCh RMB 1 last keyboard character (ASCII value) -* ENDC -G.LKeyCd RMB 1 last keyboard code -G.KyRept RMB 1 key repeat counter -* A secondary 3 key table (same format as g002D below) -G.2Key1 RMB 1 $2A -G.2Key2 RMB 1 $2B -G.2Key3 RMB 1 -* Up to 3 keys can be registerd at once, and they are stored here. If more -* than 3 are hit, the last key is overwritten with the very last key down that -* was checked. Format for all three is the same as the PIA column/row byte @ -* KeyFlag below. -G.Key1 RMB 1 Key 1 being held down (Row/Column #) -G.Key2 RMB 1 Key 2 being held down (Row/Column #) -G.Key3 RMB 1 Key 3 being held down (Row/Column #) -G.ShftDn RMB 1 SHIFT key down flag (COM'd) ($30) -G.CntlDn RMB 1 CTRL key down flag (0=NO) -G.KeyFlg RMB 1 Keyboard PIA bit #'s for columns/rows -* %00000111-Column # (Output, 0-7) -* %00111000-Row # (Input, 0-6) -G.AltDwn RMB 1 ALT key down flag (0=NO) -G.KySns RMB 1 key sense byte -G.KySame RMB 1 same key flag -G.CapLok RMB 1 CapsLock/SysRq key down flag - RMB 1 -g0038 RMB 1 grfdrv initialized flag - RMB 2 -G.MSmpRt RMB 1 Current mouse sample # (# ticks till next read) -G.Mouse RMB Pt.Siz mouse packet ($3C) -g005C RMB 2 Temp for relative mouse X coord calculation -g005E RMB 2 Temp for relative mouse Y coord calculation -G.MSmpRV RMB 1 Mouse sample reset value (# ticks till next read) -G.KyDly RMB 1 initial key repeat delay constant ($61) -G.KySpd RMB 1 secondary key repeat delay constant -* IFEQ TC9-true -*KeyParm rmb 1 keyboard command parameter byte -* ELSE -G.KyMse RMB 1 keyboard mouse flag ($63) -* ENDC -G.Clear RMB 1 "one-shot" CapsLock/SysRq key flag ($64) -G.KyButt RMB 1 keyboard F1 and F2 "fire" button info ($65) -G.AutoMs RMB 1 Auto-follow mouse flag for current device (0=NO) -G.MseMv RMB 1 mouse moved flag ($67) -G.CoTble RMB 6 co-module table ($68) -G.GrfEnt RMB 2 GRFDRV Entry address ($6E) -g0070 RMB 1 # bytes to move in 1 block (1-72) -G.WUseTb RMB 4 windows in use bit table (0=unused, 32 windows) ($71) -G.GfxTbl RMB 2 Pointer to GFX tables ($75) -G.WrkWTb RMB $40 Work window table. WindInt only ($77) -g00B7 RMB 2 Current Device static mem ptr for WindInt -g00B9 RMB 2 Current window table ptr for WindInt -g00BB RMB 2 Pointer to work window table (g0077+$10) -g00BD RMB 1 Current screen type for work window table -g00BE RMB 1 Topmost overlay window # when check for title bars -g00BF RMB 1 Flag for keypress while processing menu select -g00C0 RMB 2 Ptr to current path descriptor -G.WindBk RMB 2 shift-clear routine vector -G.MsInit RMB 2 set mouse routine vector -G.MsSig RMB 1 mouse signal flag -G.DefPls RMB 16 Default palettes (2 repeats of 8 is default) ($C7) -g00D7 RMB 9 -G.KeyEnt RMB 2 entry to keydrv subroutine module ($E0) -G.KeyMem RMB 8 static memory for keydrv subroutine module -G.JoyEnt RMB 2 entry to joydrv subroutine module ($EA) -G.JoyMem RMB 8 static memory for joydrv subroutine module -G.SndEnt RMB 2 entry to snddrv subroutine module ($F4) -G.SndMem RMB 8 static memory for snddrv subroutine module - -***************************************************************************** -* GrfDrv global memory data definitions -* This area sits in system block 0 from $1100 to $119E -GrfMem EQU $1100 useful label used to point to mem starting below - ORG 0 -gr0000 RMB 1 Pixel mask for 1st byte of GP line -gr0001 RMB 1 Pixel mask for last byte of a GP line -gr0002 RMB 2 Ptr to table of bit masks for colors -gr0004 RMB 1 # of bytes wide GP buffer is (including partials) -gr0005 RMB 1 # pixels per byte in GP Buffer -gr0006 RMB 1 # of pixels used in 1st byte of GP buffer line -gr0007 RMB 1 # of pixels used in last byte of GP buffer line -gr0008 RMB 1 Bit mask that is common to both screen & GP buffer -gr0009 RMB 1 # bytes for width of overlay window -gr000A RMB 1 # bytes to offset to get to next line after -* overlay width has been copied -gr000B RMB 1 -gr000C RMB 2 Cursor address for proportional spacing? -gr000E RMB 1 -gr000F RMB 1 Left-based bit mask for proportional spacing? -gr0010 RMB 2 Vector for text to gfx screen (either prop. or normal) -gr0012 RMB 6 -gr0018 RMB 2 Working Center X coord for Circle/Ellipse -gr001A RMB 2 Working Center Y coord for Circle/Ellipse -gr001C RMB 2 Some variable for Circle/Ellipse (initially 0) -gr001E RMB 2 Working Y radius value for Circle/Ellipse -gr0020 RMB 2 Arc 'clip line' X01 -gr0022 RMB 2 Arc 'clip line' Y01 -gr0024 RMB 2 Arc 'clip line' X02 -gr0026 RMB 2 Arc 'clip line' Y02 -gr0028 RMB 1 full-byte background color to FFILL on mask -gr0029 RMB 1 pixels per byte: set up by FFILL -gr002A RMB 1 Flag for FFill: 1=no error, 0=Stack overflow error -gr002B RMB 1 current Y-direction to travel in FFILL -gr002C RMB 2 -gr002E RMB 2 current window table entry -gr0030 RMB 2 current screen table ptr -gr0032 RMB 1 Last block # we used for buffers -gr0033 RMB 2 Last offset we used for buffers -gr0035 RMB 1 group -gr0036 RMB 2 offset -gr0038 RMB 1 group returned (new) -gr0039 RMB 1 0=Text cursor inverted off, >0 is inverted on -gr003A RMB 1 0=Graphics cursor XOR'd off,>0 is XOR'd on scrn -gr003B RMB 2 end of vars ptr? -gr003D RMB 2 Last X coordinate Graphics cursor was ON at -gr003F RMB 2 Last Y coordinate Graphics cursor was ON at -gr0041 RMB 2 Screen address for start of current gfx cursor -gr0043 RMB 1 Pixel mask for start of gfx cursor -gr0044 RMB 1 Block # Graphics cursor is in -gr0045 RMB 2 Offset in block Graphics cursor is in -gr0047 RMB 2 'Working' X coordinate -gr0049 RMB 2 'Working' Y coordinate -gr004B RMB 2 current X -gr004D RMB 2 current Y -gr004F RMB 2 X Size (in bytes) -gr0051 RMB 2 Y Size (in bytes) -gr0053 RMB 2 Horizontal radius (circle/ellipse/arc) -gr0055 RMB 2 Vertical radius (circle/ellipse/arc) -gr0057 RMB 1 group -gr0058 RMB 1 buffer # -gr0059 RMB 1 save switch for overlay -gr005A RMB 1 PRN -gr005B RMB 2 X coordinate of Graphics cursor -gr005D RMB 2 Y coordinate of Graphics cursor -gr005F RMB 1 ATD: new video mode for 24/25/28-line windows -Gr.STYMk RMB 1 STY marker -gr0061 RMB 1 foreground RGB data -gr0062 RMB 1 background RGB data -gr0063 RMB 1 bytes/row (on current screen...not window) -gr0064 RMB 2 PSet vector -gr0066 RMB 2 pset offset -gr0068 RMB 2 LSet vector -gr006A RMB 2 max X co-ordinate -gr006C RMB 2 max Y co-ordinate -gr006E RMB 2 X pixel count -gr0070 RMB 2 Y pixel count -gr0072 RMB 2 Screen address of pixel we are doing -gr0074 RMB 1 Pixel mask for pixel we are doing -gr0075 RMB 2 ??? Pixel mask for last byte of GP buffer? -gr0077 RMB 2 Vector for right direction FFill -gr0079 RMB 1 bit mask for 1st pixel in byte for right dir. FFill -gr007A RMB 2 Vector for left direction FFill -gr007C RMB 1 bit mask for last pixel in byte for left dir. FFill -gr007D RMB 1 buffer block # -gr007E RMB 2 buffer offset # -gr0080 RMB 2 Buffer length (in bytes) -gr0082 RMB 3 3 byte extended screen address -gr0085 RMB 2 temp -gr0087 RMB 16 grfdrv (sysmap 1) DAT image -gr0097 RMB 1 temp -gr0098 RMB 1 temp -* In ARC, 97-98 is the width of the clip line in pixels (after scaling) -gr0099 RMB 2 temp -* In ARC, 99-9A is the height of the clip line in pixels (after scaling) -gr009B RMB 1 counter temp -gr009C RMB 1 -gr009D RMB 2 offset to buffer in block -gr009F RMB 1 -gr00A0 RMB 1 # lines left to do of GP buffer onto screen -gr00A1 RMB 2 vector routine for (changes lots) -* In ARC A1-A2 is the vector to the proper clipping routine -gr00A3 RMB 2 Vector for shifting GP buffers -gr00A5 RMB 2 Vector for shifting GP buffers (can dupe A1) -gr00A7 RMB 2 -gr00A9 RMB 2 NEW: Window tbl ptr for last window GRFDRV used -grBigFnt RMB 2 Flag for 224 char font/gfx mode on (0=No) V2.00a -gr00AD RMB 2 FFill:orig. start X coord|Circ/Ell saved start X -gr00AF RMB 2 FFill:orig. start Y coord|Circ/Ell saved end X -gr00B1 RMB 1 Flag in FFill: 1=1st time through, 0=not 1st time -gr00B2 RMB 1 Filled (circle,ellipse) flag 0=Not filled -*gr00B3 rmb 256-. ??? UNUSED -gr00B3 RMB 1 temp veriable grfdrv -gr00B4 RMB 1 temp veriable grfdrv -gr00B5 RMB 1 regW for grfdrv -gr00B6 RMB 1 -gr00B7 RMB 2 -gr00B9 RMB 2 previously used in grfdrv at $B2 but not for Filled Flag -gr00BB RMB 2 previously used in grfdrv at $B4 -gr00BD RMB 2 previously used in grfdrv at $B6 -gr00BF RMB 256-. -* GPLoad buffer - $1200 in system block 0 -GPBuf RMB 72 common move buffer for gpload/get/put -gb0000 EQU 72 Size of get/put buffer ($48) - -***************************************************************************** -* Window table entry structure -* These tables sit in system block 0 and there is 1 for every window init'd -* including any overlay windows. -MaxWind EQU 32 maximum allowable window tables -WinBase EQU $1290 base address to start of window tables - ORG -$10 -Wt.STbl RMB 2 Screen table pointer ($FFFF=Not used) -$10 -Wt.BLnk RMB 1 overlay window parent entry # ($FF=base) -$0E -Wt.LStrt RMB 2 screen logical start address -$0D -Wt.CPX RMB 1 current X coord. start -$0B -Wt.CPY RMB 1 current Y coord. start -$0A -Wt.SZX RMB 1 current X size (CWArea) -$09 -Wt.SZY RMB 1 current Y size (CWArea) -$08 -Wt.SXFct RMB 1 X scaling factor -$07 -Wt.SYFct RMB 1 Y scaling factor (0=no scaling) -$06 -Wt.Cur RMB 2 cursor physical address on screen -$05 -Wt.FMsk RMB 1 font bit mask (based from left) -$03 -Wt.CurX RMB 2 X coord of cursor -$02 -Wt.CurY RMB 2 Y Coord of cursor $00 -Wt.XBCnt RMB 1 width of window (in bytes) $02 -Wt.CWTmp RMB 1 bytes wide each text chr (1,2,4) $03 -Wt.BRow RMB 2 bytes/text row (8x width in gfx) $04 -Wt.Fore RMB 1 foreground palette # $06 -Wt.Back RMB 1 background palette # $07 -Wt.Attr RMB 1 default attributes (FUTTTBBB) $08 -Wt.BSW RMB 1 character BSW switches $09 -Wt.LSet RMB 1 LSet type $0A -Wt.FBlk RMB 1 Font memory block # $0B -Wt.FOff RMB 2 Font offset in block $0C -Wt.PBlk RMB 1 PSet memory block # $0E -Wt.POff RMB 2 PSet offset in block $0F -Wt.OBlk RMB 1 Overlay memory block # $11 -Wt.OOff RMB 2 Overlay offset in block $12 -Wt.LVec RMB 2 LSet vector $14 -Wt.PVec RMB 2 PSet vector $16 -Wt.GBlk RMB 1 GCursor memory block # $18 -Wt.GOff RMB 2 GCursor offset in block $19 -Wt.MaxX RMB 2 Maximum X cord. (0-79,0-639) $1B -Wt.MaxY RMB 2 Maximum Y cord. (0-24,0-191) $1D -Wt.BLen RMB 2 bytes left in GPLoad block below $1F -Wt.NBlk RMB 1 memory block # for next GPLoad $21 -Wt.NOff RMB 2 Offset in block for next GPLoad $22 -Wt.LStDf RMB 2 screen logical start default $24 -* NOTE: The following default settings are what the window was initialized -* with, and thus are the MAXIMUM start/size the window can handle -* until it is restarted (DWEnd & DWSet) -* They also appear to be used in WindInt to determine the coords & -* sizes for control+content regions -Wt.DfCPX RMB 1 default X cord. start $26 -Wt.DfCPY RMB 1 default Y cord. start $27 -Wt.DfSZX RMB 1 default X size $28 -Wt.DfSZY RMB 1 default Y size $29 -Wt.Res RMB 6 unused $2A-$2F -Wt.Siz EQU .+$10 - -***************************************************************************** -* Screen table entrys -* These tables sit in system block 0 base=$1A80 - -STblMax EQU 16 Maximum number of screen tables -STblBse EQU $1A80 base address of screen tables - ORG 0 -St.Sty RMB 1 Screen type $00 -St.SBlk RMB 1 Ram block start # $01 -St.LStrt RMB 2 Screen logical start (for GIME) $02 -St.BRow RMB 1 Bytes per row $04 -St.Brdr RMB 1 Border palette register # $05 -St.Fore RMB 1 Foreground palette register # $06 -St.Back RMB 1 Background palette register # $07 -St.ScSiz RMB 1 screen size: 24..28 lines $08 -St.Res RMB 7 UNUSED??? $09 -* NOTE: SHOULD USE ONE OF THESE UNUSED BYTES TO KEEP THE # OF DEVICE WINDOW -* TABLES THAT ARE USING THIS SCREEN TABLE. DWSET & DWEND WOULD KEEP TRACK OF -* THESE, AND THE WINDINT TITLE BAR ROUTINE WOULD CHECK IT. IF IT IS ONLY 1, -* IT WON'T BOTHER CHANGING THE TITLE BAR WHEN SELECTING WINDOWS -St.Pals RMB 16 Palette register contents $10 -St.Siz EQU . - -***************************************************************************** -* Graphics buffer tables -* They contain a 20 byte header (shown below), followed by the raw pixel -* data. - ORG 0 -Grf.Bck RMB 1 back block link # $00 -Grf.Off RMB 2 back block header offset $01 -Grf.Grp RMB 1 group # $03 -Grf.Buff RMB 1 buffer # $04 -Grf.BSz RMB 2 buffer size (not including header) $05 -Grf.XSz RMB 2 X size (in pixels) $07 -Grf.YSz RMB 2 Y size (in pixels/bytes) $09 -Grf.XBSz RMB 1 X size in bytes $0B -Grf.LfPx RMB 1 # pixels used in first byte of line $0C -Grf.RtPx RMB 1 # pixels used in last byte of line $0D -Grf.STY RMB 1 Screen type buffer intended for $0E -Grf.NBlk RMB 1 number blocks used $0F -Grf.Pal RMB 16 Copy of palette registers? $10 -Grf.Siz EQU . $20 - -***************************************************************************** -* GFX tables (1 for each window, 18 ($12) bytes each) pointed to by -* $1075-$0176 -* GRFINT only uses gt0001-gt0004, the rest is exclusive to WINDINT - ORG 0 -Gt.WTyp RMB 1 WindInt window type (Framed, Scroll Bar, etc.) $00 -Gt.GXCur RMB 2 X coord of graphics cursor $01 -Gt.GYCur RMB 2 Y coord of graphics cursor $03 -Gt.DPtr RMB 2 Ptr to WindInt window descriptor $05 -Gt.FClr RMB 1 Foreground color $07 -Gt.BClr RMB 1 Background color $08 -Gt.FMsk RMB 1 Foreground mask $09 -Gt.BMsk RMB 1 Background mask $0A -Gt.GBlk RMB 1 Block # of graphics cursor $0B -Gt.GOff RMB 2 Offset into block of graphics cursor $0C -Gt.Proc RMB 1 Process # of window creator $0E -Gt.PBlk RMB 1 Process descriptor block # of creator $0F -Gt.Res RMB 2 ??? RESERVED ??? $10 -GTabSz EQU . - -***************************************************************************** -* This table is located in the graphics table memory and is offset from -* graphics table pointer stored at $1075-$1076. This is used exclusively by -* WindInt. -* NOTE: USING UNUSED BYTES IN CC3 GLOBAL MEM, SET UP SEPARATE PTRS FOR EACH -* OF THE BELOW SO WE CAN SPEED UP ACCESS BY NOT HAVING TO DO A LOAD/LEAx -* COMBINATION EVERY TIME - ORG $0240 - RMB WN.SIZ copy of last accessed window descriptor - RMB MN.SIZ copy of last accessed menu descriptor - RMB MI.SIZ copy of last accessed item descriptor - RMB 65 menu handling table (16 entrys of 4 bytes) - -***************************************************************************** -* WindInt menu handling table entry definition - ORG 0 -MnuXNum RMB 1 menu # -MnuXStrt RMB 1 X start text co-ordinate -MnuXEnd RMB 1 X end text co-ordinate - RMB 1 unused? -MnuHSiz EQU . - -***************************************************************************** -* Character binary switches -TChr EQU %10000000 transparent characters -Under EQU %01000000 underline characters -Bold EQU %00100000 bold characters -Prop EQU %00010000 proportional spacing of characters -Scale EQU %00001000 automatic window scaling -Invers EQU %00000100 inverse characters -NoCurs EQU %00000010 no cursor display -Protect EQU %00000001 device window protection - -***************************************************************************** -* Screen types (high bit set=hardware text, else graphics) in GRFDRV -Current EQU $ff Current screen -* equ 1 640x200x2 -* equ 2 320x200x4 -* equ 3 640x200x4 -* equ 4 320x200x16 -* equ $85 80 column text -* equ $86 40 column text - -************************************* -* Window default palette color codes -* - ORG 0 -White. RMB 1 -Blue. RMB 1 -Black. RMB 1 -Green. RMB 1 -Red. RMB 1 -Yellow. RMB 1 -Magenta. RMB 1 -Cyan. RMB 1 - - ENDC - diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/bootroms/makefile --- a/level1/atari/bootroms/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/bootroms/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -29,7 +29,7 @@ $(PADROM) -b 12288 $@_p1 $(MERGE) $@_p2 $@_p1>$@ $(PADROM) -b 16384 $@ -# $(RM) $@_p2 $@_p1 + $(RM) $@_p2 $@_p1 clean: $(RM) $(ALLROMS) \ No newline at end of file diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/defs/defsfile.asm --- a/level1/atari/defs/defsfile.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/defs/defsfile.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,8 @@ Level equ 1 ifp1 - use /dd/defs/os9defs - use /dd/defs/rbfdefs - use /dd/defs/scfdefs - use /dd/defs/systype + use /dd/defs/os9.d + use /dd/defs/rbf.d + use /dd/defs/scf.d + use /dd/defs/atari.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/defs/makefile --- a/level1/atari/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -5,28 +5,28 @@ DEFOPTS = -ls -x -z -aLevel=1 DEFSDIR = ../../../defs -DEFS = Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = defsfile os9.d rbf.d scf.d atari.d atarivtio.d ALLOBJS = $(DEFS) all: $(ALLOBJS) -Defsfile: defsfile.asm +defsfile: defsfile.asm $(AS) $(DEFOPTS) -p $< > $@ -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +atari.d: $(DEFSDIR)/atari.d + $(AS) $(DEFOPTS) -aATARI.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs - $(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +atarivtio.d: $(DEFSDIR)/atarivtio.d + $(AS) $(DEFOPTS) -aATARIVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/defsfile --- a/level1/atari/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 1 - use os9defs - use scfdefs - use rbfdefs - use systype + use os9.d + use scf.d + use rbf.d + use atari.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/makefile --- a/level1/atari/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -24,7 +24,7 @@ KERNELFILE = bootfiles/kernel_1773 KERNELFILE_DW3_COCO1 = bootfiles/kernel_dw3_coco1 KERNELFILE_DW3_COCO2 = bootfiles/kernel_dw3_coco2 -DIRS = cmds modules defs sys bootfiles +DIRS = cmds modules defs sys bootroms CMDS = $(shell $(CD) cmds; make --no-print-directory showobjs) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/modules/clock.asm --- a/level1/atari/modules/clock.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/modules/clock.asm Fri Feb 24 08:51:08 2012 -0600 @@ -6,7 +6,7 @@ * Edt/Rev YYYY/MM/DD Modified by * Comment * ------------------------------------------------------------------ -* 2012/02/22 Boisy G. Pitre +* 1 2012/02/22 Boisy G. Pitre * Created nam Clock diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/modules/makefile --- a/level1/atari/modules/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/modules/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -5,18 +5,7 @@ AFLAGS += -I$(LEVEL1)/modules -CLOCKELIM = -aRTCElim=1 -CLOCKDISTO2 = -aRTCDsto2=1 -CLOCKDISTO4 = -aRTCDsto4=1 -CLOCKBNB = -aRTCBB=1 -CLOCKSMART = -aRTCSmart=1 -aMPIFlag=1 -CLOCKHARRIS = -aRTCHarrs=1 -CLOCKCLOUD9 = -aRTCCloud9=1 CLOCKSOFT = -aRTCSoft=1 -CLOCKMESSEMU = -aRTCMessEmu=1 -CLOCKJVEMU = -aRTCJVEmu=1 -TC3FLAGS = $(AFLAGS) -aTC3=1 $(FLAGS) -IDEFLAGS = $(AFLAGS) -aIDE=1 $(FLAGS) DEPENDS = ./makefile TPB = $(3RDPARTY)/booters @@ -29,7 +18,7 @@ RBF = rbf.mn SCF = scf.mn \ - sc6551.dr vrn.dr scbbp.dr scbbt.dr scdwp.dr vtio.dr \ + vrn.dr vtio.dr \ nil.dd \ term.dt @@ -37,7 +26,7 @@ piper.dr \ pipe.dd -ALLOBJS = $(BOOTTRACK) $(KERNEL) $(SYSMODS) $(CLOCKS) $(RBF) $(SCF) $(PIPE) +ALLOBJS = $(KERNEL) $(SYSMODS) $(CLOCKS) $(RBF) $(SCF) $(PIPE) all: $(ALLOBJS) @@ -64,9 +53,6 @@ showobjs: @$(ECHO) $(ALLOBJS) -showboottrack: - @$(ECHO) $(BOOTTRACK) - showkernel: @$(ECHO) $(KERNEL) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/modules/term.asm --- a/level1/atari/modules/term.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/modules/term.asm Fri Feb 24 08:51:08 2012 -0600 @@ -50,7 +50,7 @@ fcb C$QUIT quit character fcb C$BSP backspace echo character fcb C$BELL line overflow character (bell) - fcb ModCoVDG init value for dev ctl reg + fcb $00 init value for dev ctl reg fcb $00 baud rate fdb name copy of descriptor name address fcb $00 acia xon char diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/atari/modules/vtio.asm --- a/level1/atari/modules/vtio.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/atari/modules/vtio.asm Fri Feb 24 08:51:08 2012 -0600 @@ -15,7 +15,7 @@ ifp1 use defsfile use scfdefs - use atari.d + use atarivtio.d endc tylg set Drivr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/cmds/grfdrv.asm --- a/level1/cmds/grfdrv.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/cmds/grfdrv.asm Fri Feb 24 08:51:08 2012 -0600 @@ -16,7 +16,7 @@ ifp1 use defsfile - use vtiodefs + use cocovtio.d endc tylg set Systm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/coco/defs/defsfile.asm --- a/level1/coco/defs/defsfile.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/coco/defs/defsfile.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,8 @@ Level equ 1 ifp1 - use /dd/defs/os9defs - use /dd/defs/rbfdefs - use /dd/defs/scfdefs - use /dd/defs/systype + use /dd/defs/os9.d + use /dd/defs/rbf.d + use /dd/defs/scf.d + use /dd/defs/coco.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/coco/defs/makefile --- a/level1/coco/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/coco/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -5,28 +5,28 @@ DEFOPTS = -ls -x -z -aLevel=1 DEFSDIR = ../../../defs -DEFS = Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = defsfile os9.d rbf.d scf.d coco.d cocovtio.d ALLOBJS = $(DEFS) all: $(ALLOBJS) -Defsfile: defsfile.asm +defsfile: defsfile.asm $(AS) $(DEFOPTS) -p $< > $@ -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +coco.d: $(DEFSDIR)/coco.d + $(AS) $(DEFOPTS) -aCOCO.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs - $(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +cocovtio.d: $(DEFSDIR)/cocovtio.d + $(AS) $(DEFOPTS) -aCOCOVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/coco/defsfile --- a/level1/coco/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/coco/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ Level equ 1 - use os9defs - use scfdefs - use rbfdefs - use systype + use os9.d + use scf.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/d64/defs/defsfile.asm --- a/level1/d64/defs/defsfile.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/d64/defs/defsfile.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,8 @@ Level equ 1 ifp1 - use /dd/defs/os9defs - use /dd/defs/rbfdefs - use /dd/defs/scfdefs - use /dd/defs/systype + use /dd/defs/os9.d + use /dd/defs/rbf.d + use /dd/defs/scf.d + use /dd/defs/dragon.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/d64/defs/makefile --- a/level1/d64/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/d64/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -5,28 +5,28 @@ DEFOPTS = -ls -x -z -aLevel=1 DEFSDIR = ../../../defs -DEFS = Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = defsfile os9.d rbf.d scf.d dragon.d dragonvtio.d ALLOBJS = $(DEFS) all: $(ALLOBJS) -Defsfile: defsfile.asm +defsfile: defsfile.asm $(AS) $(DEFOPTS) -p $< > $@ -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +dragon.d: $(DEFSDIR)/dragon.d + $(AS) $(DEFOPTS) -aDRAGON.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs - $(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +dragonvtio.d: $(DEFSDIR)/cocovtio.d + $(AS) $(DEFOPTS) -aDRAGONVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/d64/defsfile --- a/level1/d64/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/d64/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,7 +1,6 @@ Level equ 1 - use os9defs - use scfdefs - use rbfdefs - use systype - use dgndefs \ No newline at end of file + use os9.d + use scf.d + use rbf.d + use dragon.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/dalpha/defs/defsfile.asm --- a/level1/dalpha/defs/defsfile.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/dalpha/defs/defsfile.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,8 @@ Level equ 1 ifp1 - use /dd/defs/os9defs - use /dd/defs/rbfdefs - use /dd/defs/scfdefs - use /dd/defs/systype + use /dd/defs/os9.d + use /dd/defs/rbf.d + use /dd/defs/scf.d + use /dd/defs/dragon.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/dalpha/defs/makefile --- a/level1/dalpha/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/dalpha/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -1,32 +1,32 @@ -PORT = dalpha +PORT = d64 include $(NITROS9DIR)/rules.mak DEPENDS = ./makefile DEFOPTS = -ls -x -z -aLevel=1 DEFSDIR = ../../../defs -DEFS = Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = defsfile os9.d rbf.d scf.d dragon.d dragonvtio.d ALLOBJS = $(DEFS) all: $(ALLOBJS) -Defsfile: defsfile.asm +defsfile: defsfile.asm $(AS) $(DEFOPTS) -p $< > $@ -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +dragon.d: $(DEFSDIR)/dragon.d + $(AS) $(DEFOPTS) -aDRAGON.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs - $(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +dragonvtio.d: $(DEFSDIR)/cocovtio.d + $(AS) $(DEFOPTS) -aDRAGONVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/dalpha/defsfile --- a/level1/dalpha/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/dalpha/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,7 +1,6 @@ Level equ 1 - use os9defs - use scfdefs - use rbfdefs - use systype - use dgndefs \ No newline at end of file + use os9.d + use scf.d + use rbf.d + use dragon.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/makefile --- a/level1/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -1,6 +1,6 @@ include $(NITROS9DIR)/rules.mak -dirs = coco tano d64 dalpha +dirs = coco tano d64 dalpha atari # Make all components all: diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/boot_dw3.asm --- a/level1/modules/boot_dw3.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/boot_dw3.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,7 +14,7 @@ IFP1 USE defsfile - USE dwdefs.d + USE drivewire.d ENDC tylg SET Systm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/clock.asm --- a/level1/modules/clock.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/clock.asm Fri Feb 24 08:51:08 2012 -0600 @@ -47,7 +47,7 @@ ifp1 use defsfile ifgt Level-1 - use vtiodefs_cc3 + use cocovtio.d endc endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/cohr.asm --- a/level1/modules/cohr.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/cohr.asm Fri Feb 24 08:51:08 2012 -0600 @@ -38,7 +38,7 @@ ifp1 use defsfile - use vtiodefs + use cocovtio.d endc tylg set Systm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/covdg.asm --- a/level1/modules/covdg.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/covdg.asm Fri Feb 24 08:51:08 2012 -0600 @@ -19,7 +19,7 @@ ifp1 use defsfile - use vtiodefs + use cocovtio.d endc tylg set Systm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/dw3.asm --- a/level1/modules/dw3.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/dw3.asm Fri Feb 24 08:51:08 2012 -0600 @@ -20,7 +20,7 @@ ifp1 use defsfile - use dwdefs.d + use drivewire.d endc tylg set Sbrtn+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/init.asm --- a/level1/modules/init.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/init.asm Fri Feb 24 08:51:08 2012 -0600 @@ -34,6 +34,9 @@ ifp1 use defsfile + IFGT Level-1 + use cocovtio.d + ENDC endc tylg set Systm+$00 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/kernel/krn.asm --- a/level1/modules/kernel/krn.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/kernel/krn.asm Fri Feb 24 08:51:08 2012 -0600 @@ -70,7 +70,6 @@ ifp1 use defsfile - use scfdefs IFNE atari use atari.d ENDC diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/rbdw3.asm --- a/level1/modules/rbdw3.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/rbdw3.asm Fri Feb 24 08:51:08 2012 -0600 @@ -37,7 +37,7 @@ ifp1 use defsfile - use dwdefs.d + use drivewire.d endc NumDrvs set 4 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/rfm.asm --- a/level1/modules/rfm.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/rfm.asm Fri Feb 24 08:51:08 2012 -0600 @@ -15,7 +15,7 @@ ifp1 use defsfile use rfmdefs - use dwdefs.d + use drivewire.d endc tylg set FlMgr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/scdwn.asm --- a/level1/modules/scdwn.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/scdwn.asm Fri Feb 24 08:51:08 2012 -0600 @@ -54,7 +54,7 @@ ifp1 use defsfile - use dwdefs.d + use drivewire.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/scdwp.asm --- a/level1/modules/scdwp.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/scdwp.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,7 +14,7 @@ ifp1 use defsfile - use dwdefs.d + use drivewire.d endc tylg set Drivr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/scf.asm --- a/level1/modules/scf.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/scf.asm Fri Feb 24 08:51:08 2012 -0600 @@ -200,6 +200,9 @@ IFP1 use defsfile use scfdefs + IFGT Level-1 + use cocovtio.d + ENDC ENDC tylg set FlMgr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/term32.asm --- a/level1/modules/term32.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/term32.asm Fri Feb 24 08:51:08 2012 -0600 @@ -17,7 +17,7 @@ ifp1 use defsfile use scfdefs - use vtiodefs + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/term51.asm --- a/level1/modules/term51.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/term51.asm Fri Feb 24 08:51:08 2012 -0600 @@ -23,7 +23,7 @@ ifp1 use defsfile use scfdefs - use vtiodefs + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/term80.asm --- a/level1/modules/term80.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/term80.asm Fri Feb 24 08:51:08 2012 -0600 @@ -17,7 +17,7 @@ ifp1 use defsfile use scfdefs - use vtiodefs + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/vtio.asm --- a/level1/modules/vtio.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/vtio.asm Fri Feb 24 08:51:08 2012 -0600 @@ -37,7 +37,7 @@ ifp1 use defsfile use scfdefs - use vtiodefs + use cocovtio.d endc tylg set Drivr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/modules/wbug.asm --- a/level1/modules/wbug.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/modules/wbug.asm Fri Feb 24 08:51:08 2012 -0600 @@ -27,7 +27,7 @@ IFP1 USE defsfile - USE dwdefs.d + USE drivewire.d ENDC IFEQ LEVEL-1 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/tano/defs/defsfile.asm --- a/level1/tano/defs/defsfile.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/tano/defs/defsfile.asm Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,8 @@ Level equ 1 ifp1 - use /dd/defs/os9defs - use /dd/defs/rbfdefs - use /dd/defs/scfdefs - use /dd/defs/systype + use /dd/defs/os9.d + use /dd/defs/rbf.d + use /dd/defs/scf.d + use /dd/defs/dragon.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/tano/defs/makefile --- a/level1/tano/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/tano/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -1,32 +1,32 @@ -PORT = tano +PORT = d64 include $(NITROS9DIR)/rules.mak DEPENDS = ./makefile DEFOPTS = -ls -x -z -aLevel=1 DEFSDIR = ../../../defs -DEFS = Defsfile OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = defsfile os9.d rbf.d scf.d dragon.d dragonvtio.d ALLOBJS = $(DEFS) all: $(ALLOBJS) -Defsfile: defsfile.asm - $(AS) $(AFLAGS) $(DEFOPTS) -p $< > $@ +defsfile: defsfile.asm + $(AS) $(DEFOPTS) -p $< > $@ -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(AFLAGS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(AFLAGS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(AFLAGS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(AFLAGS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +dragon.d: $(DEFSDIR)/dragon.d + $(AS) $(DEFOPTS) -aDRAGON.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs - $(AS) $(AFLAGS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +dragonvtio.d: $(DEFSDIR)/cocovtio.d + $(AS) $(DEFOPTS) -aDRAGONVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/tano/defsfile --- a/level1/tano/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/tano/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,7 +1,6 @@ Level equ 1 - use os9defs - use scfdefs - use rbfdefs - use systype - use dgndefs + use os9.d + use scf.d + use rbf.d + use dragon.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level1/tano/modules/makefile --- a/level1/tano/modules/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level1/tano/modules/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -19,8 +19,8 @@ DEPENDS = ./makefile TPB = $(3RDPARTY)/booters -BOOTERS = boot_1773_6ms boot_1773_30ms \ - boot_burke boot_rampak boot_wd1002 +BOOTERS = boot_1773_6ms boot_1773_30ms +# boot_rampak boot_wd1002 boot_burke BOOTTRACK = rel $(BOOTERS) KERNEL = krn krnp2 SYSMODS = ioman init sysgo_dd sysgo_h0 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/cmds/grfdrv.asm --- a/level2/cmds/grfdrv.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/cmds/grfdrv.asm Fri Feb 24 08:51:08 2012 -0600 @@ -310,6 +310,7 @@ ifp1 use defsfile + use cocovtio.d endc GrfStrt equ $4000 Position of GRFDRV in it's own task diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/coco3/defs/Defsfile --- a/level2/coco3/defs/Defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/coco3/defs/Defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,8 @@ Level equ 2 ifp1 - use /dd/defs/os9defs - use /dd/defs/rbfdefs - use /dd/defs/scfdefs - use /dd/defs/systype + use /dd/defs/os9.d + use /dd/defs/rbf.d + use /dd/defs/scf.d + use /dd/defs/coco3.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/coco3/defs/makefile --- a/level2/coco3/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/coco3/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -5,25 +5,25 @@ DEFOPTS = -ls -x -z -aLevel=2 PERMDEFS = Defsfile -DEFS = OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = os9.d rbf.d scf.d coco.d coco3vtio.d ALLOBJS = $(DEFS) $(PERMDEFS) all: $(ALLOBJS) -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(AFLAGS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(AFLAGS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(AFLAGS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(AFLAGS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(AFLAGS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(AFLAGS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(AFLAGS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +coco.d: $(DEFSDIR)/coco.d + $(AS) $(AFLAGS) $(DEFOPTS) -aCOCO.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs_cc3 - $(AS) $(AFLAGS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +coco3vtio.d: $(DEFSDIR)/cocovtio.d + $(AS) $(AFLAGS) $(DEFOPTS) -aCOCOVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/coco3/defsfile --- a/level2/coco3/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/coco3/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,7 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use rbfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/coco3_6309/defs/Defsfile --- a/level2/coco3_6309/defs/Defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/coco3_6309/defs/Defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,8 +1,8 @@ Level equ 2 ifp1 - use /dd/defs/os9defs - use /dd/defs/rbfdefs - use /dd/defs/scfdefs - use /dd/defs/systype + use /dd/defs/os9.d + use /dd/defs/rbf.d + use /dd/defs/scf.d + use /dd/defs/coco3.d endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/coco3_6309/defs/makefile --- a/level2/coco3_6309/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/coco3_6309/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -3,27 +3,27 @@ DEPENDS = ./makefile -DEFOPTS = -ls -x -z -aLevel=2 -aH6309=1 +DEFOPTS = -ls -x -z -aLevel=2 PERMDEFS = Defsfile -DEFS = OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = os9.d rbf.d scf.d coco.d coco3vtio.d ALLOBJS = $(DEFS) $(PERMDEFS) all: $(ALLOBJS) -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(AFLAGS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(AFLAGS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(AFLAGS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(AFLAGS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(AFLAGS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(AFLAGS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(AFLAGS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +coco.d: $(DEFSDIR)/coco.d + $(AS) $(AFLAGS) $(DEFOPTS) -aCOCO.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs_cc3 - $(AS) $(AFLAGS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +coco3vtio.d: $(DEFSDIR)/cocovtio.d + $(AS) $(AFLAGS) $(DEFOPTS) -aCOCOVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/coco3_6309/defsfile --- a/level2/coco3_6309/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/coco3_6309/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,7 +1,6 @@ Level equ 2 - use os9defs - use scfdefs - use rbfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use rbf.d + use coco.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/defs/makefile --- a/level2/defs/makefile Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/defs/makefile Fri Feb 24 08:51:08 2012 -0600 @@ -1,29 +1,29 @@ PORT = coco3 -include ../../rules.mak +include $(NITROS9DIR)/rules.mak DEPENDS = ./makefile DEFOPTS = -ls -x -z -aLevel=2 PERMDEFS = Defsfile -DEFS = OS9Defs RBFDefs SCFDefs SysType VTIODefs +DEFS = os9.d rbf.d scf.d coco.d coco3vtio.d ALLOBJS = $(DEFS) $(PERMDEFS) all: $(ALLOBJS) -OS9Defs: $(DEFSDIR)/os9defs - $(AS) $(DEFOPTS) -aOS9DEFS=0 $< > $@ +os9.d: $(DEFSDIR)/os9.d + $(AS) $(AFLAGS) $(DEFOPTS) -aOS9.D=0 $< > $@ -RBFDefs: $(DEFSDIR)/rbfdefs - $(AS) $(DEFOPTS) -aRBFDEFS=0 $< > $@ +rbf.d: $(DEFSDIR)/rbf.d + $(AS) $(AFLAGS) $(DEFOPTS) -aRBF.D=0 $< > $@ -SCFDefs: $(DEFSDIR)/scfdefs - $(AS) $(DEFOPTS) -aSCFDEFS=0 $< > $@ +scf.d: $(DEFSDIR)/scf.d + $(AS) $(AFLAGS) $(DEFOPTS) -aSCF.D=0 $< > $@ -SysType: $(DEFSDIR)/systype - $(AS) $(DEFOPTS) -aSYSTYPE=0 $< > $@ +coco.d: $(DEFSDIR)/coco.d + $(AS) $(AFLAGS) $(DEFOPTS) -aCOCO.D=0 $< > $@ -VTIODefs: $(DEFSDIR)/vtiodefs_cc3 - $(AS) $(DEFOPTS) -aVTIODEFS=0 $< > $@ +coco3vtio.d: $(DEFSDIR)/cocovtio.d + $(AS) $(AFLAGS) $(DEFOPTS) -aCOCOVTIO.D=0 $< > $@ clean: $(RM) $(DEFS) diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/covdg.asm --- a/level2/modules/covdg.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/covdg.asm Fri Feb 24 08:51:08 2012 -0600 @@ -39,6 +39,7 @@ ifp1 use defsfile + use cocovtio.d use vdgdefs endc diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/cowin.asm --- a/level2/modules/cowin.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/cowin.asm Fri Feb 24 08:51:08 2012 -0600 @@ -32,6 +32,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Systm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/joydrv_joy.asm --- a/level2/modules/joydrv_joy.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/joydrv_joy.asm Fri Feb 24 08:51:08 2012 -0600 @@ -19,6 +19,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Systm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/kernel/krnp2.asm --- a/level2/modules/kernel/krnp2.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/kernel/krnp2.asm Fri Feb 24 08:51:08 2012 -0600 @@ -69,6 +69,7 @@ IFP1 use defsfile + use cocovtio.d ENDC TC9 set false "true" use TC-9 6309 trap vector diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/keydrv_cc3.asm --- a/level2/modules/keydrv_cc3.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/keydrv_cc3.asm Fri Feb 24 08:51:08 2012 -0600 @@ -15,7 +15,8 @@ * Disassembled 98/09/09 09:02:10 by Disasm v1.6 (C) 1988 by RML ifp1 - use defsfile + use defsfile + use cocovtio.d ENDC tylg set Systm+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/snddrv_cc3.asm --- a/level2/modules/snddrv_cc3.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/snddrv_cc3.asm Fri Feb 24 08:51:08 2012 -0600 @@ -23,6 +23,7 @@ ifp1 use defsfile + use cocovtio.d endc * SYSTEM MAP GLOBALS: diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/term_vdg.asm --- a/level2/modules/term_vdg.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/term_vdg.asm Fri Feb 24 08:51:08 2012 -0600 @@ -12,6 +12,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/term_win40.asm --- a/level2/modules/term_win40.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/term_win40.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/term_win80.asm --- a/level2/modules/term_win80.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/term_win80.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/v1.asm --- a/level2/modules/v1.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/v1.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/v2.asm --- a/level2/modules/v2.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/v2.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/v3.asm --- a/level2/modules/v3.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/v3.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/v4.asm --- a/level2/modules/v4.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/v4.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/v5.asm --- a/level2/modules/v5.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/v5.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/v6.asm --- a/level2/modules/v6.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/v6.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/v7.asm --- a/level2/modules/v7.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/v7.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/vi.asm --- a/level2/modules/vi.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/vi.asm Fri Feb 24 08:51:08 2012 -0600 @@ -12,6 +12,7 @@ ifp1 use defsfile + use cocovtio.d endc Edtn equ 1 diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/vtio.asm --- a/level2/modules/vtio.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/vtio.asm Fri Feb 24 08:51:08 2012 -0600 @@ -58,6 +58,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Drivr+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w.asm --- a/level2/modules/w.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w1.asm --- a/level2/modules/w1.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w1.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w10.asm --- a/level2/modules/w10.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w10.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w11.asm --- a/level2/modules/w11.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w11.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w12.asm --- a/level2/modules/w12.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w12.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w13.asm --- a/level2/modules/w13.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w13.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w14.asm --- a/level2/modules/w14.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w14.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w15.asm --- a/level2/modules/w15.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w15.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w2.asm --- a/level2/modules/w2.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w2.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w3.asm --- a/level2/modules/w3.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w3.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w4.asm --- a/level2/modules/w4.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w4.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w5.asm --- a/level2/modules/w5.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w5.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w6.asm --- a/level2/modules/w6.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w6.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w7.asm --- a/level2/modules/w7.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w7.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w8.asm --- a/level2/modules/w8.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w8.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level2/modules/w9.asm --- a/level2/modules/w9.asm Fri Feb 24 06:41:48 2012 -0600 +++ b/level2/modules/w9.asm Fri Feb 24 08:51:08 2012 -0600 @@ -14,6 +14,7 @@ ifp1 use defsfile + use cocovtio.d endc tylg set Devic+Objct diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level3/coco3/defsfile --- a/level3/coco3/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level3/coco3/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,7 +1,7 @@ Level equ 3 - use os9defs - use scfdefs - use rbfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use rbf.d + use coco.d + use cocovtio.d diff -r b00ba2e2f691 -r b8c7b7fbf3c9 level3/coco3_6309/defsfile --- a/level3/coco3_6309/defsfile Fri Feb 24 06:41:48 2012 -0600 +++ b/level3/coco3_6309/defsfile Fri Feb 24 08:51:08 2012 -0600 @@ -1,7 +1,7 @@ Level equ 3 - use os9defs - use scfdefs - use rbfdefs - use systype - use vtiodefs_cc3 + use os9.d + use scf.d + use rbf.d + use coco.d + use cocovtio.d