Mercurial > hg > Members > kono > os9 > sbc09
changeset 91:1de7b2760b9d
fix basic
author | Shinji KONO <kono@ie.u-ryukyu.ac.jp> |
---|---|
date | Wed, 22 Aug 2018 15:02:28 +0900 |
parents | ec33be78865e |
children | faa3bd1d062a |
files | src/os9/level2/cmds/fixbasic.pl src/os9/level2/cmds/sbc09.asm |
diffstat | 2 files changed, 37 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- a/src/os9/level2/cmds/fixbasic.pl Tue Aug 21 17:54:26 2018 +0900 +++ b/src/os9/level2/cmds/fixbasic.pl Wed Aug 22 15:02:28 2018 +0900 @@ -4,6 +4,15 @@ while(<>) { next if (/^ACIA/ .. /^TDRE/) ; next if (/^TSTBRK/ .. /^ END/) ; + if (/^CLEAR/) { +print <<"EOFEOF" + JSR \$24 ;; echo off (but it is not suuported on pty.asm ) +EOFEOF + } + if (/^GL02/) { + print "GL02\n"; # do not echo input + next; + } print; }
--- a/src/os9/level2/cmds/sbc09.asm Tue Aug 21 17:54:26 2018 +0900 +++ b/src/os9/level2/cmds/sbc09.asm Wed Aug 22 15:02:28 2018 +0900 @@ -32,6 +32,7 @@ chksum rmb 1 bcount rmb 1 adr rmb 2 +work rmb 2 readbuff rmb $100 org $400 emstart rmb $e000-. @@ -43,6 +44,7 @@ start clr <stdin stx <parmptr save parameter pointer + stu <work save parameter pointer lda #READ. read access mode os9 I$Open open file bcs L0049 branch if error @@ -82,7 +84,7 @@ adca ,s std ,u++ cmpx 2,s - bne l1 + ble l1 puls x,y jmp $400 @@ -90,18 +92,19 @@ os9 F$Exit iotbl - fdb getchar-iotbl - fdb putchar-iotbl - fdb getline-iotbl - fdb putline-iotbl - fdb putcr-iotbl - fdb getpoll-iotbl - fdb xopenin-iotbl - fdb xopenout-iotbl - fdb xabortin-iotbl - fdb xclosein-iotbl - fdb xcloseout-iotbl - fdb delay-iotbl + fdb getchar-iotbl ; 0 + fdb putchar-iotbl ; 3 + fdb getline-iotbl ; 6 + fdb putline-iotbl ; 9 + fdb putcr-iotbl ; $C + fdb getpoll-iotbl ; $F + fdb xopenin-iotbl ; $12 + fdb xopenout-iotbl ; $15 + fdb xabortin-iotbl ; $18 + fdb xclosein-iotbl ; $1B + fdb xcloseout-iotbl ; $21 + fdb delay-iotbl ; $24 + fdb noecho-iotbl ; $27 iotblend L0049 @@ -235,6 +238,18 @@ xcloseout RTS +noecho LDA <stdin + CLRB + LDX <work + leax readbuff,X + OS9 I$GetStt + bcs err2 + CLR IT.EKO,X + CLRB + OS9 I$SetStt +err2 + RTS + delay PSHS D,X * address **$21** * On input the D register contains the number of timer * ticks to wait. Each timer tick is 20ms