| |
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.... |
| |
Scan
Registered: Dec 2015 Posts: 110 |
Quote: Of course you can use the zeropage! But you can't store the final font there.
*phew* That's a relief :) |
| |
Jammer
Registered: Nov 2002 Posts: 1289 |
Quoting ScanUsing zp pointers to copy is disallowed? Darn, back to the drawing board...
I've used $fe/$ff to store and retrieve A/Y
Quoting lftOf course you can use the zeropage! But you can't store the final font there.
Phew! :D |
| |
TheRyk
Registered: Mar 2009 Posts: 2053 |
Already the snippets posted in the other fred were cool, making it a compo is a wonderful idea.
A lot of brilliant stuff so far, dudes! |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
Is a syntax error allowed after running the program? Seems to save me one byte. |
| |
Scan
Registered: Dec 2015 Posts: 110 |
Quote: Is a syntax error allowed after running the program? Seems to save me one byte.
Nothing says it isn't, as long as it exits to BASIC. |
| |
Compyx
Registered: Jan 2005 Posts: 631 |
It does return to BASIC, just with a ?SYNTAX ERROR.
Edit: forget about it, screwing with the BASIC interpreter while trying to save one byte is a bit flaky. |
| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
I think this compo turned out great, 128 bytes was a good choice of limit as it seems to allow all kinds on neat entries! 64 would have been too restrictive. |
| |
lft
Registered: Jul 2007 Posts: 369 |
Yes, I am quite happy with how the limit turned out. I was considering 96 bytes, but in hindsight that would have been too tight.
As it is now, many entrants spend some instructions on fixing individual pixels here and there, and I think this can have a large impact on the overall quality (and coherence) of the font. |
| |
Carrion
Registered: Feb 2009 Posts: 317 |
I don't want to comment of each and every entry and all of them are just great.
Let me just say here in general: Great Job guys. I thought the limitations are too big for something interesting being produced in this compo but I was obviously wrong.
What about a 2x2 fonts based on 1x1 C64 charset? Cruzer showed that 2x1 is possible so I wonder what you can do in 2x2 area. |
| |
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. |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 - Next |