mirror of
https://github.com/bobbimanners/Applecorn.git
synced 2024-09-28 22:56:03 +00:00
Builds on Merlin-16. Disk image updated.
This commit is contained in:
parent
a9e80db0f5
commit
6278c6d9fc
BIN
applecorn.po
BIN
applecorn.po
Binary file not shown.
@ -216,6 +216,8 @@ MAINZP MAC
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -480,3 +480,5 @@ OSBM2 ASC ').'
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -455,3 +455,5 @@ BYTE76 LDX #$00 ; Update LEDs and return X=SHIFT
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -98,3 +98,5 @@ RELCOORD CLC
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -985,3 +985,5 @@ ERROR2E DW $C800
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -177,8 +177,10 @@ BYTE00XX BEQ BYTE00A ; OSBYTE 0,0 - generate error
|
|||||||
RTS ; %000x1xxx host type, 'A'pple
|
RTS ; %000x1xxx host type, 'A'pple
|
||||||
BYTE00A BRK
|
BYTE00A BRK
|
||||||
DB $F7
|
DB $F7
|
||||||
HELLO ASC 'Applecorn MOS 2021-09-22'
|
HELLO ASC 'Applecorn MOS 2021-09-23'
|
||||||
DB $00 ; Unify MOS messages
|
DB $00 ; Unify MOS messages
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -538,3 +538,5 @@ AUXBLK ASC '**ENDOFCODE**'
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -77,3 +77,5 @@ OSFILECB EQU $2EE ; OSFILE control block
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -505,3 +505,5 @@ ECHOLP1 JSR GSREAD
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -803,3 +803,5 @@ BYTEA02 LDY VDUVARS+1,X
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
2
extract
2
extract
@ -1,5 +1,5 @@
|
|||||||
#!/bin/sh
|
#!/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 .
|
cadius extractfile applecorn.po /APPLECORN/${file}.S .
|
||||||
rm _FileInformation.txt
|
rm _FileInformation.txt
|
||||||
cadius clearhighbit ${file}.S\#040000
|
cadius clearhighbit ${file}.S\#040000
|
||||||
|
@ -67,6 +67,8 @@ GEOFCMD EQU $D1
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
200
mainmem.gfx.s
200
mainmem.gfx.s
@ -4,117 +4,119 @@
|
|||||||
* Main memory HGR graphics routines.
|
* Main memory HGR graphics routines.
|
||||||
|
|
||||||
* Call FDraw Clear routine
|
* Call FDraw Clear routine
|
||||||
CLRHGR >>> ENTMAIN
|
CLRHGR >>> ENTMAIN
|
||||||
LDA BGCOLOR
|
LDA BGCOLOR
|
||||||
STA FDRAWADDR+5
|
STA FDRAWADDR+5
|
||||||
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
||||||
JSR FDRAWADDR+22 ; FDRAW: Clear
|
JSR FDRAWADDR+22 ; FDRAW: Clear
|
||||||
LDA FGCOLOR
|
LDA FGCOLOR
|
||||||
STA FDRAWADDR+5
|
STA FDRAWADDR+5
|
||||||
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
||||||
>>> XF2AUX,VDU16RET
|
>>> XF2AUX,VDU16RET
|
||||||
|
|
||||||
* Call FDraw SetLineMode routine
|
* Call FDraw SetLineMode routine
|
||||||
SETLINE >>> ENTMAIN
|
SETLINE >>> ENTMAIN
|
||||||
JSR FDRAWADDR+43 ; FDRAW: SetLineMode
|
JSR FDRAWADDR+43 ; FDRAW: SetLineMode
|
||||||
>>> XF2AUX,VDU18RET1
|
>>> XF2AUX,VDU18RET1
|
||||||
|
|
||||||
* Call FDraw DrawLine routine
|
* Call FDraw DrawLine routine
|
||||||
DRAWLINE >>> ENTMAIN
|
DRAWLINE >>> ENTMAIN
|
||||||
LDA PLOTMODE
|
LDA PLOTMODE
|
||||||
AND #$03
|
AND #$03
|
||||||
CMP #$01 ; Draw in foreground colour
|
CMP #$01 ; Draw in foreground colour
|
||||||
BNE :S1
|
BNE :S1
|
||||||
LDA FGCOLOR
|
LDA FGCOLOR
|
||||||
BRA :SETCOLOR
|
BRA :SETCOLOR
|
||||||
:S1 CMP #$02 ; Draw in inverse colour
|
:S1 CMP #$02 ; Draw in inverse colour
|
||||||
BNE :S2
|
BNE :S2
|
||||||
SEC
|
SEC
|
||||||
LDA #$07
|
LDA #$07
|
||||||
SBC FGCOLOR
|
SBC FGCOLOR
|
||||||
BRA :SETCOLOR
|
BRA :SETCOLOR
|
||||||
:S2 LDA BGCOLOR ; Draw in background colour
|
:S2 LDA BGCOLOR ; Draw in background colour
|
||||||
:SETCOLOR STA FDRAWADDR+5
|
:SETCOLOR STA FDRAWADDR+5
|
||||||
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
||||||
JSR FDRAWADDR+28 ; FDRAW: DrawLine
|
JSR FDRAWADDR+28 ; FDRAW: DrawLine
|
||||||
>>> XF2AUX,VDU25RET
|
>>> XF2AUX,VDU25RET
|
||||||
|
|
||||||
* Call FDraw DrawPoint routine
|
* Call FDraw DrawPoint routine
|
||||||
DRAWPNT >>> ENTMAIN
|
DRAWPNT >>> ENTMAIN
|
||||||
LDA PLOTMODE
|
LDA PLOTMODE
|
||||||
AND #$03
|
AND #$03
|
||||||
CMP #$01 ; Draw in foreground colour
|
CMP #$01 ; Draw in foreground colour
|
||||||
BNE :S1
|
BNE :S1
|
||||||
LDA FGCOLOR
|
LDA FGCOLOR
|
||||||
BRA :SETCOLOR
|
BRA :SETCOLOR
|
||||||
:S1 CMP #$02 ; Draw in inverse colour
|
:S1 CMP #$02 ; Draw in inverse colour
|
||||||
BNE :S2
|
BNE :S2
|
||||||
SEC
|
SEC
|
||||||
LDA #$07
|
LDA #$07
|
||||||
SBC FGCOLOR
|
SBC FGCOLOR
|
||||||
BRA :SETCOLOR
|
BRA :SETCOLOR
|
||||||
:S2 LDA BGCOLOR ; Draw in background colour
|
:S2 LDA BGCOLOR ; Draw in background colour
|
||||||
:SETCOLOR STA FDRAWADDR+5
|
:SETCOLOR STA FDRAWADDR+5
|
||||||
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
||||||
JSR FDRAWADDR+25 ; FDRAW: DrawPoint
|
JSR FDRAWADDR+25 ; FDRAW: DrawPoint
|
||||||
>>> XF2AUX,VDU25RET
|
>>> XF2AUX,VDU25RET
|
||||||
|
|
||||||
* Reset colours and linetype
|
* Reset colours and linetype
|
||||||
GFXINIT JSR FDRAWADDR+0 ; Initialize FDRAW library
|
GFXINIT JSR FDRAWADDR+0 ; Initialize FDRAW library
|
||||||
LDA #$20
|
LDA #$20
|
||||||
STA FDRAWADDR+5
|
STA FDRAWADDR+5
|
||||||
JSR FDRAWADDR+19 ; FDRAW: Set page $2000
|
JSR FDRAWADDR+19 ; FDRAW: Set page $2000
|
||||||
STZ LINETYPE
|
STZ LINETYPE
|
||||||
STZ FDRAWADDR+5
|
STZ FDRAWADDR+5
|
||||||
JSR FDRAWADDR+43 ; FDRAW: SetLineMode
|
JSR FDRAWADDR+43 ; FDRAW: SetLineMode
|
||||||
LDA #$07
|
LDA #$07
|
||||||
STA FGCOLOR
|
STA FGCOLOR
|
||||||
STA FDRAWADDR+5
|
STA FDRAWADDR+5
|
||||||
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
JSR FDRAWADDR+16 ; FDRAW: SetColor
|
||||||
STZ BGCOLOR
|
STZ BGCOLOR
|
||||||
JSR FDRAWADDR+22 ; FDRAW: clear HGR screen
|
JSR FDRAWADDR+22 ; FDRAW: clear HGR screen
|
||||||
RTS
|
RTS
|
||||||
|
|
||||||
* Plot bitmap character on the HGR screen
|
* Plot bitmap character on the HGR screen
|
||||||
* On entry: char is in A
|
* On entry: char is in A
|
||||||
DRAWCHAR >>> ENTMAIN
|
DRAWCHAR >>> ENTMAIN
|
||||||
AND #$7F
|
AND #$7F
|
||||||
STA A1L ; A*8 -> A1L,A1H
|
STA A1L ; A*8 -> A1L,A1H
|
||||||
STZ A1H
|
STZ A1H
|
||||||
ASL A1L
|
ASL A1L
|
||||||
ROL A1H
|
ROL A1H
|
||||||
ASL A1L
|
ASL A1L
|
||||||
ROL A1H
|
ROL A1H
|
||||||
ASL A1L
|
ASL A1L
|
||||||
ROL A1H
|
ROL A1H
|
||||||
CLC ; FONTADDR+A*8 -> A1L,A1H
|
CLC ; FONTADDR+A*8 -> A1L,A1H
|
||||||
LDA A1L
|
LDA A1L
|
||||||
ADC #<FONTADDR
|
ADC #<FONTADDR
|
||||||
STA A1L
|
STA A1L
|
||||||
LDA A1H
|
LDA A1H
|
||||||
ADC #>FONTADDR
|
ADC #>FONTADDR
|
||||||
STA A1H
|
STA A1H
|
||||||
LDA HGRADDR+0 ; HGRADDR -> A4L,A4H
|
LDA HGRADDR+0 ; HGRADDR -> A4L,A4H
|
||||||
STA A4L
|
STA A4L
|
||||||
LDA HGRADDR+1
|
LDA HGRADDR+1
|
||||||
STA A4H
|
STA A4H
|
||||||
LDY #$00
|
LDY #$00
|
||||||
:L1 LDA (A1L),Y ; Load line of pixels from font
|
:L1 LDA (A1L),Y ; Load line of pixels from font
|
||||||
STA (A4L) ; Store them on screen
|
STA (A4L) ; Store them on screen
|
||||||
INC A4H ; Skip 1024 bytes to next row
|
INC A4H ; Skip 1024 bytes to next row
|
||||||
INC A4H
|
INC A4H
|
||||||
INC A4H
|
INC A4H
|
||||||
INC A4H
|
INC A4H
|
||||||
INY
|
INY
|
||||||
CPY #$08 ; All eight rows done?
|
CPY #$08 ; All eight rows done?
|
||||||
BNE :L1
|
BNE :L1
|
||||||
>>> XF2AUX,PUTCHRET
|
>>> 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
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -113,6 +113,8 @@ RESET TSX
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -160,3 +160,5 @@ LOADCODE PHP ; Save carry flag
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -131,6 +131,8 @@ QUITPL HEX 04 ; Number of parameters
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -148,6 +148,8 @@ ROM8 STR "USERROM2.ROM"
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -217,6 +217,8 @@ FILEREFS DB $00,$00,$00,$00
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -312,6 +312,8 @@ PREFIX DS 65 ; Buffer for ProDOS prefix
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -1057,3 +1057,5 @@ MAINRDMEM STA A1L
|
|||||||
LDA (A1L)
|
LDA (A1L)
|
||||||
MAINRDEXIT >>> XF2AUX,NULLRTS ; Back to an RTS
|
MAINRDEXIT >>> XF2AUX,NULLRTS ; Back to an RTS
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
@ -389,6 +389,8 @@ MATCHBUF DS 65 ; For storing match results (Pascal str)
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user