mirror of
https://github.com/AppleCommander/AppleCommander.git
synced 2025-03-11 05:34:51 +00:00
Bootsector now rotates image and calls Apple reboot code in ROM.
The image data itself was compressed because of space issues. This is exactly 256 bytes long.
This commit is contained in:
parent
63e5a25062
commit
9bfb149930
@ -1 +1 @@
|
||||
**********************************************************
* *
* APPLECOMMANDER boot code. *
* Copyright (c) 2002, Rob Greene *
* *
* This code is published under the GPL license. See the *
* AppleCommander site for license information. *
* *
**********************************************************
ORG $800
TEXT = $FB2F
HOME = $FC58
GR = $FB40
COLOR = $F864
HLIN = $F819
PRINT = $FDED
GETKEY = $FD0C
BELL = $FF3A
BOOT6 = $C600
DFB 1 ; used by boot rom
JSR TEXT
JSR HOME
JSR GR
*
* Draw the AppleCommander logo (well, sorta)
*
LDX #XLOC2-COLORS
:LOGO LDA COLORS-1,X
JSR COLOR
LDA XLOC2-1,X
STA $2C
LDA YLOC-1,X
LDY XLOC1-1,X
JSR HLIN
DEX
BNE :LOGO
*
* Display AppleCommander text
*
:TEXT LDA MESSAGE,X
BEQ :DONE
JSR PRINT
INX
BNE :TEXT
:DONE JSR GETKEY
JSR TEXT
JSR HOME
JSR BELL
JMP BOOT6
COLORS HEX 0C0C0C0C0C0C ; green
HEX 0D0D ; yellow
HEX 0909 ; orange
HEX 0101 ; red
HEX 0303 ; purple
HEX 060606 ; blue
XLOC2 HEX 181716141A1B
HEX 1C1C
HEX 1B1A
HEX 1A1B
HEX 1C1C
HEX 1B141A
XLOC1 HEX 171615121711
HEX 1010
HEX 0F0F
HEX 0F0F
HEX 1010
HEX 111217
YLOC HEX 0D0E0F101011
HEX 1213
HEX 1415
HEX 1617
HEX 1819
HEX 1A1B1B
MESSAGE ASC " THIS DISK CREATED WITH APPLECOMMANDER."8D
ASC " ON THE WEB AT APPLECOMMANDER.SF.NET."8D8D
ASC "INSERT ANOTHER DISK AND PRESS ANY KEY.."00
|
||||
**********************************************************
* *
* APPLECOMMANDER boot code. *
* Copyright (c) 2002, Rob Greene *
* *
* This code is published under the GPL license. See the *
* AppleCommander site for license information. *
* *
**********************************************************
ORG $800
XEND = $2C
ADDR = $26
LINENO = $25
KEYBOARD = $C000
TEXT = $FB2F
HOME = $FC58
GR = $FB40
COLOR = $F864
HLIN = $F819
PRINT = $FDED
REBOOT = $FAA6
CALCADDR = $F847
DELAY = $FCA8
XOFFSET = 14
YOFFSET = 13
DFB 1 ; used by boot rom
JSR TEXT
JSR HOME
JSR GR
*
* Draw the AppleCommander logo (well, sorta)
*
LDX #DATA2-DATA1
:LOGO LDA DATA1-1,X
LSR
LSR
LSR
LSR
JSR COLOR
LDA DATA2-1,X
LSR
LSR
LSR
LSR
STA XEND
LDA DATA1-1,X
AND #$F
TAY
LDA DATA2-1,X
AND #$F
CLC
ADC #YOFFSET
JSR HLIN
DEX
BNE :LOGO
*
* Display AppleCommander text
*
:TEXT LDA MESSAGE,X
BEQ :WAIT
JSR PRINT
INX
BNE :TEXT
*
* Check for a keypress
*
:WAIT LDA KEYBOARD
BPL :SETUP
JMP REBOOT
*
* Rotate the screen (isn't that retro!)
*
:SETUP LDA #19
STA LINENO
:ROTATE JSR CALCADDR
LDY #0
LDA (ADDR),Y
PHA
:SHIFT INY
LDA (ADDR),Y
DEY
STA (ADDR),Y
INY
CPY #39
BNE :SHIFT
PLA
STA (ADDR),Y
DEC LINENO
LDA LINENO
BPL :ROTATE
*
* Introduce a pause between rotations
*
:KEYLOOP LDA #$08
JSR DELAY
DEX
BNE :KEYLOOP
BEQ :WAIT
* DATA1 consists of a color nybble and a x1 (start) position.
DATA1 HEX C8C7C6C3C8C2 ; green
HEX D1D1 ; yellow
HEX 9090 ; orange
HEX 1010 ; red
HEX 3131 ; purple
HEX 626368 ; blue
* DATA2 consists of x2 (end) and y position.
DATA2 HEX 90817253B3C4
HEX D5D6
HEX C7B8
HEX B9CA
HEX DBDC
HEX CD5EBE
MESSAGE ASC "THIS DISK CREATED WITH APPLECOMMANDER"8D
ASC "GET IT AT APPLECOMMANDER.SF.NET"8D
ASC " "8D
ASC "INSERT ANOTHER DISK AND PRESS ANY KEY"00
|
Binary file not shown.
Loading…
x
Reference in New Issue
Block a user