Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
  You are not logged in 
Matrix in 27 Bytes   [2007]

Matrix in 27 Bytes Released by :

Release Date :
13 November 2007

Type :
C64 256b Intro

User rating:awaiting 5 votes (4 left)   See votestatistics

Credits :
Code .... Graham of Arsenic, Oxyron
Idea .... Graham of Arsenic, Oxyron
Linking .... Graham of Arsenic, Oxyron

Download :
http://csdb.dk/getinternalfile.php/49037/matrix27.prg (downloads: 1195)

Look for downloads on external sites:

User Comment
Submitted by Zyron on 21 February 2008
Clever, but where's the music? :)
User Comment
Submitted by Marauder/GSS on 12 November 2007
@oswald: no it's really 27 bytes (25 bytes code + 2 bytes for start-address?)
**edit: sorry Oswald, did misunderstand your post... hehe

quite tricky that little one.

* = $02eb

lda #$fd
ldy #$02
jsr $ab1e ; print out text at $02fd
ldx #$c0 ; set illegal errornumber (only allowed from 0-30)
stx $d020
stx $d021
jmp ($ab73) ; jump to $a43d, which prints out error-msg, X=errornumber

.byte $1e,$93,$11,$11,11,$eb,$02

The last two bytes overrides the vector for BASIC Input Line and points to the start of the program at $02eb.
So that's the reason why it autostarts after loading. First it prints out the text at $02fd (clr-screen, etc.) and then calls a function to print out an errormessage with an "illegal parameter" $c0 in x-register. I think only 0-30 is allowed. So first the "?" is printed (remember all errormsg starts with "?";) and then it tries to print out the errormessge. Due to the illegal parameter in x-register it reads the string for the error-message from screen then ($22/$23 points to $0490) and will never return from that function because the string doesn't contain an end-byte $00 to terminate the string...

not sure if all is correct, just had a quick peek... hehe

...magic! I love it! :)
User Comment
Submitted by assiduous on 12 November 2007
You wins!1
User Comment
Submitted by Oswald on 12 November 2007
jammer :D well the roms are so tight that there was only 4 bytes left, so the easter egg is rrby iirc (robert russel bob yannes)
User Comment
Submitted by Oswald on 12 November 2007
yeah, sizecoding was never my cup of tea :P
User Comment
Submitted by Jammer on 12 November 2007
isn't it an easter egg from cbm? :D at least it does look like (apart from colours :P)
User Comment
Submitted by Scout on 12 November 2007
@Oswald: nope...you forgot to add a BASIC header or some nifty trick to auto-run it after loading =P
User Comment
Submitted by Oswald on 12 November 2007
now why does it need 27 bytes ?

lda #0 2
sta d021 5
sta d020 8
lda #5 10
sta 640 (?) 13
jsr scrclear 16
ldx rom,y 19
lda #"?" 21
sta screen+q,x 24
jsr scrollup 27
jmp back 30

oops some ninja skills there, my fist try is already 30 bytes =)
User Comment
Submitted by Wisdom on 12 November 2007
Appreciated. :-)
Search CSDb
Prev - Random - Next
Detailed Info
· Summaries
· User Comments (9)
· Production Notes
Fun Stuff
· Goofs
· Hidden Parts
· Trivia
· Discuss this release
Sponsored links
Support CSDb
Help keep CSDb running:

Funding status:

About this site:
CSDb (Commodore 64 Scene Database) is a website which goal is to gather as much information and material about the scene around the commodore 64 computer - the worlds most popular home computer throughout time. Here you can find almost anything which was ever made for the commodore 64, and more is being added every day. As this website is scene related, you can mostly find demos, music and graphics made by the people who made the scene (the sceners), but you can also find a lot of the old classic games here. Try out the search box in the top right corner, or check out the CSDb main page for the latest additions.
Home - Disclaimer
Copyright © No Name 2001-2020
Page generated in: 0.079 sec.