Mercurial > hg > Members > kono > nitros9-code
changeset 1351:04b3b0436d6b
Fixed line-ending issue in help.asm, added new style header
author | boisy |
---|---|
date | Wed, 17 Sep 2003 20:19:40 +0000 |
parents | 8e90ef1b670e |
children | 69e75af20e16 |
files | level1/cmds/config.asm level1/cmds/go51.asm level1/cmds/help.asm |
diffstat | 3 files changed, 320 insertions(+), 316 deletions(-) [+] |
line wrap: on
line diff
--- a/level1/cmds/config.asm Wed Sep 17 20:11:14 2003 +0000 +++ b/level1/cmds/config.asm Wed Sep 17 20:19:40 2003 +0000 @@ -3,10 +3,14 @@ * * $Id$ * -* Ed. Comments Who YY/MM/DD +* Edt/Rev YYYY/MM/DD Modified by +* Comment * ------------------------------------------------------------------ -* 4 From Tandy OS-9 Level One VR 02.00.00 -* 5 Changed /D0 references to /DD +* 4 ????/??/?? ??? +* From Tandy OS-9 Level One VR 02.00.00. +* +* 5 ????/??/?/ ??? +* Changed /D0 references to /DD nam Config ttl Boot configurator @@ -4371,5 +4375,3 @@ emod eom equ * end - -
--- a/level1/cmds/go51.asm Wed Sep 17 20:11:14 2003 +0000 +++ b/level1/cmds/go51.asm Wed Sep 17 20:19:40 2003 +0000 @@ -3,9 +3,11 @@ * * $Id$ * -* Ed. Comments Who YY/MM/DD +* Edt/Rev YYYY/MM/DD Modified by +* Comment * ------------------------------------------------------------------ -* 1 From Dragon OS-9 Level One VR 01.02.00 +* 1 ????/??/?? ??? +* From Dragon OS-9 Level One VR 01.02.00. nam go51 ttl The 51 column by 24 line video display
--- a/level1/cmds/help.asm Wed Sep 17 20:11:14 2003 +0000 +++ b/level1/cmds/help.asm Wed Sep 17 20:19:40 2003 +0000 @@ -1,309 +1,309 @@ -******************************************************************** -* Help - Show help -* -* $Id$ -* -* Edt/Rev YYYY/MM/DD Modified by -* Comment -* ------------------------------------------------------------------ -* 6 2003/01/21 Boisy G. Pitre -* -* 7 2003/05/30 Rodney V. Hamilton -* Fixed showlist partial line bug, do auto list. - - nam Help - ttl Show help - - ifp1 - use defsfile - endc - -COLWIDTH set 10 - -tylg set Prgrm+Objct -atrv set ReEnt+rev -rev set $00 -edition set 7 - - mod eom,name,tylg,atrv,start,size - -name fcs /Help/ - fcb edition - - org 0 -exitvec rmb 2 -ncols rmb 1 -colcopy rmb 1 -bufptr rmb 2 -path rmb 1 -same rmb 1 -prmptr rmb 2 -prmend rmb 2 -length rmb 2 -colbuff rmb 128 -userbuf rmb 128 -parbuff rmb 256 -filbuff rmb 256 -stack rmb 350 -size equ . - -* Ask user for subjects -askuser leax askusr2,pcr - stx <exitvec - leax prompt1,pcr - lda #1 - ldy #128 - os9 I$WritLn -* Show topics (if user enters nothing at prompt) -showlist lda #1 - leax >avail,pcr - ldy #128 - os9 I$WritLn - lbsr seek0 rewind the file - bra resetcl - -doeol sty <bufptr - lda #C$CR - sta ,y - leax colbuff,u - lda #1 - ldy #128 - os9 I$WritLn -resetcl lda <ncols - sta <colcopy - leax colbuff,u - stx <bufptr -readlp lbsr readlin - bcc readlp2 - lda <colcopy check for partial line - cmpa <ncols - blt doeol and print it -askusr2 leax prompt2,pcr - lda #1 - ldy #prompt2l - os9 I$Write - clra - ldy #127 - leax userbuf,u - os9 I$ReadLn - lbcs exiteof - lda ,x - cmpa #C$CR - beq showlist - lbsr seek0 rewind the file - lbra entrya - -readlp2 leax filbuff,u - lda ,x+ - cmpa #'@ - bne readlp - ldy <bufptr -strcpy clra - clrb - pshs d -strc0 lda ,x+ - cmpa #C$SPAC - ble strc1 - sta ,y+ - ldd ,s - addd #$0001 - std ,s - bra strc0 do again -strc1 puls d - dec <colcopy - beq doeol - cmpb #COLWIDTH - bge onesp - pshs b - ldb #COLWIDTH - subb ,s+ - fcb $8C -onesp ldb #1 - lda #C$SPAC -spacelp sta ,y+ - decb - bne spacelp - sty <bufptr - bra readlp - -start pshs d,x,y - lda #8 - sta <ncols assume 8 columns - lda #1 - ldb #SS.ScSiz - os9 I$GetStt - bcs start2 - cmpx #9 - ble start1 A = 1 here - tfr x,d - clra -* Divide screen X by COLWIDTH to determine number of columns -Div10 subb #COLWIDTH - bcs start1 - inca - bra Div10 -start1 sta <ncols -start2 leax exit,pcr - stx <exitvec - puls d,x,y - tfr d,y length of parameters -open pshs x - leax helpfile,pcr point to file name - lda #READ. read mode - os9 I$Open - puls x - bcs exit - sta <path store path number - cmpy #$0001 no parameters? - lbeq askuser -entrya pshs u - leau parbuff,u point to buffer -entry0 lda ,x+ - cmpa #C$SPAC is it a space (between parameters?) - beq entry1 - cmpa #C$CR - bne nocr -entry1 clra yes, null it -nocr sta ,u+ store in buffer - leay -1,y decrement length counter - bne entry0 - clr ,u - tfr u,y - puls u - sty <prmend store end of all parameters - leax parbuff,u load address of parbuff into X - stx <prmptr save parameter pointer -entry2 lda ,x - bne strlen - leax 1,x - bra rered2 -strlen pshs x - ldy #0 initialise count -strl0 lda ,x+ is it a char > null - cmpa #C$SPAC - ble strl1 nope, exit - leay 1,y yep, increment count - bra strl0 do again -strl1 puls x - sty <length store it - -reread bsr readlin read line from helpfile file - bcc rered0 - cmpb #E$EOF did we find end-of-file? - lbeq unknown yep, tell user we don't know his command -rered0 bsr compare compare user number with 1st 3 chars of line - beq reread compare returns 0 if failed - bsr print else go print the helpfile line - bcc rered1 exit if I$WritLn problem - cmpb #E$EOF - bcs exit -rered1 ldd <length get length - ldx prmptr get parameter pointer - leax d,x add length to it - leax 1,x increment past null byte -rered2 clrb - cmpx <prmend - blt rered25 - jmp [exitvec,u] -rered25 stx <prmptr store it -rered3 lbsr seek0 rewind the file - bra entry2 loop around again - -exiteof cmpb #E$EOF - bne exit -exitok clrb -exit os9 F$Exit - -readlin pshs x,y - lda <path get file path number - ldy #256 read max 256 bytes - leax filbuff,u into memory pointed to by filbuff - os9 I$ReadLn - puls x,y,pc - -print pshs x,y,a -print2 bsr readlin - bcs printout -print3 lda ,x - cmpa #'@ - beq printout - lda #1 STDOUT - leax filbuff,u into memory pointed to by filbuff - ldy #256 max of 256 chars - os9 I$WritLn - bra print2 -printout lda #1 - leax return,pcr - ldy #256 max of 256 chars - os9 I$WritLn - puls x,y,a,pc - -compare pshs x,y - clr <same comparison indicator - leay filbuff,u point to file buffer - lda ,y+ get first char - cmpa #'@ @ sign? - bne comp2 branch if not - ldx prmptr get address of next cmd line param -comp0 lda ,x+ get char from cmd line - beq comp1 is it null (end of param) - ldb ,y+ - anda #$DF - andb #$DF - pshs a - cmpb ,s+ - bne comp2 not same, exit - inc <same yep, in comparison counter - bra comp0 'round again -comp1 lda ,y - cmpa #C$CR was it end of string in helpfile file? - bne comp2 - tst <same test indicator - puls x,y,pc -comp2 clr <same clear the counter - puls x,y,pc - -unknown ldx prmptr put pointer into parameter buffer in X - lda #1 STDOUT - ldy <length get length of user's param - os9 I$Write - bcs exit - leax unkmsg,pcr point to message - ldy #unkmsgl num of chars to print - lda #1 to STDOUT - os9 I$WritLn - lbcs exit exit if problem with I$Write - ldx prmptr put point into parameter buffer in X - ldd <length get length of user's param - leax d,x add to X - leax 1,x increment past null byte - clrb - cmpx prmend - blt unk2 - jmp [exitvec,u] -unk2 stx <prmptr store X - bsr seek0 rewind file - lbra entry2 - -seek0 pshs x,u - lda <path - ldx #0 - ldu #0 - os9 I$Seek - puls x,u,pc - -helpfile fcc "/DD/SYS/helpmsg" - fcb 0 -unkmsg fcc /: no help available/ -return fcb C$CR -unkmsgl equ *-unkmsg -prompt1 fcc /Hit [ESC] to exit/ - fcb C$CR -prompt2 fcc /What Subject(s)? / -prompt2l equ *-prompt2 -avail fcc /Help available on:/ - fcb C$CR - - emod -eom equ * - end +******************************************************************** +* Help - Show help +* +* $Id$ +* +* Edt/Rev YYYY/MM/DD Modified by +* Comment +* ------------------------------------------------------------------ +* 6 2003/01/21 Boisy G. Pitre +* +* 7 2003/05/30 Rodney V. Hamilton +* Fixed showlist partial line bug, do auto list. + + nam Help + ttl Show help + + ifp1 + use defsfile + endc + +COLWIDTH set 10 + +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $00 +edition set 7 + + mod eom,name,tylg,atrv,start,size + +name fcs /Help/ + fcb edition + + org 0 +exitvec rmb 2 +ncols rmb 1 +colcopy rmb 1 +bufptr rmb 2 +path rmb 1 +same rmb 1 +prmptr rmb 2 +prmend rmb 2 +length rmb 2 +colbuff rmb 128 +userbuf rmb 128 +parbuff rmb 256 +filbuff rmb 256 +stack rmb 350 +size equ . + +* Ask user for subjects +askuser leax askusr2,pcr + stx <exitvec + leax prompt1,pcr + lda #1 + ldy #128 + os9 I$WritLn +* Show topics (if user enters nothing at prompt) +showlist lda #1 + leax >avail,pcr + ldy #128 + os9 I$WritLn + lbsr seek0 rewind the file + bra resetcl + +doeol sty <bufptr + lda #C$CR + sta ,y + leax colbuff,u + lda #1 + ldy #128 + os9 I$WritLn +resetcl lda <ncols + sta <colcopy + leax colbuff,u + stx <bufptr +readlp lbsr readlin + bcc readlp2 + lda <colcopy check for partial line + cmpa <ncols + blt doeol and print it +askusr2 leax prompt2,pcr + lda #1 + ldy #prompt2l + os9 I$Write + clra + ldy #127 + leax userbuf,u + os9 I$ReadLn + lbcs exiteof + lda ,x + cmpa #C$CR + beq showlist + lbsr seek0 rewind the file + lbra entrya + +readlp2 leax filbuff,u + lda ,x+ + cmpa #'@ + bne readlp + ldy <bufptr +strcpy clra + clrb + pshs d +strc0 lda ,x+ + cmpa #C$SPAC + ble strc1 + sta ,y+ + ldd ,s + addd #$0001 + std ,s + bra strc0 do again +strc1 puls d + dec <colcopy + beq doeol + cmpb #COLWIDTH + bge onesp + pshs b + ldb #COLWIDTH + subb ,s+ + fcb $8C +onesp ldb #1 + lda #C$SPAC +spacelp sta ,y+ + decb + bne spacelp + sty <bufptr + bra readlp + +start pshs d,x,y + lda #8 + sta <ncols assume 8 columns + lda #1 + ldb #SS.ScSiz + os9 I$GetStt + bcs start2 + cmpx #9 + ble start1 A = 1 here + tfr x,d + clra +* Divide screen X by COLWIDTH to determine number of columns +Div10 subb #COLWIDTH + bcs start1 + inca + bra Div10 +start1 sta <ncols +start2 leax exit,pcr + stx <exitvec + puls d,x,y + tfr d,y length of parameters +open pshs x + leax helpfile,pcr point to file name + lda #READ. read mode + os9 I$Open + puls x + bcs exit + sta <path store path number + cmpy #$0001 no parameters? + lbeq askuser +entrya pshs u + leau parbuff,u point to buffer +entry0 lda ,x+ + cmpa #C$SPAC is it a space (between parameters?) + beq entry1 + cmpa #C$CR + bne nocr +entry1 clra yes, null it +nocr sta ,u+ store in buffer + leay -1,y decrement length counter + bne entry0 + clr ,u + tfr u,y + puls u + sty <prmend store end of all parameters + leax parbuff,u load address of parbuff into X + stx <prmptr save parameter pointer +entry2 lda ,x + bne strlen + leax 1,x + bra rered2 +strlen pshs x + ldy #0 initialise count +strl0 lda ,x+ is it a char > null + cmpa #C$SPAC + ble strl1 nope, exit + leay 1,y yep, increment count + bra strl0 do again +strl1 puls x + sty <length store it + +reread bsr readlin read line from helpfile file + bcc rered0 + cmpb #E$EOF did we find end-of-file? + lbeq unknown yep, tell user we don't know his command +rered0 bsr compare compare user number with 1st 3 chars of line + beq reread compare returns 0 if failed + bsr print else go print the helpfile line + bcc rered1 exit if I$WritLn problem + cmpb #E$EOF + bcs exit +rered1 ldd <length get length + ldx prmptr get parameter pointer + leax d,x add length to it + leax 1,x increment past null byte +rered2 clrb + cmpx <prmend + blt rered25 + jmp [exitvec,u] +rered25 stx <prmptr store it +rered3 lbsr seek0 rewind the file + bra entry2 loop around again + +exiteof cmpb #E$EOF + bne exit +exitok clrb +exit os9 F$Exit + +readlin pshs x,y + lda <path get file path number + ldy #256 read max 256 bytes + leax filbuff,u into memory pointed to by filbuff + os9 I$ReadLn + puls x,y,pc + +print pshs x,y,a +print2 bsr readlin + bcs printout +print3 lda ,x + cmpa #'@ + beq printout + lda #1 STDOUT + leax filbuff,u into memory pointed to by filbuff + ldy #256 max of 256 chars + os9 I$WritLn + bra print2 +printout lda #1 + leax return,pcr + ldy #256 max of 256 chars + os9 I$WritLn + puls x,y,a,pc + +compare pshs x,y + clr <same comparison indicator + leay filbuff,u point to file buffer + lda ,y+ get first char + cmpa #'@ @ sign? + bne comp2 branch if not + ldx prmptr get address of next cmd line param +comp0 lda ,x+ get char from cmd line + beq comp1 is it null (end of param) + ldb ,y+ + anda #$DF + andb #$DF + pshs a + cmpb ,s+ + bne comp2 not same, exit + inc <same yep, in comparison counter + bra comp0 'round again +comp1 lda ,y + cmpa #C$CR was it end of string in helpfile file? + bne comp2 + tst <same test indicator + puls x,y,pc +comp2 clr <same clear the counter + puls x,y,pc + +unknown ldx prmptr put pointer into parameter buffer in X + lda #1 STDOUT + ldy <length get length of user's param + os9 I$Write + bcs exit + leax unkmsg,pcr point to message + ldy #unkmsgl num of chars to print + lda #1 to STDOUT + os9 I$WritLn + lbcs exit exit if problem with I$Write + ldx prmptr put point into parameter buffer in X + ldd <length get length of user's param + leax d,x add to X + leax 1,x increment past null byte + clrb + cmpx prmend + blt unk2 + jmp [exitvec,u] +unk2 stx <prmptr store X + bsr seek0 rewind file + lbra entry2 + +seek0 pshs x,u + lda <path + ldx #0 + ldu #0 + os9 I$Seek + puls x,u,pc + +helpfile fcc "/DD/SYS/helpmsg" + fcb 0 +unkmsg fcc /: no help available/ +return fcb C$CR +unkmsgl equ *-unkmsg +prompt1 fcc /Hit [ESC] to exit/ + fcb C$CR +prompt2 fcc /What Subject(s)? / +prompt2l equ *-prompt2 +avail fcc /Help available on:/ + fcb C$CR + + emod +eom equ * + end