Mercurial > hg > Members > kono > nitros9-code
view 3rdparty/utils/view/view_table.a @ 3210:6353bb024571
Created makefile and defsfile for NoCan RAMMER module driver and descriptor
Updated rammer.asm in the NoCan driver folder to build the NoCan version of the Driver
Updated r0.asm file to create the 6MB version of the descriptor.
The makefile creates a disk image with two sets of the required drivers for
the 6309 and 6809's in their respective module folders.
/NITROS9/6309_L2/MODULES/RBF
for the 6309 files
and
/NITROS9/6809_L2/MODULES/RBF
for the 6809 files.
This will make it easier for doing a dsave from this disk image into a
normal distro disk image so people have these drivers ready for when
new memory upgrades allow compatible usage of the NoCan registers.
author | David Ladd <drencor-xeen@users.sourceforge.net> |
---|---|
date | Wed, 20 Dec 2017 15:15:49 -0600 |
parents | 37fd74e6fad8 |
children |
line wrap: on
line source
* * * Table to drive command line parser. The routines to process individual * options are also in this file. * * Three global symbols: * PTable: options table * DefFormat: Set up Default format (VEF) * Help: Give usage message. * * ifp1 use os9defs.d endc StdOut equ 1 StdErr equ 2 psect view_table_a,0,0,0,0,0 * Options parsing table. * Each entry: null-terminated option string, * one-byte option code, * Lbra instruction to subroutine to process that option. * The subroutine is called with the option code in register A, and * X points to the first byte on the command line after the option * (for use in parsing arguments to options). * This simplifies the handling of format codes, in particular. * * In order to prevent incorrect matches, longer options should occur * earlier in the table, since the matching code will match the first * legal option that matches the first part of the given option. * i.e. if "opt" occurs before "opt1", then "opt1" will never get * a match * PTable: fcc "formats" -formats fcb 0,0 lbra ShowFormats fcc "savemge" -savemge fcb 0,MGEFormat lbra SetSave fcc "save640" -save640 fcb 0,MGE640Format lbra SetSave fcc "savevef" -savevef fcb 0,VEFFormat lbra SetSave fcc "savecm3" -savecm3 fcb 0,CM3Format lbra SetSave fcc "signal" -signal fcb 0,0 lbra SetSignal fcc "nobuff" -nobuff forces a very small buffer fcb 0,0 lbra NoBuff fcc "save" -save (VEF Squashed) fcb 0,VEFSqFormat lbra SetSave fcc "small" -small fcb 0,0 lbra SetSize fcc "large" -large fcb 0,1 lbra SetSize fcc "huge" -huge fcb 0,2 lbra SetSize fcc "sml" -sml fcb 0,0 lbra SetSize fcc "big" -big fcb 0,1 lbra SetSize fcc "lrg" -lrg fcb 0,1 lbra SetSize fcc "maxcmp" -maxcmp fcb 0,MAXCMPFormat lbra SetMAXCMP fcc "pixcmp" -pixcmp fcb 0,MAXCMPFormat lbra SetMAXCMP fcc "artcmp" -artcmp fcb 0,ARTCMPFormat lbra SetMAXCMP fcc "pix256" -pix256 (DS69B 256x256 format) fcb 0,PIX256Format lbra SetFormat fcc "pix128" -pix128 (DS69B 128x128 format) fcb 0,PIX128Format lbra SetFormat fcc "pix" -pix (Note: _must_ occur after pix256 & pix128) fcb 0,PIXFormat lbra SetFormat fcc "vef" -vef fcb 0,1 lbra SetVF only 1 picture VEF format. fcc "vf2" -vf2 option fcb 0,2 lbra SetVF fcc "vf3" -vf3 option fcb 0,3 lbra SetVF fcc "vf4" -vf4 option fcb 0,4 lbra SetVF fcc "vf5" -vf5 option fcb 0,5 lbra SetVF fcc "vf6" -vf6 fcb 0,6 lbra SetVF fcc "vf7" -vf7 fcb 0,7 lbra SetVF fcc "vf8" -vf8 fcb 0,8 lbra SetVF fcc "vf9" -vf9 fcb 0,9 lbra SetVF fcc "mge" -mge option fcb 0,MGEFormat lbra SetFormat fcc "cm3" -cm3 option fcb 0,CM3Format lbra SetFormat fcc "640" -640 option fcb 0,MGE640Format lbra SetFormat fcc "clp" -clp option fcb 0,CLPFormat lbra SetFormat fcc "pub" -pub option (Home Publisher ClipArt format) fcb 0,PUBFormat lbra SetFormat fcc "img" -img option fcb 0,IMGFormat lbra SetFormat fcc "rat" -rat option fcb 0,RATFormat lbra SetFormat fcc "art" -art option fcb 0,ARTFormat lbra SetFormat fcc "bin" -bin same as -max fcb 0,MAXFormat lbra SetFormat fcc "max" -max option fcb 0,MAXFormat lbra SetFormat fcc "p00" -p00 option fcb 0,P00Format lbra SetFormat fcc "p01" -p01 option fcb 0,P01Format lbra SetFormat fcc "p10" -p10 option fcb 0,P10Format lbra SetFormat fcc "p11" -p11 option fcb 0,P11Format lbra SetFormat fcc "p20" -p20 option fcb 0,P20Format lbra SetFormat fcc "p21" -p21 option fcb 0,P21Format lbra SetFormat fcc "p30" -p30 option fcb 0,P30Format lbra SetFormat fcc "p31" -p31 option fcb 0,P31Format lbra SetFormat fcc "p40" -p40 option fcb 0,P40Format lbra SetFormat fcc "p41" -p41 option fcb 0,P41Format lbra SetFormat fcc "rle" -rle option fcb 0,RLEFormat lbra SetFormat fcc "mac" -mac option fcb 0,MACFormat lbra SetFormat fcc "mcp" -mcp option fcb 0,MACFormat lbra SetFormat fcc "gifbw" -gifbw option fcb 0,GIFBWFormat lbra SetGIF fcc "bwgif" -bwgif option fcb 0,GIFBWFormat lbra SetGIF fcc "gbw" -gbw option fcb 0,GIFBWFormat lbra SetGIF fcc "gif" -gif option fcb 0,GIFFormat lbra SetGIF fcc "stp" -stp is synonym for -st, for MultiVue fcb 0,STFormat lbra SetFormat fcc "st" -st option fcb 0,STFormat lbra SetFormat fcc "t" -t# Set screen to this type. fcb 0,0 lbra Settype fcc "s" -s Use same screen fcb 0,0 lbra Setsame fcc "c" -c Enable color cycling fcb 0,0 lbra Setcycle fcc "f" -f Fit on one screen fcb 0,0 Now is a synonym for -small lbra SetSize fcc "y" -y# Skip this many lines at top. fcb 0,0 lbra Setskip fcc "x" -x# Skip this many columns at left fcb 0,0 lbra Setcols fcc "help" -help Give help message fcb 0,0 lbra Help fcc "h" -h Give help message fcb 0,0 lbra Help fcc "?" -? Give help message fcb 0,0 lbra Help fcc "q" -q# Quit after this many seconds fcb 0,0 lbra Quit * Additional options here fcb 0 Help: pshs x leax Usage,pcr lbsr O_Write ldb #1 os9 F$Exit puls x,pc ShowFormats pshs x leax Formats,pcr -formats exits after message. lbsr O_Write ldb #1 os9 F$Exit puls x,pc *********************** * * Subroutines to process specific options * *********************** * * Default Format sets VEF format. * DefFormat: tst <format If format already set, ignore. bne SetVEF1 lda #1 One-picture VEF is default. lbsr SetVF SetVEF1 rts * -t option * Settype lbsr Getnum Get argument, check for validity cmpb #5 blo Settype1 cmpb #8 bhi Settype1 lda <type Has it already been set? cmpa #5 blo Settype0 cmpa #8 bls Settype1 Settype0 stb <type All okay, set it. Settype1 rts * -s option * Setsame lda #$FF sta <Samescreen rts * Size options * SetSize tst <Size bpl SetSize1 If Size is >=0, then it's already been set. sta <Size SetSize1 rts * -c option Setcycle lda #$FF sta <cycle rts * -y option Setskip lbsr Getnum pshs d ldd <Skiplines bpl noskip ldd ,s std <Skiplines noskip puls d,pc * -x option Setcols lbsr Getnum pshs d ldd <Skipcols bpl nocols ldd ,s std <Skipcols nocols puls d,pc * -q option Quit lbsr Getnum lda #60 Multiply by 60 ticks/second. mul std <MaxTime rts * -nobuff option NoBuff ldd #16 16 bytes of buffer. std <MaxBuff rts * Handle format options * On entry, A holds the format code SetFormat tst <format bne SetForm1 sta <format SetForm1 rts * Set signal PID and value SetSignal lbsr Getnum stb <SigPID lbsr Getnum stb <SigOut rts endsect