Jump to content

Recommended Posts

4 minutes ago, rdefabri said:

I can't imagine how I can get my code down to 10 lines without some sort of magic.  I might have to try a different category or language!!!

If you post your code we may be able to give you some tips & tricks to help.

  • Like 1
11 minutes ago, Preppie said:

If you post your code we may be able to give you some tips & tricks to help.

Still in the works.  It's kind of a kluged up, Franken-code - just the way I seem to work!  I have to get it operational, then I'll try to whittle it down.  Right now, it's super inefficient and buggy.

17 minutes ago, rdefabri said:

I can't imagine how I can get my code down to 10 lines without some sort of magic.  I might have to try a different category or language!!!

Sometimes I have to decide between X and Y features, because there is room for only one of them, and I keep the one that maximizes the gamplay.

Sometimes, while I'm writing the comments for the required explained source code, I find better ways to code something.

Sometimes I find that two statements could be reduced to just one with a variable that changes the behavior to the corresponding one.

Sometimes, when the order of the statements does not matter, I could make them fit better in the lines.
And sometimes I move to the next category and include all the features that I want...

  • Like 4
5 hours ago, vitoco said:

Sometimes I have to decide between X and Y features, because there is room for only one of them, and I keep the one that maximizes the gamplay.

Sometimes, while I'm writing the comments for the required explained source code, I find better ways to code something.

Sometimes I find that two statements could be reduced to just one with a variable that changes the behavior to the corresponding one.

Sometimes, when the order of the statements does not matter, I could make them fit better in the lines.
And sometimes I move to the next category and include all the features that I want...

Moving to the next category might be an option.  First I have to get this stuff to work - I'm a hack!

  • 3 weeks later...
On 2/4/2024 at 10:44 AM, dmsc said:

Hi!

 

Note that this will be true fo many expressions, in general "a = some_expression + b" is faster than "a = b + some_expression".

 

Have Fun!

Is there a list of tips like these anywhere? A few I've figured out myself since first trying the cross compiler a few days ago, like X * 2 can be converted to a shift but 2 * X cannot, X + X + X is faster than X * 3, X% + X% is waaay faster than X% * 2.0 at least using 400/800 OS-B ROMs, caching in a float variable is faster than repeated conversions, etc. Thanks!

Hi!

18 hours ago, yetanothertroll said:

Is there a list of tips like these anywhere? A few I've figured out myself since first trying the cross compiler a few days ago, like X * 2 can be converted to a shift but 2 * X cannot,

This is because the optimizer in the cross-compiler is really dumb, the program is represented as a list of tokens and certain patterns replaced with others. With a three based representation, the optimizer could do much more.

18 hours ago, yetanothertroll said:

X + X + X is faster than X * 3,

Yes, multiplications in the 6502 are slow 😛 

18 hours ago, yetanothertroll said:

X% + X% is waaay faster than X% * 2.0 at least using 400/800 OS-B ROMs, caching in a float variable is faster than repeated conversions, etc.

If you need to perform floating point operations, it is better to replace the mathpack with a faster one, for example the Altirra mathpack.

 

About a list of tips, I'm not aware of any.

 

Have Fun!

  • Like 1
38 minutes ago, dmsc said:

About a list of tips, I'm not aware of any.

Our Master of 10-Liners @vitoco posts every program on his webpage with all source code and many comments.

It is not actually a list of tips but lots of tricks and tweaks applied in real programs.

  • Thanks 1
9 hours ago, dmsc said:

Hi!

This is because the optimizer in the cross-compiler is really dumb, the program is represented as a list of tokens and certain patterns replaced with others. With a three based representation, the optimizer could do much more.

Yes, multiplications in the 6502 are slow 😛 

If you need to perform floating point operations, it is better to replace the mathpack with a faster one, for example the Altirra mathpack.

 

About a list of tips, I'm not aware of any.

 

Have Fun!

 

What all does the optimizer do now? I think I figured some out, but I'm likely missing others.

 

Since the 6502 has no opcodes for multiplication or division but does have shifts and checks for zero, I suspect you must be doing series of shifts and adds, much like I've been doing in my fooling around with bignums in Basic and Logo. I do switch back and forth between Altirra 4.10 with AltirraOS, Altirra Basic, and all the speedups, and Altirra 4.20 with the Atari OS B and BASIC C ROMs from PCXformer and all the "authentic 8 bit experience" settings. The differences are very interesting to say the least lol

 

8 hours ago, DjayBee said:

Our Master of 10-Liners @vitoco posts every program on his webpage with all source code and many comments.

It is not actually a list of tips but lots of tricks and tweaks applied in real programs.

 

I'm definitely going to look into those, thanks!

  • 2 weeks later...

ZeroPage Homebrew is playing all the 2024 A8 Tenliners on tomorrow's ZPH stream LIVE on Twitch! Hope you can join us!

 

Games:

 

  • Like 1
  • Thanks 1
3 hours ago, vitoco said:

@ZeroPage Homebrew, Eric Carr has a username in AA: @The Car. He has other interesting projects like the FastBasic Debugger

 

Thank you for the heads up! I've tagged him appropriately now. 🙂

 

- James

I had no time to analyze the entries list and post the 2024 stats earlier, but here they are!!!

 

Total number of entries: 53

 

Number of entries per category:

  • PUR-80: 20
  • PUR-120: 11
  • EXTREM-256: 15
  • SCHAU: 7

Number of entries per system:

  • Atari 800 XL: 11
  • Commodore 64: 11
  • Commodore Plus/4: 6
  • Commodore VIC 20: 3
  • Enterprise 64/128: 1
  • Mattel Aquarius: 1
  • MSX: 4
  • Multi System (including Atari XL): 2
  • Sinclair ZX Spectrum: 9
  • Sinclair ZX81: 1
  • Tandy TRS-80 MC10: 2
  • Tandy TRS-80 Model 100: 1
  • Videoton TVC: 1

