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


Forums > C64 Coding > This is a BASIC that is different
2024-01-24 07:25
Mr SQL

Registered: Feb 2023
Posts: 117
This is a BASIC that is different

Checkout my 10 line program for the BASIC Programming Contest in March:

GateCrasher Jazz Improv 2024 BASIC 10 Liner Contest

Hope some csdb coders try this BASIC for the contest!

Features:
This BASIC features a scrolling virtual world with Graphics Commands, and a tracker-sequencer with Music commands.

It has an old-school classic BASIC mode like this program is written in, and a mode that lets you draw the large virtual world and sprites using ASCII art in the listing and has two gameloops for code, one in each vertical blank.

Classic Television threading model:
This BASIC program runs every frame 50 or 60 times per second, or 100/120 if you harness both vertical blanks.

Atari 2600 architecture is supported via an embedded emulator allowing you to program the C64 like an Atari 2600.

The programs can be recompiled to run on the Atari 2600.

Assembly language programming is supported and mixed BASIC and Assembly programming.

I will be releasing the new version with support for the multicolor mode shown in the program after beating the 1st round.
2024-01-24 18:20
chatGPZ

Registered: Dec 2001
Posts: 11149
Pretty impressive how you managed to cram all that into just 116 blocks!
2024-01-24 20:13
Count Zero

Registered: Jan 2003
Posts: 1826
I started off by deleting your screenshot - provide a proper one please.

Your excessive (ab)use of Trivia, Hidden Parts, Goofs and Summary makes me think you somehow overestimate whatever that release is supposed to be. "Press the button to cycle through the background colors." as a hidden part note? Something went wrong - joyport one or two anyhow?!?!?!?

Luckily people vote by screenshot mostly. Sigh.
2024-01-24 23:24
Mr SQL

Registered: Feb 2023
Posts: 117
Quote: I started off by deleting your screenshot - provide a proper one please.

Your excessive (ab)use of Trivia, Hidden Parts, Goofs and Summary makes me think you somehow overestimate whatever that release is supposed to be. "Press the button to cycle through the background colors." as a hidden part note? Something went wrong - joyport one or two anyhow?!?!?!?

Luckily people vote by screenshot mostly. Sigh.


Count Zero, I agree no one should use fake screenshots but that one is a real screenshot so I thought it was fair. There is a lot of phosphor from the animation and color cycling in the game, but you have to make it to the second level to see this. I hope someone with a CRT and an early breadbox C64 over NTSC and RF can confirm.

Note it's only a 10 line BASIC game, but has a lot in it for 10 lines. The promotor recently notified me last years entry won the popular choice award on itch.io, I hope this one does too!

This year I have added color support to the embedded emulator which works pretty nicely with the BASIC as it was already present.

Game controls:

I get the impression you had difficulty with the controls, gravity and inertia "features" cause only two directions to respond on the joystick with the gravity and inertia creating the other two directions, hopefully realistically. This trick also helps reduce the number of BASIC lines required. I am able to make it through the gauntlet, but it's possible you will need some practice at the game.

I designed it to be easy to play but challenging to play it well.

During testing it w as not apparent the button had a function, it was hidden in that regard.

How did you like the Jazz improv?

Quoting chatGPZ
Pretty impressive how you managed to cram all that into just 116 blocks!

Something I tried to explain in the summary is that the game is so small it will fail to compile for the Atari Flashback Portable because it's emulator does not recognize very small programs.

You actually have to add data statements as ballast (or code that is never executed) to get it to compile for that emu.

The program is 27K on the C64 because most of the space is consumed by the embedded Atari 2600 emulator that allows it to run. It's actually less than 1K.
2024-01-25 05:32
Raistlin

Registered: Mar 2007
Posts: 575
My mother always told me…. If you can’t say something nice then say nothing at all.

Nothing at all.
2024-01-25 08:00
Mr SQL

Registered: Feb 2023
Posts: 117
Quoting Raistlin
My mother always told me…. If you can’t say something nice then say nothing at all.

Nothing at all.

Here's a video that shows how to play:
https://www.youtube.com/watch?v=1yIfEdMXUWQ

The open source BASIC on your thread looks pretty cool, hope you are inclined to enter the 10 liner contest using one of these dialects or vanilla CBM BASIC.
2024-01-25 19:08
chatGPZ

Registered: Dec 2001
Posts: 11149
Quote:
The open source BASIC on your thread looks pretty cool, hope you are inclined to enter the 10 liner contest using one of these dialects or vanilla CBM BASIC.

Yeah Raistlin, go for it! Finally a good opportunity to show off your skills!
2024-01-26 05:09
Mr SQL

Registered: Feb 2023
Posts: 117
LOL very funny, For all you know Raistlin and Count Zero may be hard at work on 10 line BASIC programs right now.

They could be using Simon's BASIC, the new Vision BASIC or this one. You never know who will compete until it's show time.

10 liners require alot of ingenuity to maximize what you can fit what you can into a small code footprint.

I bet you could come up with something cool too if you try.

I used to compete in the 10 line and 1 liner BASIC contests in the 80's, it's a great exercise for coding efficiency. Especially for C64 coders used to big RAM. A ZX-81 or 4K TRS-80 background is an edge in this competition space.
2024-01-26 08:58
Bitbreaker

