diff --git a/applecorn.po b/applecorn.po index 19eaf3d..b9aba99 100644 Binary files a/applecorn.po and b/applecorn.po differ diff --git a/applecorn.s b/applecorn.s index 55b2e25..5b53196 100644 --- a/applecorn.s +++ b/applecorn.s @@ -216,6 +216,8 @@ MAINZP MAC + + diff --git a/auxmem.bytwrd.s b/auxmem.bytwrd.s index b0bb3f2..c0abb73 100644 --- a/auxmem.bytwrd.s +++ b/auxmem.bytwrd.s @@ -480,3 +480,5 @@ OSBM2 ASC ').' + + diff --git a/auxmem.chario.s b/auxmem.chario.s index 781d0da..03c2742 100644 --- a/auxmem.chario.s +++ b/auxmem.chario.s @@ -455,3 +455,5 @@ BYTE76 LDX #$00 ; Update LEDs and return X=SHIFT + + diff --git a/auxmem.gfx.s b/auxmem.gfx.s index 7396b17..9f85c15 100644 --- a/auxmem.gfx.s +++ b/auxmem.gfx.s @@ -98,3 +98,5 @@ RELCOORD CLC + + diff --git a/auxmem.hostfs.s b/auxmem.hostfs.s index 52578f7..79cb94f 100644 --- a/auxmem.hostfs.s +++ b/auxmem.hostfs.s @@ -985,3 +985,5 @@ ERROR2E DW $C800 + + diff --git a/auxmem.init.s b/auxmem.init.s index 029544d..2f4b87d 100644 --- a/auxmem.init.s +++ b/auxmem.init.s @@ -177,8 +177,10 @@ BYTE00XX BEQ BYTE00A ; OSBYTE 0,0 - generate error RTS ; %000x1xxx host type, 'A'pple BYTE00A BRK DB $F7 -HELLO ASC 'Applecorn MOS 2021-09-22' +HELLO ASC 'Applecorn MOS 2021-09-23' DB $00 ; Unify MOS messages + + diff --git a/auxmem.misc.s b/auxmem.misc.s index cf6a64d..b7c829e 100644 --- a/auxmem.misc.s +++ b/auxmem.misc.s @@ -538,3 +538,5 @@ AUXBLK ASC '**ENDOFCODE**' + + diff --git a/auxmem.mosequ.s b/auxmem.mosequ.s index ffb96e5..1b46bde 100644 --- a/auxmem.mosequ.s +++ b/auxmem.mosequ.s @@ -77,3 +77,5 @@ OSFILECB EQU $2EE ; OSFILE control block + + diff --git a/auxmem.oscli.s b/auxmem.oscli.s index c8cc70d..2e05da6 100644 --- a/auxmem.oscli.s +++ b/auxmem.oscli.s @@ -505,3 +505,5 @@ ECHOLP1 JSR GSREAD + + diff --git a/auxmem.vdu.s b/auxmem.vdu.s index d40c26c..3a2d83d 100644 --- a/auxmem.vdu.s +++ b/auxmem.vdu.s @@ -803,3 +803,5 @@ BYTEA02 LDY VDUVARS+1,X + + diff --git a/extract b/extract index 11bf765..870dcfc 100755 --- a/extract +++ b/extract @@ -1,5 +1,5 @@ #!/bin/sh -for file in APPLECORN AUXMEM.BYTWRD AUXMEM.CHARIO AUXMEM.GFX AUXMEM.HOSTFS AUXMEM.INIT AUXMEM.MISC AUXMEM.MOSEQU AUXMEM.OSCLI AUXMEM.VDU MAINMEM.FSEQU MAINMEM.INIT MAINMEM.LDR MAINMEM.LISTS MAINMEM.MENU MAINMEM.MISC MAINMEM.PATH MAINMEM.SVC MAINMEM.WILD; do +for file in APPLECORN AUXMEM.BYTWRD AUXMEM.CHARIO AUXMEM.GFX AUXMEM.HOSTFS AUXMEM.INIT AUXMEM.MISC AUXMEM.MOSEQU AUXMEM.OSCLI AUXMEM.VDU MAINMEM.FSEQU MAINMEM.GFX MAINMEM.INIT MAINMEM.LDR MAINMEM.LISTS MAINMEM.MENU MAINMEM.MISC MAINMEM.PATH MAINMEM.SVC MAINMEM.WILD; do cadius extractfile applecorn.po /APPLECORN/${file}.S . rm _FileInformation.txt cadius clearhighbit ${file}.S\#040000 diff --git a/mainmem.fsequ.s b/mainmem.fsequ.s index 59eb2b2..bdda6b3 100644 --- a/mainmem.fsequ.s +++ b/mainmem.fsequ.s @@ -67,6 +67,8 @@ GEOFCMD EQU $D1 + + diff --git a/mainmem.gfx.s b/mainmem.gfx.s index c4710bb..8a9c93a 100644 --- a/mainmem.gfx.s +++ b/mainmem.gfx.s @@ -4,117 +4,119 @@ * Main memory HGR graphics routines. * Call FDraw Clear routine -CLRHGR >>> ENTMAIN - LDA BGCOLOR - STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - JSR FDRAWADDR+22 ; FDRAW: Clear - LDA FGCOLOR - STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - >>> XF2AUX,VDU16RET +CLRHGR >>> ENTMAIN + LDA BGCOLOR + STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + JSR FDRAWADDR+22 ; FDRAW: Clear + LDA FGCOLOR + STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + >>> XF2AUX,VDU16RET * Call FDraw SetLineMode routine -SETLINE >>> ENTMAIN - JSR FDRAWADDR+43 ; FDRAW: SetLineMode - >>> XF2AUX,VDU18RET1 +SETLINE >>> ENTMAIN + JSR FDRAWADDR+43 ; FDRAW: SetLineMode + >>> XF2AUX,VDU18RET1 * Call FDraw DrawLine routine -DRAWLINE >>> ENTMAIN - LDA PLOTMODE - AND #$03 - CMP #$01 ; Draw in foreground colour - BNE :S1 - LDA FGCOLOR - BRA :SETCOLOR -:S1 CMP #$02 ; Draw in inverse colour - BNE :S2 - SEC - LDA #$07 - SBC FGCOLOR - BRA :SETCOLOR -:S2 LDA BGCOLOR ; Draw in background colour -:SETCOLOR STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - JSR FDRAWADDR+28 ; FDRAW: DrawLine - >>> XF2AUX,VDU25RET +DRAWLINE >>> ENTMAIN + LDA PLOTMODE + AND #$03 + CMP #$01 ; Draw in foreground colour + BNE :S1 + LDA FGCOLOR + BRA :SETCOLOR +:S1 CMP #$02 ; Draw in inverse colour + BNE :S2 + SEC + LDA #$07 + SBC FGCOLOR + BRA :SETCOLOR +:S2 LDA BGCOLOR ; Draw in background colour +:SETCOLOR STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + JSR FDRAWADDR+28 ; FDRAW: DrawLine + >>> XF2AUX,VDU25RET * Call FDraw DrawPoint routine -DRAWPNT >>> ENTMAIN - LDA PLOTMODE - AND #$03 - CMP #$01 ; Draw in foreground colour - BNE :S1 - LDA FGCOLOR - BRA :SETCOLOR -:S1 CMP #$02 ; Draw in inverse colour - BNE :S2 - SEC - LDA #$07 - SBC FGCOLOR - BRA :SETCOLOR -:S2 LDA BGCOLOR ; Draw in background colour -:SETCOLOR STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - JSR FDRAWADDR+25 ; FDRAW: DrawPoint - >>> XF2AUX,VDU25RET +DRAWPNT >>> ENTMAIN + LDA PLOTMODE + AND #$03 + CMP #$01 ; Draw in foreground colour + BNE :S1 + LDA FGCOLOR + BRA :SETCOLOR +:S1 CMP #$02 ; Draw in inverse colour + BNE :S2 + SEC + LDA #$07 + SBC FGCOLOR + BRA :SETCOLOR +:S2 LDA BGCOLOR ; Draw in background colour +:SETCOLOR STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + JSR FDRAWADDR+25 ; FDRAW: DrawPoint + >>> XF2AUX,VDU25RET * Reset colours and linetype -GFXINIT JSR FDRAWADDR+0 ; Initialize FDRAW library - LDA #$20 - STA FDRAWADDR+5 - JSR FDRAWADDR+19 ; FDRAW: Set page $2000 - STZ LINETYPE - STZ FDRAWADDR+5 - JSR FDRAWADDR+43 ; FDRAW: SetLineMode - LDA #$07 - STA FGCOLOR - STA FDRAWADDR+5 - JSR FDRAWADDR+16 ; FDRAW: SetColor - STZ BGCOLOR - JSR FDRAWADDR+22 ; FDRAW: clear HGR screen - RTS +GFXINIT JSR FDRAWADDR+0 ; Initialize FDRAW library + LDA #$20 + STA FDRAWADDR+5 + JSR FDRAWADDR+19 ; FDRAW: Set page $2000 + STZ LINETYPE + STZ FDRAWADDR+5 + JSR FDRAWADDR+43 ; FDRAW: SetLineMode + LDA #$07 + STA FGCOLOR + STA FDRAWADDR+5 + JSR FDRAWADDR+16 ; FDRAW: SetColor + STZ BGCOLOR + JSR FDRAWADDR+22 ; FDRAW: clear HGR screen + RTS * Plot bitmap character on the HGR screen * On entry: char is in A -DRAWCHAR >>> ENTMAIN - AND #$7F - STA A1L ; A*8 -> A1L,A1H - STZ A1H - ASL A1L - ROL A1H - ASL A1L - ROL A1H - ASL A1L - ROL A1H - CLC ; FONTADDR+A*8 -> A1L,A1H - LDA A1L - ADC #FONTADDR - STA A1H - LDA HGRADDR+0 ; HGRADDR -> A4L,A4H - STA A4L - LDA HGRADDR+1 - STA A4H - LDY #$00 -:L1 LDA (A1L),Y ; Load line of pixels from font - STA (A4L) ; Store them on screen - INC A4H ; Skip 1024 bytes to next row - INC A4H - INC A4H - INC A4H - INY - CPY #$08 ; All eight rows done? - BNE :L1 - >>> XF2AUX,PUTCHRET +DRAWCHAR >>> ENTMAIN + AND #$7F + STA A1L ; A*8 -> A1L,A1H + STZ A1H + ASL A1L + ROL A1H + ASL A1L + ROL A1H + ASL A1L + ROL A1H + CLC ; FONTADDR+A*8 -> A1L,A1H + LDA A1L + ADC #FONTADDR + STA A1H + LDA HGRADDR+0 ; HGRADDR -> A4L,A4H + STA A4L + LDA HGRADDR+1 + STA A4H + LDY #$00 +:L1 LDA (A1L),Y ; Load line of pixels from font + STA (A4L) ; Store them on screen + INC A4H ; Skip 1024 bytes to next row + INC A4H + INC A4H + INC A4H + INY + CPY #$08 ; All eight rows done? + BNE :L1 + >>> XF2AUX,PUTCHRET + +FGCOLOR DB $00 ; Foreground colour +BGCOLOR DB $00 ; Background colour +LINETYPE DB $00 ; 0 normal, 1 XOR +PLOTMODE DB $00 ; K value for PLOT K,X,Y +HGRADDR DW $0000 ; Address 1st line of HGR char + -FGCOLOR DB $00 ; Foreground colour -BGCOLOR DB $00 ; Background colour -LINETYPE DB $00 ; 0 normal, 1 XOR -PLOTMODE DB $00 ; K value for PLOT K,X,Y -HGRADDR DW $0000 ; Address 1st line of HGR char diff --git a/mainmem.init.s b/mainmem.init.s index 133cda8..a402815 100644 --- a/mainmem.init.s +++ b/mainmem.init.s @@ -113,6 +113,8 @@ RESET TSX + + diff --git a/mainmem.ldr.s b/mainmem.ldr.s index e7b28a3..2546b8b 100644 --- a/mainmem.ldr.s +++ b/mainmem.ldr.s @@ -160,3 +160,5 @@ LOADCODE PHP ; Save carry flag + + diff --git a/mainmem.lists.s b/mainmem.lists.s index f0fc5ec..7dc51bf 100644 --- a/mainmem.lists.s +++ b/mainmem.lists.s @@ -131,6 +131,8 @@ QUITPL HEX 04 ; Number of parameters + + diff --git a/mainmem.menu.s b/mainmem.menu.s index 97eea9f..3e02900 100644 --- a/mainmem.menu.s +++ b/mainmem.menu.s @@ -148,6 +148,8 @@ ROM8 STR "USERROM2.ROM" + + diff --git a/mainmem.misc.s b/mainmem.misc.s index 86e68aa..5477de4 100644 --- a/mainmem.misc.s +++ b/mainmem.misc.s @@ -217,6 +217,8 @@ FILEREFS DB $00,$00,$00,$00 + + diff --git a/mainmem.path.s b/mainmem.path.s index 07f454c..1ff85eb 100644 --- a/mainmem.path.s +++ b/mainmem.path.s @@ -312,6 +312,8 @@ PREFIX DS 65 ; Buffer for ProDOS prefix + + diff --git a/mainmem.svc.s b/mainmem.svc.s index 91e7457..6462b0d 100644 --- a/mainmem.svc.s +++ b/mainmem.svc.s @@ -1057,3 +1057,5 @@ MAINRDMEM STA A1L LDA (A1L) MAINRDEXIT >>> XF2AUX,NULLRTS ; Back to an RTS + + diff --git a/mainmem.wild.s b/mainmem.wild.s index baf85f7..9d99a1f 100644 --- a/mainmem.wild.s +++ b/mainmem.wild.s @@ -389,6 +389,8 @@ MATCHBUF DS 65 ; For storing match results (Pascal str) + +