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


Forums > CSDb Entries > Event id #2678 : The 128b font compo
2018-03-18 14:25
lft

Registered: Jul 2007
Posts: 352
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 02:03
Jammer

Registered: Nov 2002
Posts: 757
Oh noes! /o\
2018-03-19 09:09
lft

Registered: Jul 2007
Posts: 352
Cruzer, Jammer: I'm afraid that would disqualify the entries. It wouldn't be fair towards those who make design sacrifices in order to stick to the rules.

Of course, you can still display your work as an out-of-compo release.
2018-03-19 09:45
Cruzer

Registered: Dec 2001
Posts: 959
I could easily exit to Basic if I didn't display the font, but since it's 2x1 characters, it would be hard to see what it was supposed to look like. But I guess I could compete with a version that exited and then include the other one in the zip file.
2018-03-19 11:37
Oswald

Registered: Apr 2002
Posts: 4230
limiting the nr of releases is silly.
2018-03-19 12:26
Jammer

Registered: Nov 2002
Posts: 757
Quoting lft
Cruzer, Jammer: I'm afraid that would disqualify the entries. It wouldn't be fair towards those who make design sacrifices in order to stick to the rules.

Of course, you can still display your work as an out-of-compo release.


I see but what's the point in placing new charset exactly at specified $3800 and hence truncating lower case in target bank? I process entirely two charsets (you can still switch upper/lower case), fit easily within the routine size limit and return to BASIC prompt in proper manner. No idea what kind of design sacrifice you mean, compared to my solution - care to explain? Thanks! ;)
2018-03-19 13:52
lft

Registered: Jul 2007
Posts: 352
Hmm! Ok Jammer, that's a reasonable point. From now on, any bank in the range 2000-3fff is allowed. This still disallows stack/zp trickery, while allowing entries to support both uppercase and lowercase. But judges can only be expected to look at the bank that is active when the program exits.

Oswald, I'm still thinking about this. It's easier for me to be overly restrictive at first, and then potentially remove the limit. The purpose of the limit is to keep the total number of releases down, to increase the probability that people actually look at all entries and rate them fairly.

What's everybody's opinion on this?
2018-03-19 13:56
Scan

Registered: Dec 2015
Posts: 63
Using zp pointers to copy is disallowed? Darn, back to the drawing board...
2018-03-19 13:58
lft

Registered: Jul 2007
Posts: 352
Of course you can use the zeropage! But you can't store the final font there.
2018-03-19 14:01
Scan

Registered: Dec 2015
Posts: 63
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 14:02
Jammer

Registered: Nov 2002
Posts: 757
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
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
Alakran_64
Brataccas/HF
Acidchild/Padua
Jazzcat/Onslaught
Guests online: 24
Top Demos
1 Uncensored  (9.7)
2 Edge of Disgrace  (9.7)
3 Coma Light 13  (9.6)
4 The Shores of Reflec..  (9.6)
5 Comaland 100%  (9.6)
6 We Come in Peace  (9.6)
7 Lunatico  (9.6)
8 Incoherent Nightmare  (9.5)
9 Wonderland XII  (9.5)
10 Wonderland XIII  (9.5)
Top onefile Demos
1 Dawnfall V1.1  (9.5)
2 Synthesis  (9.5)
3 FMX Music Demo  (9.5)
4 Pandemoniac Part 2 o..  (9.5)
5 Daah, Those Acid Pil..  (9.5)
6 Treu Love [reu]  (9.5)
7 Merry Xmas 2017  (9.4)
8 Dawnfall  (9.4)
9 Gubbdata 2017 Invite  (9.3)
10 SidRok  (9.3)
Top Groups
1 Oxyron  (9.4)
2 Booze Design  (9.4)
3 Censor Design  (9.4)
4 Finnish Gold  (9.4)
5 Crest  (9.3)
Top Mega Swappers
1 Aslive  (9.4)
2 R.C.S.  (9.3)
3 Dishy  (9.2)
4 Calypso  (9.2)
5 Nightshade  (9.1)

Home - Disclaimer
Copyright © No Name 2001-2018
Page generated in: 0.284 sec.