Log inRegister an accountBrowse CSDbHelp & documentationFacts & StatisticsThe forumsAvailable RSS-feeds on CSDbSupport CSDb Commodore 64 Scene Database
 Welcome to our latest new user maak ! (Registered 2024-04-18) 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-19 13:01
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 :)
2018-03-19 13:02
Jammer

Registered: Nov 2002
Posts: 1289
Quoting Scan
Using zp pointers to copy is disallowed? Darn, back to the drawing board...

I've used $fe/$ff to store and retrieve A/Y


Quoting lft
Of course you can use the zeropage! But you can't store the final font there.

Phew! :D
2018-03-19 14:55
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!
2018-03-19 19:22
Compyx

Registered: Jan 2005
Posts: 631
Is a syntax error allowed after running the program? Seems to save me one byte.
2018-03-19 19:26
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.
2018-03-19 19:36
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.
2018-03-20 11:47
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.
2018-03-20 11:59
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.
2018-03-20 15:17
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.
2018-03-20 17:01
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
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
zscs
AMB/Level 64
Mibri/ATL^MSL^PRX
Mixer
MAT64
Harry Potthead
da Blondie/Resource
Alakran_64
saimo/RETREAM
radius75
Guests online: 66
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 Wafer Demo  (9.5)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Onscreen 5k  (9.5)
9 Dawnfall V1.1  (9.5)
10 Quadrants  (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 Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

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