143 lines
1.7 KiB
Plaintext
143 lines
1.7 KiB
Plaintext
|
/*
|
||
|
* Apple I ASCII art slideshow.
|
||
|
*/
|
||
|
|
||
|
#define SLIDEPTR $06
|
||
|
#define CDELAY 50
|
||
|
#define MONITOR $FF00
|
||
|
#define COUT $FFEF
|
||
|
|
||
|
*=$0280
|
||
|
ENTRY LDA #>MONITOR
|
||
|
PHA
|
||
|
LDA #<MONITOR
|
||
|
PHA
|
||
|
FRSTSLD LDA #<SLIDES
|
||
|
STA SLIDEPTR
|
||
|
LDA #>SLIDES
|
||
|
STA SLIDEPTR+1
|
||
|
SHOWSLD JSR PRCR
|
||
|
SLOOP LDY #$00
|
||
|
LDA (SLIDEPTR),Y
|
||
|
BEQ PRTTL
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
LSR
|
||
|
TAX
|
||
|
LDA (SLIDEPTR),Y
|
||
|
AND #$0F
|
||
|
TAY
|
||
|
LDA GREY2ASCII,Y
|
||
|
RLDEC JSR COUT
|
||
|
DEX
|
||
|
BNE RLDEC
|
||
|
INC SLIDEPTR
|
||
|
BNE SLOOP
|
||
|
INC SLIDEPTR+1
|
||
|
BNE SLOOP
|
||
|
PRTTL INY
|
||
|
SEC
|
||
|
LDA #40
|
||
|
SBC (SLIDEPTR),Y
|
||
|
LSR
|
||
|
TAX
|
||
|
LDA #$A0
|
||
|
SPCS JSR COUT
|
||
|
DEX
|
||
|
BNE SPCS
|
||
|
LDA (SLIDEPTR),Y
|
||
|
TAX
|
||
|
TLOOP INY
|
||
|
LDA (SLIDEPTR),Y
|
||
|
JSR COUT
|
||
|
DEX
|
||
|
BNE TLOOP
|
||
|
INY
|
||
|
TYA
|
||
|
CLC
|
||
|
ADC SLIDEPTR
|
||
|
STA SLIDEPTR
|
||
|
LDA #$00
|
||
|
ADC SLIDEPTR+1
|
||
|
STA SLIDEPTR+1
|
||
|
LDA #$10
|
||
|
JSR GETKYWT
|
||
|
JSR PRCR
|
||
|
LDY #$00
|
||
|
LDA (SLIDEPTR),Y
|
||
|
BEQ FRSTSLD
|
||
|
BNE SHOWSLD
|
||
|
GETKYWT PHA
|
||
|
TXA
|
||
|
PHA
|
||
|
TYA
|
||
|
PHA
|
||
|
LDY #$FF
|
||
|
GKW1 LDX #$FF
|
||
|
GKW2 LDA $D011
|
||
|
BPL GKW3
|
||
|
PLA
|
||
|
TAY
|
||
|
PLA
|
||
|
TAX
|
||
|
PLA
|
||
|
LDA $D010
|
||
|
RTS
|
||
|
GKW3 DEX
|
||
|
BNE GKW2
|
||
|
DEY
|
||
|
BNE GKW1
|
||
|
PLA
|
||
|
TAY
|
||
|
PLA
|
||
|
TAX
|
||
|
PLA
|
||
|
SEC
|
||
|
SBC #$01
|
||
|
BNE GETKYWT
|
||
|
LDA #$00
|
||
|
RTS
|
||
|
PRCR PHA
|
||
|
LDA #$8D
|
||
|
JSR COUT
|
||
|
PLA
|
||
|
RTS
|
||
|
|
||
|
GREY2ASCII
|
||
|
.BYT $A0, $AE, $BA, $AC, $BB, $A1, $AD, $DE
|
||
|
.BYT $AB, $BD, $BF, $A6, $AA, $A5, $A3, $C0
|
||
|
/*.ASC " .:,;!-^+=?&*%#@" */
|
||
|
SLIDES
|
||
|
#include "woz.rle"
|
||
|
.BYT 4
|
||
|
.ASC "WOZ "
|
||
|
#include "jobs.rle"
|
||
|
.BYT 11
|
||
|
.ASC "STEVE JOBS "
|
||
|
#include "apple-logo-striped.rle"
|
||
|
.BYT 27
|
||
|
.ASC "HAPPY 30TH BIRTHDAY APPLE! "
|
||
|
#include "applei.rle"
|
||
|
.BYT 29
|
||
|
.ASC "WOZ AND JOBS HOLDING APPLE I "
|
||
|
#include "appleii.rle"
|
||
|
.BYT 9
|
||
|
.ASC "APPLE II "
|
||
|
#include "mac128k.rle"
|
||
|
.BYT 10
|
||
|
.ASC "MACINTOSH "
|
||
|
#include "imac.rle"
|
||
|
.BYT 5
|
||
|
.ASC "IMAC "
|
||
|
#include "ipod.rle"
|
||
|
.BYT 5
|
||
|
.ASC "IPOD "
|
||
|
#include "macbook.rle"
|
||
|
.BYT 12
|
||
|
.ASC "MACBOOK PRO "
|
||
|
#include "apple-logo.rle"
|
||
|
.BYT 19
|
||
|
.ASC "THE NEXT THIRTY... "
|
||
|
.BYT 0
|