| |
Mr SQL
Registered: Feb 2023 Posts: 143 |
This is a BASIC that is different
Checkout my 10 line program for the BASIC Programming Contest in March:
GateCrasher Jazz Improv
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. |
|
... 7 posts hidden. Click here to view all posts.... |
| |
Bitbreaker
Registered: Oct 2002 Posts: 510 |
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. |
| |
iAN CooG
Registered: May 2002 Posts: 3210 |
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. |
| |
Fungus
Registered: Sep 2002 Posts: 697 |
Because anyone who codes a game or demo is a "scener". |
| |
ws
Registered: Apr 2012 Posts: 251 |
[nevermind] |
| |
chatGPZ
Registered: Dec 2001 Posts: 11433 |
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! |
| |
iAN CooG
Registered: May 2002 Posts: 3210 |
I am :( |
| |
Mr SQL
Registered: Feb 2023 Posts: 143 |
Quoting chatGPZQuote: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 FungusBecause 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? |
| |
Fungus
Registered: Sep 2002 Posts: 697 |
Perhaps because not everything is about you. |
| |
Mr SQL
Registered: Feb 2023 Posts: 143 |
Quoting FungusPerhaps because not everything is about you.
Sorry, I misinterpreted your post. |
| |
Mr SQL
Registered: Feb 2023 Posts: 143 |
Quoting BitbreakerQuoting 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. |
Previous - 1 | 2 - Next |