Registered: Oct 2002
Posts: 501
Quoting Mr SQL

10 liners require alot of ingenuity to maximize what you can fit what you can into a small code footprint.


I had a look into the basic code of GateCrasher and see how precious space is wasted with very verbose variable names. How does this fit together?

I also do not understand why you "promote" your new "discoveries" so much in so many threads.
2024-01-26 09:36
iAN CooG

Registered: May 2002
Posts: 3138
Dunning-Kruger in full effect. Press "ignore all posts from this user" and the idiot will stop trying to get attention, eventually.
Why this individual is still allowed in here is beyond my comprehension.
2024-01-26 10:01
Fungus

Registered: Sep 2002
Posts: 629
Because anyone who codes a game or demo is a "scener".
2024-01-26 12:37
ws

Registered: Apr 2012
Posts: 230
[nevermind]
2024-01-26 14:10
chatGPZ

Registered: Dec 2001
Posts: 11149
Quote:
Dunning-Kruger in full effect. Press "ignore all posts from this user" and the idiot will stop trying to get attention, eventually.
Why this individual is still allowed in here is beyond my comprehension.

You only say this because you are jealous of the guy who made cycle precise Atari emulation on C64!
2024-01-26 18:13
iAN CooG

Registered: May 2002
Posts: 3138
I am :(
2024-01-26 19:43
Mr SQL

Registered: Feb 2023
Posts: 117
Quoting chatGPZ
Quote:
Dunning-Kruger in full effect. Press "ignore all posts from this user" and the idiot will stop trying to get attention, eventually.
Why this individual is still allowed in here is beyond my comprehension.

You only say this because you are jealous of the guy who made cycle precise Atari emulation on C64!

I think you're right, ian voted BREAKOUT PET Factory a 1, while others voted it a 10. That's a pretty good indicator.
Breakout Pet Factory
Quoting Fungus
Because anyone who codes a game or demo is a "scener".

Well I received the public choice popularity award for my last 10 liner for the C64 from last years compo, you can download it here:
https://bunsen.itch.io/superblitz-throttle-control-by-mr-sql

Why not see what you can come up with for the contest?
2024-01-26 22:48
Fungus

Registered: Sep 2002
Posts: 629
Perhaps because not everything is about you.
2024-01-26 23:05
Mr SQL

Registered: Feb 2023
Posts: 117
Quoting Fungus
Perhaps because not everything is about you.

Sorry, I misinterpreted your post.
2024-01-26 23:32
Mr SQL

Registered: Feb 2023
Posts: 117
Quoting Bitbreaker
Quoting Mr SQL

10 liners require alot of ingenuity to maximize what you can fit what you can into a small code footprint.


I had a look into the basic code of GateCrasher and see how precious space is wasted with very verbose variable names. How does this fit together?

Great question and observation!
I wish some of the system variables were not so verbose, they definitely consume a lot of extra space in the 10 liners.

To show how they fit together, here is the virtual world and camera objects being manipulating by the pfpixel command and the BITIndex and scrollvirtualworldtoggle verbose variables:
https://relationalframework.com/Figure2_VirtualWorld.jpg

The BITIndex system variable sets the horizontal coordinate of the camera object.

The scrollvirtualworldtoggle system var is used to pan the camera, it can also be used to create display lists for multiple camera zones if the value is >1.

The pfpixel command can be overloaded several ways.
It can set or flip tile pixels anywhere in the large virtual world. It can also poll if the pixels are set, or bind a sprite onto a tile pixel.

To better understand how the code fits together, here also is the programming model:
https://relationalframework.com/architecture.jpg

When old-school BASIC mode is being used like for the 10 liners, only the top vertical blank (gameloop1) section is available and the program runs 50 or 60x per second, PAL or NTSC.

Here is the programming manual with more details:
https://relationalframework.com/SuperCharger_Disk_BASIC_Manual...

Quote:

I also do not understand why you "promote" your new "discoveries" so much in so many threads.


If you mean the new graphics modes I think they are interesting to discuss on graphics mode threads.

If you mean the Jazz algorithms I think they are also interesting to discuss on my thread where I was researching how to do them.
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
tlr
Guests online: 75
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.7)
5 Edge of Disgrace  (9.6)
6 No Bounds  (9.6)
7 Comaland 100%  (9.6)
8 Aliens in Wonderland  (9.6)
9 Uncensored  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 Happy Birthday Dr.J  (9.7)
2 Layers  (9.6)
3 It's More Fun to Com..  (9.6)
4 Cubic Dream  (9.6)
5 Party Elk 2  (9.6)
6 Copper Booze  (9.6)
7 TRSAC, Gabber & Pebe..  (9.5)
8 Rainbow Connection  (9.5)
9 Dawnfall V1.1  (9.5)
10 Daah, Those Acid Pil..  (9.5)
Top Groups
1 Nostalgia  (9.4)
2 Oxyron  (9.3)
3 Booze Design  (9.3)
4 Censor Design  (9.3)
5 SHAPE  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 S!R  (9.7)
5 Fungus  (9.7)

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