From fd8e5ba0c651660ed0d70bb607b6e1c37f551fe2 Mon Sep 17 00:00:00 2001 From: jgharston Date: Mon, 26 Jul 2021 10:10:41 +0100 Subject: [PATCH] Add files via upload Corrected and updated MOS API entry block Created default vector table Vectors initialised from default vector table Corrected OSFILE error numbers PRSTR prints via OSASCI Laid out zero page workspace Added OUT2HEX, optimised OUTHEX Added WRCH wrapper to OUTCHAR OSRDLINE recognises BS for delete RDCH sets ESCFLAG if Escape returned, lets REPEAT PRINT GET:UNTIL 0 to stop --- Update20210725.txt | 13 + applecorn.s | 708 ++++++++++++++++++++++++++------------------- build.bat | 4 + jgh1.po | Bin 0 -> 143360 bytes notes.txt | 19 ++ 5 files changed, 454 insertions(+), 290 deletions(-) create mode 100644 Update20210725.txt create mode 100644 build.bat create mode 100644 jgh1.po create mode 100644 notes.txt diff --git a/Update20210725.txt b/Update20210725.txt new file mode 100644 index 0000000..c87516b --- /dev/null +++ b/Update20210725.txt @@ -0,0 +1,13 @@ +Updates to Applecorn MOS 25-Jul-2021 +------------------------------------ + +Corrected and updated MOS API entry block +Created default vector table +Vectors initialised from default vector table +Corrected OSFILE error numbers +PRSTR prints via OSASCI +Laid out zero page workspace +Added OUT2HEX, optimised OUTHEX +Added WRCH wrapper to OUTCHAR +OSRDLINE recognises BS for delete +RDCH sets ESCFLAG if Escape returned, lets REPEAT PRINT GET:UNTIL 0 to stop diff --git a/applecorn.s b/applecorn.s index ce91ecb..9d6b1ab 100644 --- a/applecorn.s +++ b/applecorn.s @@ -2,6 +2,9 @@ * Provide an environment where it can run * Bobbi 2021 +* Assembled with the Merlin 8 assembler with: +* Merlin -V . applecorn.s + XC ; 65c02 ORG $2000 ; Load addr of loader in main memory @@ -58,9 +61,6 @@ AUXMOS1 EQU $2000 ; Temp staging area in Aux EAUXMOS1 EQU $3000 ; End of staging area AUXMOS EQU $D000 ; Final location in aux LC -* Address is aux memory where the MOS entrypoints are -AUXVEC EQU $FFB9 ; Final location in aux LC - START STZ BLOCKS LDX #$00 :L1 LDA HELLO,X ; Signon message @@ -123,7 +123,7 @@ START STZ BLOCKS BRA :L4 :S25 STA A4H - SEC ; Main -> Aux + SEC ; Copy Main -> Aux JSR AUXMOVE INC BLOCKS @@ -148,7 +148,7 @@ START STZ BLOCKS LDA #>AUXMOS1 STA A4H - SEC ; Main->aux + SEC ; Copy MOS from Main->Aux JSR AUXMOVE LDA #RESET @@ -166,11 +166,11 @@ START STZ BLOCKS STA STRTH SEC ; Main -> Aux BIT $FF58 ; Set V; Use page zero and stack in aux - JMP XFER + JMP XFER ; Jump to copied MOS code in Aux -:DONE JSR CROUT - JSR BELL - RTS +;:DONE JSR CROUT +; JSR BELL +; RTS BLOCKS DB 0 ; Counter for blocks read * Set prefix if not already set @@ -707,6 +707,23 @@ ZP3 EQU $94 ROW EQU $96 ; Cursor row COL EQU $97 ; Cursor column WARMSTRT EQU $9F ; Cold or warm start + +* $00-$8F Language workspace +* $90-$9F Network workspace +* $A0-$A7 NMI workspace +* $A8-$AF Non-MOS *command workspace +* $B0-$BF Temporary filing system workspace +* $C0-$CF Persistant filing system workspace +* $D0-$DF VDU driver workspace +* $E0-$EE Internal MOS workspace +* $EF-$FF MOS API workspace + +OSAREG EQU $EF +OSXREG EQU $F0 +OSYREG EQU $F1 +OSCTRL EQU OSXREG +OSLPTR EQU $F2 + FAULT EQU $FD ; Error message pointer ESCFLAG EQU $FF ; Escape status BRKV EQU $202 ; BRK vector @@ -733,6 +750,7 @@ MOSSHIM * This code is initially loaded into aux mem at AUXMOS1 * Then relocated into aux LC at AUXMOS by MOSINIT * +* Initially executing at $3000 until copied to $D000 MOSINIT STA $C005 ; Make sure we are writing aux @@ -782,9 +800,9 @@ MOSINIT STA A2L LDA #>MOSVEND-MOSINIT+AUXMOS1 STA A2H - LDA #AUXVEC + LDA #>MOSAPI STA A4H :L2 LDA (A1L) STA (A4L) @@ -814,55 +832,60 @@ MOSINIT STZ ESCFLAG - LDA #MOSBRKHDLR - STA BRKV+1 - - LDA #OSCLI - STA CLIV+1 - LDA #OSBYTE - STA BYTEV+1 - LDA #OSWORD - STA WORDV+1 - LDA #OSWRCH - STA WRCHV+1 - LDA #OSRDCH - STA RDCHV+1 - LDA #OSFILE - STA FILEV+1 - LDA #OSARGS - STA ARGSV+1 - LDA #OSBGET - STA BGETV+1 - LDA #OSBPUT - STA BPUTV+1 - LDA #OSGBPB - STA GBPBV+1 - LDA #OSFIND - STA FINDV+1 + LDX #$35 +INITPG2 LDA DEFVEC,X + STA $200,X + DEX + BPL INITPG2 + +; LDA #MOSBRKHDLR +; STA BRKV+1 +; LDA #CLIHND +; STA CLIV+1 +; LDA #BYTEHND +; STA BYTEV+1 +; LDA #WORDHND +; STA WORDV+1 +; LDA #WRCHHND +; STA WRCHV+1 +; LDA #RDCHHND +; STA RDCHV+1 +; LDA #FILEHND +; STA FILEV+1 +; LDA #ARGSHND +; STA ARGSV+1 +; LDA #BGETHND +; STA BGETV+1 +; LDA #BPUTHND +; STA BPUTV+1 +; LDA #GBPBHND +; STA GBPBV+1 +; LDA #FINDHND +; STA FINDV+1 LDA #<:HELLO LDY #>:HELLO @@ -871,8 +894,8 @@ MOSINIT LDA #$09 ; Print language name at $8009 LDY #$80 JSR PRSTR - JSR $FFE7 ; OSNEWL - JSR $FFE7 + JSR OSNEWL + JSR OSNEWL LDA WARMSTRT CMP #MAGIC @@ -884,13 +907,15 @@ MOSINIT :S9 LDA #MAGIC ; So we do not reloc again STA WARMSTRT - LDA #$01 + CLC ; CLC=Entered from RESET + LDA #$01 ; $01=Entering application code JMP AUXADDR ; Start Acorn ROM * No return :HELLO ASC 'Applecorn MOS v0.01' - DB $0D,$0A,$0D,$0A,$00 + DB $0D,$0D,$00 :OLDM ASC '(Use OLD to recover any program)' - DB $0D,$0A,$0D,$0A,$00 + DB $0D,$0D,$00 + * Clear to EOL CLREOL LDA ROW @@ -932,20 +957,28 @@ CLEAR STZ ROW STZ COL RTS +* Print string pointed to by X,Y to the screen +OUTSTR TXA + * Print string pointed to by A,Y to the screen -PRSTR STA ZP3 ; String in A,Y +PRSTR STA ZP3+0 ; String in A,Y STY ZP3+1 :L1 LDA (ZP3) ; Ptr to string in ZP3 BEQ :S1 - JSR $FFEE ; OSWRCH + JSR OSASCI INC ZP3 BNE :L1 INC ZP3+1 BRA :L1 :S1 RTS +* Print XY in hex +OUT2HEX TYA + JSR OUTHEX + TAX ; Continue into OUTHEX + * Print hex byte in A -PRHEX PHA +OUTHEX PHA LSR LSR LSR @@ -953,85 +986,84 @@ PRHEX PHA AND #$0F JSR PRNIB PLA - AND #$0F - JSR PRNIB - RTS + AND #$0F ; Continue into PRNIB +; JSR PRNIB +; RTS * Print hex nibble in A PRNIB CMP #$0A BCC :S1 CLC ; >= $0A ADC #'A'-$0A - JSR $FFEE ; OSWRCH + JSR OSWRCH RTS :S1 ADC #'0' ; < $0A - JSR $FFEE ; OSWRCH - RTS + JMP OSWRCH -OSRDRM LDA #OSRDRMM - JSR PRSTR - RTS + JMP PRSTR OSRDRMM ASC 'OSRDDRM.' DB $00 -OSEVEN LDA #OSEVENM - JSR PRSTR - RTS + JMP PRSTR OSEVENM ASC 'OSEVEN.' DB $00 -OSINIT LDA #OSINITM - JSR PRSTR - RTS -OSINITM ASC 'OSINITM.' + JMP PRSTR +OSINITM ASC 'GSINITM.' DB $00 -OSREAD LDA #OSREADM - JSR PRSTR - RTS -OSREADM ASC 'OSREAD.' + JMP PRSTR +OSREADM ASC 'GSREAD.' DB $00 -OSFIND LDA #OSFINDM - JSR PRSTR - RTS + JMP PRSTR OSFINDM ASC 'OSFIND.' DB $00 -OSGBPB LDA #OSGBPBM - JSR PRSTR - RTS + JMP PRSTR OSGBPBM ASC 'OSGBPB.' DB $00 -OSBPUT LDA #OSBPUTM - JSR PRSTR - RTS + JMP PRSTR OSBPUTM ASC 'OSBPUT.' DB $00 -OSBGET LDA #OSBGETM - JSR PRSTR - RTS + JMP PRSTR OSBGETM ASC 'OSBGET.' DB $00 -OSARGS LDA #OSARGSM - JSR PRSTR - RTS + JMP PRSTR OSARGSM ASC 'OSARGS.' DB $00 -OSFILE PHX +* MOS OSFILE HANDLER +* On entry, A=action +* XY=>control block +* On exit, A=preserved if unimplemented +* A=0 object not found (not load/save) +* A=1 file found +* A=2 directory found +* XY preserved +* control block updated +FILEHND PHX PHY PHA @@ -1065,8 +1097,8 @@ OSFILE PHX STA (ZP1),Y STA $C005 ; Write aux INY - CMP #$0D ; Carriage return - BNE :L2 + CMP #$21 ; Space or Carriage return + BCS :L2 DEY STA $C004 ; Write main STY MOSFILE ; Length (Pascal string) @@ -1080,7 +1112,7 @@ OSFILE PHX TSX STX $0101 ; Store alt SP in $0101 - PLA + PLA ; Get action back PHA BEQ :S1 ; A=00 -> SAVE CMP #$FF @@ -1091,11 +1123,11 @@ OSFILE PHX JSR PRSTR PLA PHA - JSR PRHEX + JSR OUTHEX LDA #OSFILEM2 JSR PRSTR - PLA + PLA ; Not implemented, return unchanged PLY PLX RTS @@ -1112,6 +1144,7 @@ OSFILE PHX :S3 CLC ; Use main memory CLV ; Use main ZP and LC JMP XFER + OSFILERET LDX $0101 ; Recover alt SP from $0101 TXS @@ -1122,47 +1155,49 @@ OSFILERET STA STRTH PLA ; Return value PLY ; Value of A on entry - CPY #$FF ; LOAD - BNE :S4 + BNE :S4 ; Deal with return from SAVE + CMP #$01 ; No file found BNE :SL1 BRK - DB $D6 ; Error number ?? TBD + DB $D6 ; $D6 = Object not found ASC 'File not found' BRK - LDA #$00 ; Return code - no file - BRA :EXIT + :SL1 CMP #$02 ; Read error BNE :SL2 BRK - DB $D6 ; Error number + DB $CA ; $CA = Premature end, 'Data lost' ASC 'Read error' BRK - LDA #$01 ; Return code - file found - BRA :EXIT + :SL2 LDA #$01 ; Return code - file found BRA :EXIT -:S4 CPY #$00 ; SAVE +:S4 CPY #$00 ; Return from SAVE BNE :S6 CMP #$01 ; Unable to create or open BNE :SS1 BRK - DB $D5 ; Error number ?? TBD - ASC 'Create error' + DB $C0 ; $C0 = Can't create file to save + ASC 'Can' + DB $27 + ASC 't save file' BRK - BRA :S6 + :SS1 CMP #$02 ; Unable to write BNE :S6 BRK - DB $D5 ; Error number ?? TBD + DB $CA ; $CA = Premature end, 'Data lost' ASC 'Write error' BRK + :S6 LDA #$00 :EXIT PLY PLX RTS + OSFILEM ASC 'OSFILE($' DB $00 OSFILEM2 ASC ')' @@ -1170,7 +1205,7 @@ OSFILEM2 ASC ')' TEMP1 DB $00 TEMP2 DB $00 -OSRDCH PHX +RDCHHND PHX PHY JSR GETCHRC STA OLDCHAR @@ -1204,10 +1239,11 @@ OSRDCH PHX PLY PLX CMP #$1B ; Escape pressed? - BEQ :S5 - CLC + BNE :S5 + ROR $FF ; Set ESCFLG + SEC ; Return CS RTS -:S5 SEC +:S5 CLC RTS CURS DW $0000 ; Counter CSTATE DB $00 ; Cursor on or off @@ -1287,11 +1323,24 @@ CURSRT LDA COL STZ COL :S2 RTS -OSWRCH PHA + +* OSWRCH handler +* All registers preserved +WRCHHND PHA PHX PHY + ; Check any output redirections + ; Check any spool output + JSR OUTCHAR + ; Check any printer output + PLY + PLX + PLA + RTS - CMP #$00 ; NULL +* Output character to VDU driver +* All registers trashable +OUTCHAR CMP #$00 ; NULL BNE :T1 BRA :IDONE :T1 CMP #$07 ; BELL @@ -1353,10 +1402,7 @@ OSWRCH PHA :SCROLL JSR SCROLL STZ COL JSR CLREOL -:DONE PLY - PLX - PLA - RTS +:DONE RTS * Scroll whole screen one line SCROLL LDA #$00 @@ -1400,61 +1446,72 @@ SCNTAB DW $800,$880,$900,$980,$A00,$A80,$B00,$B80 DW $828,$8A8,$928,$9A8,$A28,$AA8,$B28,$BA8 DW $850,$8D0,$950,$9D0,$A50,$AD0,$B50,$BD0 -OSWORD STX ZP1 ; ZP1 points to control block - STY ZP1+1 +* OSWORD HANDLER +* On entry, A=action +* XY=>control block +* On exit, All preserved (except OSWORD 0) +* control block updated +WORDHND STX OSCTRL+0 ; Point to control block + STY OSCTRL+1 CMP #$00 ; OSWORD 0 read a line BNE :UNSUPP - LDA (ZP1) ; Addr of buf -> ZP2 - STA ZP2 - LDY #$01 - LDA (ZP1),Y - STA ZP2+1 + +* OSRDLINE - Read a line of input +* On entry, (OSCTRL)=>control block +* On exit, Y=length of line, offset to +* CC = Ok, CS = Escape +* + LDY #$04 +:RDLNLP1 LDA (OSCTRL),Y ; Copy MAXLEN, MINCH, MAXCH to workspace + STA :MAXLEN-2,Y + DEY + CPY #$02 + BCS :RDLNLP1 +:RDLNLP2 LDA (OSCTRL),Y ; (ZP2)=>line buffer + STA ZP2,Y + DEY + BPL :RDLNLP2 INY - LDA (ZP1),Y - STA :MAXLEN - INY - LDA (ZP1),Y - STA :MINCH - INY - LDA (ZP1),Y - STA :MAXCH - LDY #$00 BRA :L1 :BELL LDA #$07 ; BELL :R1 DEY -:R2 INY - JSR $FFEE ; OSWRCH +:R2 INY ; Step to next character +:R3 JSR OSWRCH ; Output character -:L1 JSR $FFE0 ; OSRDCH +:L1 JSR OSRDCH BCS :EXIT - + CMP #$08 ; Backspace + BEQ :RDDEL CMP #$7F ; Delete - BNE :S1 ; Nope - CPY #$00 ; Begin of line? - BEQ :L1 - DEY -:S1 CMP #$15 ; Line delete ^U - BNE :S2 ; Nope - TYA ; Begin of line? - BEQ :L1 + BEQ :RDDEL + CMP #$15 ; Ctrl-U + BNE :S2 + INY ; Balance first DEY +:RDCTRLU DEY ; Back up one character + BEQ :L1 ; Beginning of line LDA #$7F ; Delete -:L2 JSR $FFEE ; OSWRCH - DEY - BNE :L2 - BEQ :L1 + JSR OSWRCH + JMP :RDCTRLU +:RDDEL TYA + BEQ :L1 ; Beginning of line + DEY ; Back up one character + LDA #$7F ; Delete + BNE :R3 ; Jump back to delete + :S2 STA (ZP2),Y CMP #$0D ; CR BEQ :S3 CPY :MAXLEN - BCS :BELL + BCS :BELL ; Too long, beep CMP :MINCH - BCC :R1 + BCC :R1 ; MAXCHAR, don't step to next + +:S3 JSR OSNEWL :EXIT LDA ESCFLAG ROL RTS @@ -1464,118 +1521,132 @@ OSWORD STX ZP1 ; ZP1 points to control block LDY #>:OSWORDM JSR PRSTR PLA - JSR PRHEX + PHA + JSR OUTHEX LDA #<:OSWRDM2 LDY #>:OSWRDM2 JSR PRSTR + PLA RTS -:MAXCH DB $00 -:MINCH DB $00 :MAXLEN DB $00 -:OSWORDM STR 'OSWORD(' +:MINCH DB $00 +:MAXCH DB $00 +:OSWORDM ASC 'OSWORD(' DB $00 -:OSWRDM2 STR ')' +:OSWRDM2 ASC ')' DB $00 -OSBYTE PHX - PHY -:S1 CMP $7C ; $7C = clear escape condition +* OSBYTE HANDLER +* On entry, A=action +* X=first parameter +* Y=second parameter if A>$7F +* On exit, A=preserved +* X=first returned result +* Y=second returned result if A>$7F +* Cy=any returned status if A>$7F +BYTEHND PHA + JSR BYTECALLER + PLA + RTS +BYTECALLER +; PHA +; JSR OUTHEX +; JSR OUT2HEX +; JSR OSNEWL +; PLA + CMP #$00 + BNE :S1 + LDX #$0A + RTS + +:S1 CMP #$7C ; $7C = clear escape condition BNE :S2 - PHA LDA ESCFLAG AND #$7F ; Clear MSB STA ESCFLAG - PLA - PLY - PLX RTS -:S2 CMP $7D ; $7D = set escape condition + +:S2 CMP #$7D ; $7D = set escape condition BNE :S3 - PHA ROR ESCFLAG - PLA - PLY - PLX RTS + :S3 CMP #$7E ; $7E = ack detection of ESC BNE :S4 - PHA LDA ESCFLAG AND #$7F ; Clear MSB STA ESCFLAG - PLA - PLY - PLX LDX #$FF ; Means ESC condition cleared RTS + :S4 CMP #$81 ; $81 = Read key with time lim BNE :S5 - PLY - PLX - JMP GETKEY + JSR GETKEY + RTS + :S5 CMP #$82 ; $82 = read high order address BNE :S6 - PLY - PLX LDY #$FF ; $FFFF for I/O processor LDX #$FF RTS + :S6 CMP #$83 ; $83 = read bottom of user mem BNE :S7 - PLY - PLX LDY #$0E ; $0E00 LDX #$00 RTS + :S7 CMP #$84 ; $84 = read top of user mem BNE :S8 - PLY - PLX LDY #$80 LDX #$00 RTS + :S8 CMP #$85 ; $85 = top user mem for mode BNE :S9 - PLY - PLX LDY #$80 LDX #$00 RTS + :S9 CMP #$86 ; $86 = read cursor pos BNE :S10 - PLY - PLX LDY ROW LDX COL RTS + :S10 CMP #$DA ; $DA = clear VDU queue BNE :S11 - PLY - PLX RTS -:S11 PHA + +:S11 PHX + PHY LDA #OSBYTEM JSR PRSTR - PLA - PHA - JSR PRHEX + TSX + LDA $103,X + JSR OUTHEX LDA #OSBM2 JSR PRSTR - PLA PLY PLX RTS + OSBYTEM ASC 'OSBYTE($' DB $00 OSBM2 ASC ').' DB $00 -OSCLI PHX +* OSCLI HANDLER +* On entry, XY=>command string +CLIHND PHX PHY - STX ZP1 ; Pointer to CLI + STX ZP1+0 ; Pointer to CLI STY ZP1+1 +; TO DO: needs to skip leading '*'s and ' 's +; TO DO: exit early with +; TO DO: exit early with | as comment LDA #<:QUIT STA ZP2 LDA #>:QUIT @@ -1668,10 +1739,10 @@ STARHELP LDA #<:MSG LDY #>:MSG2 JSR PRSTR RTS -:MSG DB $0A,$0D +:MSG DB $0D ASC 'Applecorn MOS v0.01' - DB $0A,$0D,$0A,$0D,$00 -:MSG2 DB $0A,$0D,$0A,$0D,$00 + DB $0D,$0D,$00 +:MSG2 DB $0D,$00 STARQUIT LDA #MSGBRK + JSR PRSTR JSR PRERR - JSR $FFE7 ; OSNEWL - JSR $FFE7 - RTS + JSR OSNEWL + JSR OSNEWL +STOP JMP STOP ; Cannot return from a BRK + +MSGBRK DB $0D + ASC "ERROR: " + DB $00 + +;DEFBRKHDLR +; LDA #BRKM +; JSR PRSTR +; PLA +; PLX +; PLY +; PHY +; PHX +; PHA +; JSR OUT2HEX +; LDA #BRKM2 +; JSR PRSTR +; RTI +;BRKM ASC "BRK($" +; DB $00 +;BRKM2 ASC ")." +; DB $00 + +* Default page 2 contents +DEFVEC DW NULLRTS ; $200 USERV + DW MOSBRKHDLR ; $202 BRKV + DW NULLRTI ; $204 IRQ1V + DW NULLRTI ; $206 IRQ2V + DW CLIHND ; $208 CLIV + DW BYTEHND ; $20A BYTEV + DW WORDHND ; $20C WORDV + DW WRCHHND ; $20E WRCHV + DW RDCHHND ; $210 RDCHV + DW FILEHND ; $212 FILEV + DW ARGSHND ; $214 ARGSV + DW BGETHND ; $216 BGETV + DW BPUTHND ; $218 BPUTV + DW GBPBHND ; $21A GBPBV + DW FINDHND ; $21C FINDV + DW NULLRTS ; $21E FSCV +ENDVEC -DEFBRKHDLR - LDA #BRKM - JSR PRSTR - PLA - PLX - PLY - PHY - PHX - PHA - TYA - JSR PRHEX - TXA - JSR PRHEX - LDA #BRKM2 - JSR PRSTR - RTI -BRKM ASC "BRK($" - DB $00 -BRKM2 ASC ")." - DB $00 * * Acorn MOS entry points at the top of RAM +* Copied from loaded code to high memory * -MOSVEC - JMP OSRDRM ; FFB9 - NOP ; FFBC - NOP ; FFBD - NOP ; FFBE - JMP OSEVEN ; FFBF - JMP OSINIT ; FFC2 - JMP OSREAD ; FFC5 - JMP OSWRCH ; FFC8 NVWRCH Non vectored - JMP OSRDCH ; FFCB NVRDCH Non vectored - JMP (FINDV) ; FFCE OSFIND - JMP (GBPBV) ; FFD1 OSGBPB - JMP (BPUTV) ; FFD4 OSBPUT - JMP (BGETV) ; FFD7 OSBGET - JMP (ARGSV) ; FFDA OSARGS - JMP (FILEV) ; FFDD OSFILE - JMP (RDCHV) ; FFE0 OSRDCH - CMP #$0D ; FFE3 OSASCI - BNE :S1 - LDA #$0A ; FFE7 OSNEWL + +MOSVEC ; Base of API entries here in loaded code +MOSAPI EQU $FFB6 ; Real base of API entries in real memory + ORG MOSAPI + +; OPTIONAL ENTRIES +; ---------------- +;OSSERV JMP NULLRTS ; FF95 OSSERV +;OSCOLD JMP NULLRTS ; FF98 OSCOLD +;OSPRSTR JMP OUTSTR ; FF9B PRSTRG Print zero-terminated text at XY +;OSFF9E JMP NULLRTS ; FF9E +;OSSCANHEX JMP RDHEX ; FFA1 SCANHX Scan hex string +;OSFFA4 JMP NULLRTS ; FFA4 +;OSFFA7 JMP NULLRTS ; FFA7 +;PRHEX JMP OUTHEX ; FFAA PRHEX Print A in hex, A corrupted +;PR2HEX JMP OUT2HEX ; FFAD PR2HEX Print YX in hex, A corrupted +;OSFFB0 JMP NULLRTS ; FFB0 +;OSWRRM JMP NULLRTS ; FFB3 OSWRRM Write byte to paged RAM + +; COMPULSARY ENTRIES +; ------------------ +VECSIZE DB ENDVEC-DEFVEC ; FFB6 VECSIZE Size of vectors +VECBASE DW DEFVEC ; FFB7 VECBASE Base of default vectors +OSRDRM JMP RDROM ; FFB9 OSRDRM Read byte from paged ROM +OSCHROUT JMP OUTCHAR ; FFBC CHROUT Send char to VDU driver +OSEVEN JMP EVENT ; FFBF OSEVEN Signal an event +GSINIT JMP GSINTGO ; FFC2 GSINIT Init string reading +GSREAD JMP GSRDGO ; FFC5 GSREAD Parse general string +NVWRCH JMP WRCHHND ; FFC8 NVWRCH Nonvectored WRCH +NVRDCH JMP RDCHHND ; FFCB NVRDCH Nonvectored RDCH +OSFIND JMP (FINDV) ; FFCE OSFIND +OSGBPB JMP (GBPBV) ; FFD1 OSGBPB +OSBPUT JMP (BPUTV) ; FFD4 OSBPUT +OSBGET JMP (BGETV) ; FFD7 OSBGET +OSARGS JMP (ARGSV) ; FFDA OSARGS +OSFILE JMP (FILEV) ; FFDD OSFILE +OSRDCH JMP (RDCHV) ; FFE0 OSRDCH +OSASCI CMP #$0D ; FFE3 OSASCI + BNE OSWRCH +OSNEWL LDA #$0A ; FFE7 OSNEWL JSR OSWRCH - LDA #$0D -:S1 JMP (WRCHV) ; FFEE OSWRCH - JMP (WORDV) ; FFF1 OSWORD - JMP (BYTEV) ; FFF4 OSBYTE - JMP (CLIV) ; FFF7 OSCLI - NOP ; FFFA - NOP ; FFFB - NOP ; FFFC - NOP ; FFFD - DW BRKHDLR ; FFFE +OSWRCR LDA #$0D ; FFEC OSWRCR +OSWRCH JMP (WRCHV) ; FFEE OSWRCH +OSWORD JMP (WORDV) ; FFF1 OSWORD +OSBYTE JMP (BYTEV) ; FFF4 OSBYTE +OSCLI JMP (CLIV) ; FFF7 OSCLI +NMIVEC DW NULLRTI ; FFFA NMIVEC +RSTVEC DW STOP ; FFFC RSTVEC +IRQVEC + +* Assembler doesn't like running up to $FFFF, so we bodge a bit +MOSEND + ORG MOSEND-MOSAPI+MOSVEC + DW IRQBRKHDLR ; FFFE IRQVEC MOSVEND + * Buffer for one 512 byte disk block in aux mem AUXBLK DS $200 diff --git a/build.bat b/build.bat new file mode 100644 index 0000000..ed38577 --- /dev/null +++ b/build.bat @@ -0,0 +1,4 @@ +cd /d %0\.. +merlin32 -V . applecorn.s +copy applecorn applecorn#062000 +pause diff --git a/jgh1.po b/jgh1.po new file mode 100644 index 0000000000000000000000000000000000000000..c7b8e687700cf8c04b5d3ef617a527bed879f38e GIT binary patch literal 143360 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 f-wIM-3}LdTN51J9CRi3guV}x_Xr+U`((?ZS