Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
You are not logged in - nap
CSDb User Forums


Forums > CSDb Entries > Event id #2678 : The 128b font compo
2018-03-18 13:25
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....
 
2018-03-22 14:46
Mixer

Registered: Apr 2008
Posts: 421
@Oswald, indeed :) or, one could argue that the regular kernel irq just takes a bit longer than usual every time ;)
2018-03-22 18:17
Cruzer

Registered: Dec 2001
Posts: 1048
Great compo so far. What a bunch of coders this brought out of the woodwork. :)
2018-03-22 18:59
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?
2018-03-22 19:06
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 :)
2018-03-22 20:37
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).
2018-03-22 21:27
Stone

Registered: Oct 2006
Posts: 168
Quoting lft
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).
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 :)
2018-03-24 00:10
Cruzer

Registered: Dec 2001
Posts: 1048
Quoting Digger
@Carrion: Thinking of pixel smoothing? ;-)
With a 2x2 font? In 128b? Impossible!
2018-03-24 10:21
Mixer

Registered: Apr 2008
Posts: 421
Now that we are at 2x2 domain, or more than 8 bytes per char-domain, what about a dycp and rotator? Dycp seems is doable. I wonder if shear rotator can be fitted in 128b.
2018-03-24 21:30
Oswald

Registered: Apr 2002
Posts: 5017
that should be another compo, a 256byte one and do whatever you want would be nice.
2018-03-26 08:22
Shadow
Account closed

Registered: Apr 2002
Posts: 355
Something I was thinking about that could also be a fun compo sometime in the future is to generate a sprite charset. Either you could use the ROM charset and blow it up and do some tweaks to soften the edges, or maybe generate something completely from scratch.
That would of course also need more code space to be able to get something worthwhile out of it, maybe 256 bytes would do it, but I'm not sure.
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 - Next
RefreshSubscribe to this thread:

You need to be logged in to post in the forum.

Search the forum:
Search   for   in  
All times are CET.
Search CSDb
Advanced
Users Online
Mason/Unicess
tomz/TIDE
Andy/AEG
Larry/ROLE
Sentinel/Excess/TREX
Didi/Laxity
Smasher/F4CG
Matt
Bitbreaker/Performers
Guests online: 232
Top Demos
1 Next Level  (9.8)
2 Mojo  (9.7)
3 Coma Light 13  (9.7)
4 Edge of Disgrace  (9.6)
5 Comaland 100%  (9.6)
6 No Bounds  (9.6)
7 Uncensored  (9.6)
8 Wonderland XIV  (9.6)
9 The Ghost  (9.6)
10 Bromance  (9.6)
Top onefile Demos
1 It's More Fun to Com..  (9.9)
2 Party Elk 2  (9.7)
3 Cubic Dream  (9.6)
4 Copper Booze  (9.5)
5 Rainbow Connection  (9.5)
6 TRSAC, Gabber & Pebe..  (9.5)
7 Onscreen 5k  (9.5)
8 Dawnfall V1.1  (9.5)
9 Quadrants  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Oxyron  (9.3)
2 Nostalgia  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 Crest  (9.3)
Top Musicians
1 Rob Hubbard  (9.7)
2 Jeroen Tel  (9.7)
3 Stinsen  (9.6)
4 Mutetus  (9.6)
5 Linus  (9.6)

Home - Disclaimer
Copyright © No Name 2001-2024
Page generated in: 0.063 sec.