Jump to content
IGNORED

Outline Online 2020


42bs

Recommended Posts

This 128 bytes is insane! @sage and I thought we were hard-core developers when we wrote games for a 1024 byte competition. Available on Lynx Reloaded. My Ottelo entry even had AI built in. So I bet it was able to beat any average Othello player.

 

In a way I would like to participate in this 128 byte competition too. The only problem is that the encrypter creates multiples of 52 bytes. Not good. The only solution is to have a single block bootblock followed by 128-52-1 bytes.

 

Fortunately there is plenty of time as the deadline is on Thursday. Now I just need to figure out a game that can be coded in no space at all...

Link to comment
Share on other sites

This is crazy.

 

The encrypted 52 + 1 byte bootloader.

000200  1  78           sei
000201  1  D8           cld
000202  1  A2 FF        ldx #$FF
000204  1  9A           txs
000205  1  A9 0C        lda #$C
000207  1  8D F9 FF     sta MAPCTL
00020A  1
00020A  1  E8           inx
00020B  1  AD B2 FC     rloop1: lda RCART0      ; read a byte from the cart
00020E  1  9D 00 04     sta SUZYINIT,X       ; EXE[X] = a
000211  1  E8           inx             ; x++
000212  1  D0 F7        bne rloop1      ; loops until x wraps
000214  1
000214  1  4C 0E 04     jmp EXE
000217  1
000217  1  00 01 08 09  .byte $00,$01,$08,$09,$20,$28,$30,$38,$44,$50,$8a,$8b,$8c,$92,$93
00021B  1  20 28 30 38
00021F  1  44 50 8A 8B
000226  1  9E 18 68 1F  .byte $9e,$18,$68,$1f,$00,$00,$00,$00,$00,$ff,$1a,$1b,$04,$0d,$29
00022A  1  00 00 00 00
00022E  1  00 FF 1A 1B
000235  1  00 00 00     .byte $00,$00,$00

The stuff after the jump is the data I need for initializing Mickey.

 

Then we have the game:

000400  1  28 2A 04 06  SuzyInitReg:    .byte $28,$2a,$04,$06,$92,$83,$90
000404  1  92 83 90
000407  1  7F 7F 00 00  SuzyInitData:   .byte $7f,$7f,$00,$00,$24,$f3,$01
00040B  1  24 F3 01
00040E  1
00040E  1               ; Init Mickey
00040E  1
00040E  1  A2 0E            ldx     #14
000410  1  BC 17 02     mloop:  ldy     $0217,x
000413  1  BD 26 02         lda     $0226,x
000416  1  99 00 FD         sta     $fd00,y
000419  1  CA               dex
00041A  1  10 F4            bpl     mloop
00041C  1
00041C  1               ; Init Suzy
00041C  1
00041C  1  A2 06            ldx     #6
00041E  1  BC 00 04     sloop:  ldy     SuzyInitReg,x
000421  1  BD 07 04         lda     SuzyInitData,x
000424  1  99 00 FC         sta     $fc00,y
000427  1  CA               dex
000428  1  10 F4            bpl     sloop
00042A  1

Now I have barely initialized the CPU, Mikey and Suzy. And spent 95 bytes for nothing. The palette is still random. And I have just 33 bytes left.

 

If I set up the palette it leaves me 1 byte for the game.

 

Have I misunderstood the rules? Or should I expect that the ROM has already intialized the chips to a decent state?

Link to comment
Share on other sites

From the rules of 128b intro :

Quote

Maximum file size is 128 bytes for DOS and other platforms/formats which do not require an executable header. For other platforms, standard header size does not count towards the 128 byte limit. However, using the header to store custom code/data is not allowed.

 

Edited by Fadest
Link to comment
Share on other sites

4 hours ago, karri said:

This 128 bytes is insane! @sage and I thought we were hard-core developers when we wrote games for a 1024 byte competition. Available on Lynx Reloaded. My Ottelo entry even had AI built in. So I bet it was able to beat any average Othello player.

 

In a way I would like to participate in this 128 byte competition too. The only problem is that the encrypter creates multiples of 52 bytes. Not good. The only solution is to have a single block bootblock followed by 128-52-1 bytes.

 

Fortunately there is plenty of time as the deadline is on Thursday. Now I just need to figure out a game that can be coded in no space at all...

Karri, the code must not be larger then 128  bytes. I submitted the pure binary w/o BLL header of 128 bytes and one w/ for handy as well as a one lnx.

BTW they  have also a 256 bytes compo

 

Edited by 42bs
Link to comment
Share on other sites

My understanding (and challenge) is that we can assume the state of the Lynx after the ROM did load the bootsector. Sure, this is unfair compared to an Atari ST, where the palette is set. But that is the challenge ?

Edited by 42bs
Link to comment
Share on other sites

_But_ beware: Testing on Lynx is mandatory. Just extended Plasma3 and tested it an hour long on Handy just to discover: It does not work on the real thing: FD94/FD95 is write only but on real hardware. :(

 

Link to comment
Share on other sites

Great! I decided to skip the competition. Instead I modded a 2.8" display with shattered glass, an old 1st generation PiZero with broken SD card socket + a DIY cardboard Bluetooth speaker with a broken Bluetooth. The result was a stylish MP3 player.

 

IMG_20200513_203626.thumb.jpg.3ad3bb7c2f97c319757711ae3fc80c87.jpg

  • Like 1
  • Haha 1
Link to comment
Share on other sites

  • 3 weeks later...
17 minutes ago, karri said:

Both entries are an amazing display of asm wizardry. My hat is off for @42bs

Thanks Karri. Acutally, size limited programming has the advantage that I do not have to think about a lot of GFX and most importantly music.

 

Link to comment
Share on other sites

  • 2 weeks later...

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...