Jump to content
IGNORED

Logiker's Vintage Computing Christmas Challenge 2022


carlsson

Recommended Posts

25 minutes ago, MrFish said:

No need... our friend @dmsc has already done that (and more) for us.

 

Turbo-Basic XL and Atari BASIC parser tool

 

lol.   Maybe I should have asked first.   🙂     I did a brief search, didn't find anything, and wrote a quick program.  (I did use DiskEdit to modify the file first and test the idea.)

Link to comment
Share on other sites

4 hours ago, reifsnyderb said:

lol.   Maybe I should have asked first.   🙂     I did a brief search, didn't find anything, and wrote a quick program.  (I did use DiskEdit to modify the file first and test the idea.)

That parser tool pretty handy; it has some nice options, including allowing you to write your code without line numbers (then it adds them when you parse).

 

Link to comment
Share on other sites

Made my own asm attempt (hidden result)

Quote

88 bytes including the 6 bytes xex header. I'm guessing we'll see entries below 80 bytes...

 

I'm assuming that the screen is always at $9c40, is that ok ?

 

I didn't clear the cursor either... it's kind of conflicting to allow a ready prompt but not the cursor and at the same time not require the screen to be cleared

 

Quote

Do I need to clear the screen?

No. Usually, you will paint / write on new, empty lines below the cursor. Just don't interfere with the OS messages, which are above the cursor, usually.

Can I write over system messages, or do I have to write starting below the cursor?

Well, you can write everywhere. Also, over the system messages. But your algorithm should not be based on the system message or require it. You could even delete the screen by hand before running your code.

edit: I guess it's ok to leave the cursor

Edited by rensoup
Link to comment
Share on other sites

49 minutes ago, rensoup said:

I didn't clear the cursor either... it's kind of conflicting to allow a ready prompt but not the cursor and at the same time not require the screen to be cleared

My assembler version has no cursor, no clear screen and no ready prompt, it's also quite tiny :)

Link to comment
Share on other sites

I've broken the 100 byte barrier.

 

No more version with the cursor showing, as it doesn't save any bytes at this point.

 

So, I just have non-centered @ 94 bytes [formerly 105 bytes] and centered @ 100 bytes [formerly 112 bytes] (both on a clear screen... and it's Atari BASIC).

 

I can also reduce both of these by 1 byte, by looping continuously. It's allowed by the rules; but I prefer the static versions to calling Gr. 0 and redrawing repeatedly.

 

Edited by MrFish
  • Like 1
Link to comment
Share on other sites

Hi!

 

Here is my brute-force attempt in Turbo BASIC and assembler, it clears the whole screen and draws somewhat centered star.... 217 bytes saved basic, 138 bytes listed basic, 87 bytes assembly.

 

Can we post the programs?

 

 Have Fun!

 

image.thumb.png.274bcae394486553775b49209c55a629.png

 

 

Link to comment
Share on other sites

Well, since I am pretty much out of the size competition, this was my first attempt at 216 bytes when listed and "shrunk" on the disk.  This is in Atari BASIC Rev. C.

 

 

rllcode.thumb.JPG.ccf3c3297bee87363c94ae27ea1a27de.JPG

 

rlloutput.thumb.JPG.d9afa921e487558602293ff144ec5580.JPG

 

I've got another version that's much smaller by mathematically computing the shapes but I haven't been able to get close to the smallest reported sizes.  I am looking forward to eventually seeing the source code to see how a BASIC program to do this can get a lot smaller.

 

 

 

Edited by reifsnyderb
Link to comment
Share on other sites

43 minutes ago, dmsc said:

Can we post the programs?

The rules say not; and it makes some sense, as it could influence other people's work. The rules also say not to tell the file size beforehand; but I think that helps make it more competitive -- even though it's not supposed to be a competition; for me, the competitive part makes it more interesting.

 

Edited by MrFish
Link to comment
Share on other sites

1 hour ago, TGB1718 said:

This is my screen :) although no as small as @MrFish I look forward to seeing all other people approach

I think I shrank my brain more than the code try to reduce the programs size 🤣

It's good exercise, learning how to optimize on these limited machines...

Is that your BASIC or machine code program you're talking about (or both)?

 

Edited by MrFish
Link to comment
Share on other sites

I'm certainly no whiz kid, but I'm down to 75 bytes in assembly (not centered) (or 74 bytes if one doesn't care about Atari DOS making a mess of the lines below the star on exit). I consider that I've employed some pretty sketchy / dirty programming even to get down this far and I'm finding it interesting that I'm having to use different optimisation tricks on the Atari to what I used on the BBC micro. Some of the tricks I used here would actually increase the size of the BBC micro version.

  • Like 1
Link to comment
Share on other sites

One of the main problems with an Atari BASIC ATASCII listed file is that it includes colons between each instruction (or line numbers, if you prefer those... haha); and then instructions, even abbreviated, are at least 2 bytes because they include a period. Commands like POKE and others have no abbreviation. So, I would expect an equal BASIC list file to bigger by quite a few bytes.

 

It'll be interesting to see what methods have been used upon the reveal.

 

Link to comment
Share on other sites

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...