| |
lft
Registered: Jul 2007 Posts: 369 |
Event id #2678 : The 128b font compo
Welcome to the 128b font compo!
The goal is to create the most legible, stylish, and/or awesome font using an executable program no larger than 128 bytes. The assumption is that the ROM font will be used as a basis somehow, although this is not a formal requirement.
The deadline is end of April 8, 2018, in a time zone of your choice.
The compo is held at CSDb, and the result is determined by the weighted average rating (including non-public votes). The ratings will be sampled one week after the deadline, end of April 15, in a time zone of my choice.
Judges are asked to consider screen codes 00-3f only. This comprises the uppercase letters, digits, and punctuation. The rules do not mandate that reverse-video characters work, so it is all right if the cursor doesn't work properly.
I reserve the right to modify the rules if there is a good reason.
Technical requirements
Maximum file size including load address is 128 bytes.
The program must load to the default location ($801), and must be executable with RUN. The new font should be installed at address $3800, after which the program should return to the BASIC prompt, with the VIC bank register ($d018) updated to point to the new font.
The entry should be uploaded in .prg format.
A person may be creatively involved in at most two (2) compo entries. (Idea/test/help credits don't count towards the limit.) It's alright to withdraw an earlier entry in order to submit a new one, up to the deadline.
Template
The following template code is offered as a convenience, and may be used as a starting point. It simply copies the default ROM font.
.word $801
*=$801
.word $80b,1
.byt $9e,"2061",0,0,0
sei
lda #$33
sta 1
ldx #0
ldy #2
loop
src
lda $d000,x
; ...
dest
sta $3800,x
inx
bne loop
inc src+2
inc dest+2
dey
bne loop
lda #$37
sta 1
lda #$1e
sta $d018
cli
rts
Happy hacking! |
|
... 70 posts hidden. Click here to view all posts.... |
| |
Mixer
Registered: Apr 2008 Posts: 422 |
And #$ef and some other basic logical operations seem to produce nice clear results, and the code size is tiny. Too lazy to submit. |
| |
Digger
Registered: Mar 2005 Posts: 421 |
@Carrion: Thinking of pixel smoothing? ;-) |
| |
Mixer
Registered: Apr 2008 Posts: 422 |
Sorry for bending the rules, but limitations just have to be conquered. Got more ideas than allowed, but perhaps those ideas are not within the spirit of the compo anymore. F.ex one could make an interactive font using some Basic hooks and zeropage registers, also a font that changes depending on where it is on the screen etc. |
| |
Oswald
Registered: Apr 2002 Posts: 5017 |
I think it could be argued that your entry doesnt return to basic prompt, but keeps running :)
but cool idea nevertheless |
| |
Mixer
Registered: Apr 2008 Posts: 422 |
@Oswald, indeed :) or, one could argue that the regular kernel irq just takes a bit longer than usual every time ;) |
| |
Cruzer
Registered: Dec 2001 Posts: 1048 |
Great compo so far. What a bunch of coders this brought out of the woodwork. :) |
| |
Stone
Registered: Oct 2006 Posts: 168 |
I haven't had so much fun with a compo ever. It's probably a good thing we're limited to 2 entries because I was fast becoming obsessed with this last night :)
@lft: Any reason in particular the address $3800 was chosen? |
| |
jamiefuller Account closed
Registered: Mar 2018 Posts: 25 |
I am loving this compo. I have further tweaked my code down to under 60 bytes. But I don't want to sacrifice either of my previous entries :) |
| |
lft
Registered: Jul 2007 Posts: 369 |
Stone: The reason for $3800 was to leave maximum size for basic programs or directory listings, that could be handy for trying out the font. But this constraint has been relaxed now (in post #16). |
| |
Stone
Registered: Oct 2006 Posts: 168 |
Quoting lftStone: The reason for $3800 was to leave maximum size for basic programs or directory listings, that could be handy for trying out the font. But this constraint has been relaxed now (in post #16). Ok, I thought perhaps you had planned it as some sort of optimizational easter egg :P I have seen at least 2 people have had the same idea regarding this address :) |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - Next |