Mercurial > hg > Members > kono > nitros9-code
changeset 97:e42a6ba46d18
Initial import of tuneport.asm
author | boisy |
---|---|
date | Sat, 06 Jul 2002 03:31:35 +0000 |
parents | 307e956c5124 |
children | 5105796110bf |
files | level1/cmds/makefile level1/cmds/tuneport.asm |
diffstat | 2 files changed, 457 insertions(+), 1 deletions(-) [+] |
line wrap: on
line diff
--- a/level1/cmds/makefile Sat Jul 06 02:57:08 2002 +0000 +++ b/level1/cmds/makefile Sat Jul 06 03:31:35 2002 +0000 @@ -3,7 +3,7 @@ DEPENDS = ./Makefile CMDS = asm attr backup binex build copy date del deldir dir display dump echo exbin free grfo ident iniz link list \ - load login makdir mdir mfree printerr procs pwd pxd rename save setime shell sleep tee unlink verify + load login makdir mdir mfree printerr procs pwd pxd rename save setime shell sleep tee tuneport unlink verify ALLOBJS = $(CMDS) all: $(ALLOBJS)
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/level1/cmds/tuneport.asm Sat Jul 06 03:31:35 2002 +0000 @@ -0,0 +1,456 @@ +******************************************************************** +* TunePort - Tune Printer Port +* +* $Id$ +* +* Ed. Comments Who YY/MM/DD +* ------------------------------------------------------------------ +* 7 Original Tandy/Microware version BGP 02/04/06 + + nam TunePort + ttl Tune Printer Port + +* Disassembled 02/07/05 21:58:02 by Disasm v1.6 (C) 1988 by RML + + ifp1 + use os9defs + use scfdefs + endc + +tylg set Prgrm+Objct +atrv set ReEnt+rev +rev set $01 + + mod eom,name,tylg,atrv,start,size +u0000 rmb 1 +u0001 rmb 1 +u0002 rmb 1 +u0003 rmb 2 +u0005 rmb 2 +u0007 rmb 2 +u0009 rmb 1 +u000A rmb 1 +u000B rmb 2 +u000D rmb 2 +u000F rmb 2 +u0011 rmb 1 +u0012 rmb 1 +u0013 rmb 3 +size equ . + +name fcs /TunePort/ + fcb $03 + +AdjPmpt fcb C$CR + fcb C$LF + fcc " TO ADJUST YOUR PORT ENTER A" + fcb C$CR + fcb C$LF + fcc "NEW VALUE FOR THE LOOP DELAY" + fcb C$CR + fcb C$LF + fcc "AFTER THE PROMPT AND CURRENT" + fcb C$CR + fcb C$LF + fcc "VALUE ARE GIVEN. HIT [ENTER]" + fcb C$CR + fcb C$LF + fcc "TO END." + fcb C$CR + fcb C$LF +PmptLen equ *-AdjPmpt + +DoneMsg fcb C$LF + fcb C$CR + fcb $20 + fcc "YOUR PORT IS NOW ADJUSTED FOR" + fcb C$CR + fcb C$LF + fcc "THE CURRENT BAUD RATE AND THE" + fcb C$CR + fcb C$LF + fcc "CRC OF THE MODULE HAS BEEN UP-" + fcb C$CR + fcb C$LF + fcc "DATED. TO MAKE THE CHANGE" + fcb C$CR + fcb C$LF + fcc "PERMANENT IN THE BOOT USE THE" + fcb C$CR + fcb C$LF + fcc "COBBLER OR OS9GEN UTILITIES" + fcb C$CR + fcb C$LF + fcc "OR THE -S OPTION OF TUNEPORT" + fcb C$CR + fcc "AT SYSTEM STARTUP" + fcb C$CR +DoneLen equ *-DoneMsg + +HelpMsg fcc "USE:TUNEPORT </P OR /T1> [-OPT]" + fcb C$CR + fcb C$LF + fcc " ADJUST BAUD RATE DELAY ON" + fcb C$CR + fcb C$LF + fcc " SERIAL PORTS." + fcb C$CR + fcb C$LF + fcc "Opt: -S=VALUE TO SET LOOP DELAY" + fcb C$CR + fcb C$LF + fcc " FOR CURRENT BAUD VALUE" + fcb C$CR +HelpLen equ *-HelpMsg + +ErrMsg fcc "TUNEPORT: CURRENT BAUD RATE" + fcb C$CR + fcb C$LF + fcc "IS OUT OF RANGE" + fcb C$CR +ErrLen equ *-ErrMsg +L0241 fcb C$BELL + +TestNow fcb C$CR + fcc "NOW TESTING ....." +TestLen equ *-TestNow + +NewVMsg fcb C$CR + fcc "NEW VALUE = " +NewVLen equ *-NewVMsg + +CurVMsg fcb C$LF + fcb C$CR + fcb C$LF + fcc "CURRENT VALUE = " +CurVLen equ *-CurVMsg + +TestMsg fcc " This is a test line for the TunePort utility" + fcb C$CR +TMsgLen equ *-TestMsg + +start stu <u0003 + clr <u0002 + lbsr L0455 + stx <u0009 + cmpb #C$CR + lbeq L03FB + cmpb #'/ + lbne L03FB + lda #Devic+Objct + leax $01,x + os9 F$Link + lbcs L03E6 + stu <u000B + lda <u0012,u + ldu <u0003 + cmpa #$00 + lbne L03FB + ldy <u000B + leax <IT.BAU,y + lda ,x + anda #$0F + cmpa #$06 + lbgt L03E9 + sta <u0000 + leax M$PDev,y + ldd ,x + leax d,y + leay <$19,u +L02EA lda ,x+ + bmi L02F2 + sta ,y+ + bra L02EA +L02F2 anda #$7F + sta ,y+ + lda #C$CR + sta ,y+ + ldu <u000B + os9 F$UnLink + lbcs L03E6 + ldu <u0003 + ldx <u0009 + lda #WRITE. + os9 I$Open + lbcs L03E6 + sta <u0001 + lbsr L0455 + cmpb #C$CR + beq L031D + inc <u0002 + stx <u0009 +L031D lda #Drivr+Objct + leax <$19,u + os9 F$Link + lbcs L03DE + stu <u000B + sty <u000D + ldu <u0003 + tst <u0002 + bne L0345 + lda #$01 + leax >AdjPmpt,pcr + ldy #PmptLen + os9 I$Write + lbcs L03D7 +L0345 ldd <u000D + subd #$000E + tfr d,x + lda <u0000 + lsla + leax a,x + stx <u000F + tst <u0002 + bne L035D + lbsr L045E + lbsr L040D +L035D tst <u0002 + beq L038E + ldx <u0009 + ldb ,x + cmpb #'- + lbne L03FB + leax $01,x + ldb ,x+ + cmpb #'S + beq L037A + cmpb #$73 + beq L037A + lbra L03FB +L037A ldb ,x+ + cmpb #$3D + bne L03FB + stx <u0009 + lbsr L04F1 + ldd <u0005 + ldx <u000F + std ,x + clrb + bra L03D7 +L038E lbsr L0432 + lbsr L04DC + bcc L039D + lbsr L0444 + andcc #^Carry + bra L038E +L039D ldd <u0005 + beq L03A9 + ldx <u000F + std ,x + bsr L040D + bra L038E +L03A9 ldx <u000B + ldd $02,x + subd #$0003 + tfr d,y + leau d,x + ldd #$FFFF + std u0001,u + sta ,u + os9 F$CRC + com ,u + com u0001,u + com u0002,u + ldu <u0003 + clra + leax >DoneMsg,pcr + ldy #DoneLen + os9 I$Write + bcs L03E6 + lbsr L045E +L03D7 ldu <u000B + os9 F$UnLink + bcs L03E6 +L03DE lda <u0001 + os9 I$Close + bcs L03E6 + clrb +L03E6 os9 F$Exit +L03E9 lda #$02 + leax >ErrMsg,pcr + ldy #ErrLen + os9 I$Write + bcs L03E6 + clrb + bra L03E6 +L03FB lda #$02 + leax >HelpMsg,pcr + ldy #HelpLen + os9 I$Write + bcs L03E6 + clrb + bra L03E6 +L040D lda #$01 + leax >TestNow,pcr + ldy #TestLen + os9 I$Write + bcs L03E6 + lda <u0001 + leax >TestMsg,pcr + ldy #TMsgLen + os9 I$WritLn + bcs L03E6 + ldx #$000A + os9 F$Sleep + rts +L0432 bsr L045E + lda #$01 + leax >NewVMsg,pcr + ldy #NewVLen + os9 I$Write + bcs L03E6 + rts +L0444 pshs y,x,b,a + lda #$02 + leax >L0241,pcr + ldy #$0001 + os9 I$Write + puls pc,y,x,b,a +L0455 ldb ,x+ + cmpb #C$SPAC + beq L0455 + leax -$01,x + rts +L045E pshs y,x,b,a + lda #$01 + leax >CurVMsg,pcr + ldy #CurVLen + os9 I$Write + lbcs L03E6 + ldx <u000F + ldd ,x + std <u0005 + leay >L04D0,pcr + leax <u0013,u + stx <u0011 +L0480 ldd ,y + beq L04BC + ldd <u0005 + pshs b,a + ldd ,y++ + lbsr L053F + cmpb #$00 + bne L0498 + leax <u0013,u + cmpx <u0011 + beq L0480 +L0498 std <u0007 + addb #$30 + ldx <u0011 + stb ,x+ + stx <u0011 + ldx <u0007 + leax -$01,x + leay -$02,y + ldd ,y++ + std <u0007 +L04AC addd <u0007 + leax -$01,x + bne L04AC + std <u0007 + ldd <u0005 + subd <u0007 + std <u0005 + bra L0480 +L04BC ldx <u0011 + lda #$0D + sta ,x + leax <u0013,u + lda #$01 + ldy #$0006 + os9 I$WritLn + puls pc,y,x,b,a +L04D0 fcb $27,$10,$03,$e8,$00,$64,$00,$0a,$00,$01,$00,$00 +L04DC pshs y,x,b,a + clra + leax <u0013,u +L04E2 ldy #$0006 + os9 I$ReadLn + lbcs L03E6 + bsr L0504 + puls pc,y,x,b,a +L04F1 pshs y,x,b,a + ldx <u0009 + leay <u0013,u +L04F8 lda ,x+ + sta ,y+ + cmpa #C$CR + bne L04F8 + bsr L0504 + puls pc,y,x,b,a +L0504 pshs y,x,b,a + clra + clrb + std <u0005 + leay <u0013,u +L050D ldb ,y+ + cmpb #'0 + blt L0537 + cmpb #'9 + bgt L0537 + pshs b + ldx #$0009 + ldd <u0005 + std <u0007 +L0520 addd <u0007 + leax -$01,x + bne L0520 + std <u0005 + puls b + subb #'0 + clra + std <u0007 + ldd <u0005 + addd <u0007 + std <u0005 + bra L050D +L0537 cmpb #C$CR + beq L053D + orcc #Carry +L053D puls pc,y,x,b,a +L053F pshs b,a + leas -$02,s + clr ,s + clr $01,s + lda #$01 +L0549 inca + lsl $03,s + rol $02,s + bpl L0549 + sta ,s + ldd $06,s + clr $06,s + clr $07,s +L0558 subd $02,s + bcc L0562 + addd $02,s + andcc #^Carry + bra L0564 +L0562 orcc #Carry +L0564 rol $07,s + rol $06,s + lsr $02,s + ror $03,s + dec ,s + bne L0558 + std $02,s + tst $01,s + beq L057E + ldd $06,s + nega + negb + sbca #$00 + std $06,s +L057E ldx $04,s + ldd $06,s + std $04,s + stx $06,s + ldx $02,s + ldd $04,s + leas $06,s + rts + + emod +eom equ * + end +