mirror of
https://github.com/Michaelangel007/6502_linux_logo.git
synced 2024-11-21 19:30:50 +00:00
Down to 625 bytes
This commit is contained in:
parent
03bc658f50
commit
a723d561cb
@ -3,7 +3,7 @@
|
|||||||
|
|
||||||
Optimized Linux Logo in 6502 assembly language for size.
|
Optimized Linux Logo in 6502 assembly language for size.
|
||||||
|
|
||||||
Size: 654 ($28E) bytes
|
Size: 625 ($271) bytes
|
||||||
|
|
||||||
|
|
||||||
# Screenshots
|
# Screenshots
|
||||||
|
30
linuxlogo.s
30
linuxlogo.s
@ -19,6 +19,7 @@ zUnpackBits = $FE ; 16-bit unpack
|
|||||||
|
|
||||||
; ROM
|
; ROM
|
||||||
HOME = $FC58
|
HOME = $FC58
|
||||||
|
COUT = $FDED
|
||||||
IB_HGR = $D000 ; Integer BASIC ][ only
|
IB_HGR = $D000 ; Integer BASIC ][ only
|
||||||
AS_HGR = $F3E2 ; Applesoft BASIC ][+ or newer
|
AS_HGR = $F3E2 ; Applesoft BASIC ][+ or newer
|
||||||
BASCALC = $FBC1 ; A=Row, Calculate BASL,BASH text start-of-line address
|
BASCALC = $FBC1 ; A=Row, Calculate BASL,BASH text start-of-line address
|
||||||
@ -44,7 +45,7 @@ CONFIG_PRINT_CPUINFO = 1
|
|||||||
|
|
||||||
ORG $900
|
ORG $900
|
||||||
Main
|
Main
|
||||||
jsr HOME
|
jsr HOME ; For asethetics
|
||||||
|
|
||||||
; ------------------------------------------------------------------------
|
; ------------------------------------------------------------------------
|
||||||
; Apple II Technical Note #7
|
; Apple II Technical Note #7
|
||||||
@ -194,24 +195,16 @@ UnpackDone
|
|||||||
|
|
||||||
DO CONFIG_PRINT_CPUINFO
|
DO CONFIG_PRINT_CPUINFO
|
||||||
txa ; (2) X=$14 from (1) Unpack2Bits
|
txa ; (2) X=$14 from (1) Unpack2Bits
|
||||||
|
jsr BASCALC ; but we can't see it since we are in mixed mode
|
||||||
|
|
||||||
ldx #0 ; This means we have an extra "row" of HGR garbage at Y=160
|
ldx #0 ; This means we have an extra "row" of HGR garbage at Y=160
|
||||||
PrintText ; but we can't see it since we are in mixed mode
|
|
||||||
jsr BASCALC
|
|
||||||
ldy #0
|
|
||||||
CopyTextLine
|
CopyTextLine
|
||||||
lda TextLine,X
|
lda TextLine,X
|
||||||
sta (zTxtPtr),Y
|
jsr COUT
|
||||||
inx ; 3*40 = 120 chars max
|
inx
|
||||||
iny
|
cpx #106 ; 3 rows of 40-col text but stop at col 27
|
||||||
cpy #40
|
|
||||||
bne CopyTextLine
|
bne CopyTextLine
|
||||||
|
rts
|
||||||
inc zCursorY
|
|
||||||
lda zCursorY
|
|
||||||
cmp #$17 ; Rows $14..$16 (inclusive)
|
|
||||||
bne PrintText
|
|
||||||
|
|
||||||
dec zCursorY
|
|
||||||
FIN
|
FIN
|
||||||
|
|
||||||
; ========================================================================
|
; ========================================================================
|
||||||
@ -333,6 +326,7 @@ Copy7x8
|
|||||||
|
|
||||||
ldx zCursorY ; (1) X=14, see (2)
|
ldx zCursorY ; (1) X=14, see (2)
|
||||||
cpx #$14 ; Y=$40 .. $A0, Rows $8..$13 (inclusive)
|
cpx #$14 ; Y=$40 .. $A0, Rows $8..$13 (inclusive)
|
||||||
|
|
||||||
FitSameByte
|
FitSameByte
|
||||||
sta zDstShift
|
sta zDstShift
|
||||||
ldy zSrcOffset ; NOTE: C=0 from CMPs above
|
ldy zSrcOffset ; NOTE: C=0 from CMPs above
|
||||||
@ -348,9 +342,9 @@ ModType = * + 24 + 40*2
|
|||||||
; Uppercase in case of Apple ][ without lowercase support
|
; Uppercase in case of Apple ][ without lowercase support
|
||||||
; 1 2 3
|
; 1 2 3
|
||||||
TextLine ;0123456789012345678901234567890123456789
|
TextLine ;0123456789012345678901234567890123456789
|
||||||
ASC " LINUX VERSION 2.6.22.6, COMPILED 2007 " ; Row $14
|
ASC " LINUX VERSION 2.6.22.6, COMPILED 2007 " ; Row $14 +40 = 40
|
||||||
ASC " ONE 1.02MHZ 65C02 PROCESSOR, 128KB RAM " ; Row $15
|
ASC " ONE 1.02MHZ 65C02 PROCESSOR, 128KB RAM " ; Row $15 +40 = 80
|
||||||
ASC " APPLE //e " ; Row $16
|
ASC " APPLE //e " ; Row $16 +26 = 106 chars
|
||||||
; ^ ^ ^
|
; ^ ^ ^
|
||||||
; CPUTYPE MOD RAM
|
; CPUTYPE MOD RAM
|
||||||
|
|
||||||
|
BIN
ll_6502.dsk
BIN
ll_6502.dsk
Binary file not shown.
Loading…
Reference in New Issue
Block a user