From 634841df6d1d54e3f484997fce275b1054411647 Mon Sep 17 00:00:00 2001 From: Bobbi Webber-Manners Date: Wed, 2 Nov 2022 23:56:29 -0400 Subject: [PATCH] Implemented *BUILD. --- applecorn.po | Bin 819200 -> 819200 bytes auxmem.init.s | 2 +- auxmem.oscli.s | 57 ++++++++++++++++++++++++++++++++++++++++++++++++ mainmem.audio.s | 1 + 4 files changed, 59 insertions(+), 1 deletion(-) diff --git a/applecorn.po b/applecorn.po index 08b8baaf37c67ae52cb34ee4e6d4c67e0da7832c..751de4e88c400a5344219f941cdff8c25d402199 100644 GIT binary patch delta 11013 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 n!Lf~3`55$xNj;q;|B2p5%E;h9F*cw#Ywo? delta 10519 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 s@fkB4K1J+({N$-(N6G0kXU|Dxb%7 diff --git a/auxmem.init.s b/auxmem.init.s index 1583b13..4064f57 100644 --- a/auxmem.init.s +++ b/auxmem.init.s @@ -209,7 +209,7 @@ BYTE00 BEQ BYTE00A ; OSBYTE 0,0 - generate error RTS ; %000x1xxx host type, 'A'pple BYTE00A BRK DB $F7 -HELLO ASC 'Applecorn MOS 2022-10-31-BOO!' +HELLO ASC 'Applecorn MOS 2022-11-02' DB $00 ; Unify MOS messages * TO DO: Move into RAM GSSPEED DB $00 ; $80 if GS is fast, $00 for slow diff --git a/auxmem.oscli.s b/auxmem.oscli.s index 6a8a4a9..1f63441 100644 --- a/auxmem.oscli.s +++ b/auxmem.oscli.s @@ -28,6 +28,9 @@ CMDTABLE CMDFILE ASC 'CAT' ; Must be first command so matches '*.' DB $85 DW STARFSC-1 ; CAT -> FSC 5, XY=>params + ASC 'BUILD' + DB $81 ; TO DO + DW CMDBUILD-1 ; BUILD -> XY=>params ASC 'CDIR' DB $88 DW STARFILE-1 ; CDIR -> OSFILE 08, CBLK=>filename @@ -683,6 +686,60 @@ CMDDUMP BEQ ERRDUMP ; No filename BCC :LOOP1 JMP TYPCLOSE ; Close and finish +* *BUILD () +* --------------- +* XY=>parameters string +* +CMDBUILD LDA #$80 ; A=OPENOUT, for writing + JSR OPENAFILE ; Try to open file + STA :FILENUM ; Stash file number + LDA #<:LINEBUF ; Pointer to line buffer + STA OSTEXT+0 + LDA #>:LINEBUF + STA OSTEXT+1 + LDA #80 ; Maximum line length + STA MAXLEN + LDA #32 ; Minimum allowable char + STA MINCHAR + LDA #126 ; Maximum allowable char + STA MAXCHAR +:RDLINE LDX #<:TEXT ; Display prompt + LDY #>:TEXT + JSR OSPRSTR + LDA #$00 ; OSWORD &00 input line from console + LDX # control block + LDY #>OSTEXT + JSR OSWORD ; Read line from console + BCS :CLOSE ; Escape pressed + INY ; Include the carriage return + STY :LINELEN ; Number of chars read + JSR :BUILDLN ; Write one line to disk + BRA :RDLINE +:CLOSE +* JSR :BUILDLN ; Write one line to disk + JSR OSNEWL + LDA #$00 ; A=CLOSE + LDY :FILENUM ; Recover file number + JSR OSFIND ; Close build file + RTS + +* Helper function for CMDBUILD +* Writes a single line from LINEBUF -> disk +:BUILDLN LDX #$00 +:L1 CPX :LINELEN + BEQ :DONELN + LDA :LINEBUF+1,X + LDY :FILENUM ; Recover file number + JSR OSBPUT ; Write char to file + INX + BRA :L1 +:DONELN RTS + +:TEXT ASC 'Build> ' +:LINEBUF DS 81 ; 80 char line plus CR +:LINELEN DB $00 ; Line length excluding CR +:FILENUM DB $00 ; File handle + * *SPOOL () * --------------- * XY=>parameters string, EQ=no parameters diff --git a/mainmem.audio.s b/mainmem.audio.s index 0b437a8..81f2053 100644 --- a/mainmem.audio.s +++ b/mainmem.audio.s @@ -440,6 +440,7 @@ ENSQISR INC SYSCLOCK+0 ; Increment system clock PHY ; Frequency JSR REMAUDIO ; Remove dur byte from queue TYA ; Duration + DEC A ; EXPERIMENT STA CHANTIMES,X PLA ; Recover frequency STA CURRPITCH,X ; Store for pitch envelope