Number of entries per author:

  • FeCO: 7
  • D. Scott Williamson: 3
  • Eric Carr: 3
  • Victor "Vitoco" Parada: 3
  • 8 authors with 2 entries: 16
  • 21 authors with 1 entry: 21

List of Atari entries:

Entry Game Platform Author Language Category
1 Chase Me Atari 800 XL Victor "Vitoco" Parada FastBasic 4.6 EXTREM-256
12 RayTrace Movie Atari 800 XL D. Scott Williamson Atari BASIC SCHAU
14 Magic Carpet Ride Atari 800 XL Eric Carr Atari BASIC PUR-80
17 Ray Tracer GTIA Atari 800 XL D. Scott Williamson Atari BASIC SCHAU
20 Jacks or Better VIDEO POKER Atari 800 XL D. Scott Williamson Atari BASIC EXTREM-256
21 Falling Balls Multi System spotlessmind1975 ugBASIC EXTREM-256
22 Gunner Atari 800 XL Eric Carr FastBasic 4.6 PUR-120
28 Endless Road Runner Atari 800 XL Victor "Vitoco" Parada Atari BASIC PUR-80
32 ACME, Inc. Multi System Marco "spotlessmind1975" Spedaletti ugBASIC EXTREM-256
36 Bonk'em Atari 800 XL Noah Burney Atari BASIC PUR-120
38 Tetris Atari 800 XL Eric Carr FastBasic 4.6 EXTREM-256
44 Fly Hunter 10L Atari 800 XL Victor "Vitoco" Parada FastBasic 4.6 PUR-120
52 Doons Atari 800 XL Kim Slawson Turbo Basic XL EXTREM-256

 

All 11 game entries (SCHAU category was excluded) can be downloaded in the NOMAM2024.atr compilation disk from my tenliners page.
NOTE: this ATR must be booted with BASIC enabled (without pressing OPTION key in real hardware) and a joystick is required.

 

++Vitoco

 

  • Like 3
  • Thanks 3

Again, I didn't get an entry in.  I've got a bunch of half written games from the past few years, maybe I should just get them sorted early for next years event.

 

Big drop in entries from last years 88 to 53 with MSX looking like they fled the field.

 

I've heard a few people say that with Atari having FastBASIC there's no point doing beyond pur-80, but now that ugBASIC is available to use there's no excuse.

Posted (edited)
3 hours ago, Preppie said:

Big drop in entries from last years 88 to 53 with MSX looking like they fled the field.

Atari entries raised from 8 to 13 counting demos. From those, 7 and 11 are games, respectively.

 

3 hours ago, Preppie said:

Again, I didn't get an entry in.  I've got a bunch of half written games from the past few years, maybe I should just get them sorted early for next years event.

Don't wait to start coding after the contest call. I do it for fun, and I want fun the whole year. I also have a bunch of half cooked prototypes, and from time to time I get back into them. Well, sometimes happens that rules change, like the year when the built-in BASIC was introduced for the PUR-80 category. I had a Turbo Basic XL game in 80 columns that I had to send as a PUR-120 entry because of that rule.

 

3 hours ago, Preppie said:

I've heard a few people say that with Atari having FastBASIC there's no point doing beyond pur-80, but now that ugBASIC is available to use there's no excuse.

ugBASIC is not able to do PUR-80. Trying to write a game that works using Atari BASIC for that category has an extra challenge. I don't know about ugBASIC syntax and available statements, but I can say that the runtime weights so much, so I think that there won't be enough RAM available to be used by games that require it for buffer and tricks. For example ACME Inc executable uses 34K, compared to 5K of Tetris, and both are EXTREM-256 entries, ugBASIC and Fastbasic respectively. Also, I don't know about the speed of both languages if compared running the same piece of code.

 

 

Edited by vitoco
On 3/19/2024 at 8:57 AM, vitoco said:

@ZeroPage Homebrew, Eric Carr has a username in AA: @The Car. He has other interesting projects like the FastBasic Debugger

Thank you for giving my username. Turns out I had email notifications turned off for AA, so I completely missed this thread. Won't happen again :)

  • Like 1
  • 2 weeks later...

I failed miserably at my attempt, I’m just not knowledgeable or capable enough as a programmer to do what others are able to do. On top of that, I was laid off by my employer so I need to focus on securing gainful employment.

 

I’m amazed at the great work and efforts by those that can do this, they get better each year.

 

I have some good ideas, but I need a good “teacher” (books or people) to get me over the line.  I’m not a professional coder, so it’s harder for me.

 

Good luck to all the entrants!

 

 

  • Like 1
5 hours ago, DjayBee said:

They are on the contest's website

 

https://gkanold.wixsite.com/homeputerium/results-2024

and there is still voting to do by

 

The results of "PUBLIC'S CHOICE" will be generated by downloads and views in and from bunsen.itch.io

 

so you Atari line loving folks get in for the win!

 

Edited by _The Doctor__
On 4/7/2024 at 5:00 PM, vitoco said:

Wow! Atari games did it very well this year.

 

BTW, contratz @The Car... Two winners!!!

 

 

Thanks @vitoco!! Nice job with your entries as well! Very close in the ratings. Happy to see Atari at the top thanks to @dmsc's excellent FastBASIC :) 

  • Like 1
  • Thanks 1

Gratz to everyone who entered.  Just finishing a game, even a small one, is a challenge.

 

Big gratz to @The Car & @vitoco for their great games, and a big thanks to Gunnar and all the judges.

 

Support 10 liners http://paypal.me/gkanold

 

Become Patron https://www.patreon.com/BASIC10Liner

 

 

  • Like 1

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