| |
Raistlin
Registered: Mar 2007 Posts: 660 |
Open Source C64 Demos
Given recent discussions on this, I thought it could be good to collate the various open-source demos in one place..?
I've added several demos that I've worked on (with many other GP'ers of course) here:-
https://github.com/RobertTroughton/C64Demo-PublicReleases
(currently includes Delirious 11, X Marks the Spot, The Dive, Memento Mori, Christmas Megademo and No Bounds .. though we'll of course add more later)
And Bitbreaker/Performers just made the Next Level source public:
https://github.com/bboxy/next-level
Also note that I have the https://www.c64demo.com domain where I plan to blog about all sorts of coding stuff .. hopefully once I finally release Sabre Wulf Remastered I'll have more time to do stuff there too.
I've also attached to each entry on CSDb a ZIP containing the current state of each source branch. That way, it's all hopefully better preserved. I strongly encourage others to think about that too - sometimes (or 99% of the time?) these links on CSDb become stale and stop working ......... |
|
| |
iAN CooG
Registered: May 2002 Posts: 3187 |
Uploading the files on CSDb instead of external repos is reccomended, repos gets updated, while the entry on CSDb must reflect the release made that day, always.
Then as you said, they could vanish. |
| |
Bitbreaker
Registered: Oct 2002 Posts: 504 |
That public repo is just a copy of a private repo, as i didn't want to share the whole repo with all its history (though the commit messages are for sure entertaining :-D). The private repo of course has all that history stored and it is an easy thing to checkout the relevant branch that leads to the released disk images. Also some clean up was a good idea, not codewise, but regarding unused or outdated files. Repos get messy over time when so many people are involved :-) Release tags may help too. |
| |
Burglar
Registered: Dec 2004 Posts: 1089 |
thank you! I can confirm Next Level source builds without any issue on Linux and pretty fast too (+/- 6.5 sec on my system) |
| |
Bitbreaker
Registered: Oct 2002 Posts: 504 |
Ah, right, the build is done multithreaded by default, as building times raised a lot over time, thus the focus on a fast compile (with more hassle on finding errors though as they are buried under a huge pile of output from other threads) :-) It should also compile flawless on macOS or cygwin, as we had developers in those departments as well. |
| |
Krill
Registered: Apr 2002 Posts: 2969 |
Quoting iAN CooGUploading the files on CSDb instead of external repos is reccomended Artefacts Zoompinski [512 bytes] Fontesquieu 256b etc. =) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
Quote:Uploading the files on CSDb instead of external repos is reccomended, repos gets updated, while the entry on CSDb must reflect the release made that day, always.
Thats why repos have tags :) |
| |
JackAsser
Registered: Jun 2002 Posts: 2014 |
What about games? :) https://bitbucket.org/JackAsser/eye-of-the-beholder-c64/src/mas.. |
| |
ws
Registered: Apr 2012 Posts: 251 |
Or booze-fueled intros, rushed games and hard-to-use tools alltogether? |
| |
Martin Piper
Registered: Nov 2007 Posts: 718 |
Lots of C64 related code: https://github.com/martinpiper/C64 |
| |
Bitbreaker
Registered: Oct 2002 Posts: 504 |
Quote: Lots of C64 related code: https://github.com/martinpiper/C64
I guess this should be:
https://github.com/martinpiper/C64Public |
| |
papapower
Registered: Aug 2021 Posts: 7 |
Wow that’s awesome guys, now that’s the kind of scene spirit that I love.
I would have been happy to be able to do the same with some old releases but unfortunately back in the days about all code was written directly in a monitor 🥲
I wonder of much of the old days code is like that and lost to many but the more adventurous spelunkers ?
Maybe some de-assembling along with commenting will do for some, or maybe we could release the code for the last ones ? (one of those unfortunately includes this kind of direct to monitor code as the idea was to be able to use it)
So much to do and so little time… May do that for next releases thought |
| |
Raistlin
Registered: Mar 2007 Posts: 660 |
Quote: Wow that’s awesome guys, now that’s the kind of scene spirit that I love.
I would have been happy to be able to do the same with some old releases but unfortunately back in the days about all code was written directly in a monitor 🥲
I wonder of much of the old days code is like that and lost to many but the more adventurous spelunkers ?
Maybe some de-assembling along with commenting will do for some, or maybe we could release the code for the last ones ? (one of those unfortunately includes this kind of direct to monitor code as the idea was to be able to use it)
So much to do and so little time… May do that for next releases thought
Very true - all my 80s demos, right up to Delirious 10, were written directly on an Expert Cartridge (possibly an Action Replay later on?). Lots of saving to disk I think. To be honest, I can’t properly remember how it was done - 17 year old me’s memories are mostly gone :’( |
| |
Krill
Registered: Apr 2002 Posts: 2969 |
Quoting papapowerI would have been happy to be able to do the same with some old releases but unfortunately back in the days about all code was written directly in a monitor 🥲 Yes, truly, for the old stuff, the binary code is the source.
Only with the advent of affordable crossdev asymmetry (GHz/GB on build-side/encoding, KHz/KB on runtime-side/decoding) did source code to 6502 stuff really become a relevant thing. =) |
| |
Mr SQL
Registered: Feb 2023 Posts: 136 |
Very cool, like the idea and the structured hierarchy design. The D64's are easy to locate and so are the SID's. |
| |
MCM
Registered: Apr 2018 Posts: 21 |
Quoting papapowerWow that’s awesome guys, now that’s the kind of scene spirit that I love.
I would have been happy to be able to do the same with some old releases but unfortunately back in the days about all code was written directly in a monitor 🥲
I wonder of much of the old days code is like that and lost to many but the more adventurous spelunkers ?
Maybe some de-assembling along with commenting will do for some, or maybe we could release the code for the last ones ? (one of those unfortunately includes this kind of direct to monitor code as the idea was to be able to use it)
So much to do and so little time… May do that for next releases thought
To get back on track at my comeback some years ago i used Regenerator a lot to convert some of my old smon coded stuff to .asm code. This helped me a lot.
Regenerator 1.73
PS: Thank you so much guys for sharing your source codes, it is so cool to see how some of the killer effects are done. And maybe my lazy old fart brain could learn to code better someday. |
| |
papapower
Registered: Aug 2021 Posts: 7 |
Thanks MCM that may be handy.
OK guys you got us started too. That’s going to be messy and dirty though but I’ve checked with Joy and he’s OK that we put our source code too in the open.
So here we go : https://github.com/babygang-c64
I’ll try to populate this as much as we can, missing a lot at the moment ;) |
| |
Raf
Registered: Nov 2003 Posts: 343 |
here is source code for Vulture Design's music collection:
69 positions 100%
and second one too:
Kombi-nacja |
| |
Brush
Registered: Apr 2002 Posts: 22 |
Long ago, (before it was fashionable :)) i've released some of my sources + convinced few friends to do the same. It was on (now defunct) Elysium ftp server.
But the kind guys from Apidya still maintain a mirror, so here we go:
http://elysium.filety.pl/?dir=gnu-generation
Includes Illmatic demo sources. |
| |
Pararaum
Registered: Sep 2018 Posts: 11 |
If anybody is interested, here is my repository https://github.com/pararaum/c64playground
Enjoy pillaging! |
| |
Burglar
Registered: Dec 2004 Posts: 1089 |
png2prg 1.4 source is now available (also as library): https://github.com/staD020/png2prg |
| |
Mr SQL
Registered: Feb 2023 Posts: 136 |
Quoting jareth_2005@yahoo.comI am the of Pasm assembler and it comes with free demos.
https://github.com/pebmeister/Pasm
It ships with source for a grahics cartridge that adds the following commands to basic via wedge.
HFRECT - Hires filled rectangle
HLINE - Hires Line
HPLOT - Hires Point
HRECT - HiRes Rectangle
HGROFF - Hires grahics Off
HFCOL - Hires ForeColour
HBCOL - Hires BackColor
HCLS - Hires Clear Screen
HGR - Hires Grahics On
HCIR - Hires Circle
HFCIR - Hires Filled Circle
HBEZ - Hires Bezier Curve
HTEST - Test Comamnd for the cart
The graphics command set of plot, point, line, circle, and cuve added to BASIC look pretty cool, I'd like to see something written with this for the BASIC10Liner contest this March if your team could demo it there.
Those graphics extensions look like it should be possible to write an interesting game or demo in 10 lines of code with the wedge.
Are any sound commands added and is it possible to use the BASIC wedge without the cartridge? |
| |
Gordian
Registered: May 2022 Posts: 57 |
Hello!
In my 128 bytes intro New World OR'er [128 bytes] when plotting odd pixels (bits) I use some "magic bytes" from the ROM and RLA opcode, which helps me save 4 bytes (table of $80,$20,$08,$02 is useless now).
Source with comments I've just attached to release.
Direct download: https://csdb.dk/release/download.php?id=293947 |
| |
hedning
Registered: Mar 2009 Posts: 4723 |
I censored jareth_2005's 10.000 rows of pasted code to make this thread readable and useful again. If you want the code jareth_2005@yahoo.com posted, ask him about it. |
| |
bepp
Registered: Jun 2010 Posts: 265 |
Thanks! Finally this great topic is readable again. Keep the github links coming! |
| |
chancer
Registered: Apr 2003 Posts: 346 |
the problem is with all this stuff certain folks want an advantage over others.. yer I saw reflex taking apart tmr's "thermal raster bars" part at x95.. it's bitter sweet many times.. and yer Jason found it a compliment they were hacking away with their AR6's back in the day.. as my dutchies will comment.. I may have been the worst for wear that weekend ;-) |
| |
Quiss
Registered: Nov 2016 Posts: 42 |
Soul on Fire: https://github.com/matthiaskramm/soul_on_fire |
| |
trident
Registered: May 2002 Posts: 91 |
ooh yeah quiss this is great! very nice to be able to read through the code - but even after reading the code, i'm still at a loss as to what the original thought process behind this magic could have been! very impressive. |
| |
WVL
Registered: Mar 2002 Posts: 899 |
My 2 cents, we've made the repository for Halloweed 4 open. Enjoy: https://github.com/wernervanloo/Halloweed4_public/ |
| |
CreaMD
Registered: Dec 2001 Posts: 3052 |
I love you guys. When I get back to coding on C64 I'm going to find this thread and learn from your process. Thank you. |
| |
anonym
Registered: Jan 2002 Posts: 267 |
In case you haven't seen it, I also recommend bexxx 's github repo:
https://github.com/bexxx/commodore64/ |
| |
bexxx
Registered: Nov 2023 Posts: 5 |
Quote: In case you haven't seen it, I also recommend bexxx 's github repo:
https://github.com/bexxx/commodore64/
Thanks for the advertisement :)
I was too shy to post it myself, because it's just full of beginner stuff. Hopefully with enough comments for others to be somehow useful. |
| |
Angel of Death
Registered: Apr 2008 Posts: 211 |
Useless post but I have to make it because noone else did already:
"Everything is open-source if you know assembly..." |
| |
bexxx
Registered: Nov 2023 Posts: 5 |
The open source part that is important are the comments to follow the thought process. This is how beginners can learn, not by just looking at opcodes and cycles. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11360 |
Indeed, disassembling modern demo code might give you some hints IF you really know what you are doing - but for beginners its completely useless. |
| |
Burglar
Registered: Dec 2004 Posts: 1089 |
Quoting Angel of DeathUseless post but I have to make it because noone else did already:
"Everything is open-source if you know assembly..." the most useless post in this thread is yours :) |
| |
Burglar
Registered: Dec 2004 Posts: 1089 |
Quoting bexxxThanks for the advertisement :)
I was too shy to post it myself, because it's just full of beginner stuff. Hopefully with enough comments for others to be somehow useful.
I just randomly looked at one of your examples and you're much too modest. These are must reads for any beginner coder and even intermediate ones.
Easy to follow and very well commented. |
| |
WVL
Registered: Mar 2002 Posts: 899 |
I found this in bexxx's repository:
Used sources/tools:
Petmate
Dirmaster
Dart
Directory Art Howto
Directory Art Inspired by Arcanum by Xenon, X Party 2000
C64 Wiki
Exomizer2
What?! 😃 |
| |
Count Zero
Registered: Jan 2003 Posts: 1927 |
Werner - was a little puzzled as well. So few demo'ish things? |
| |
WVL
Registered: Mar 2002 Posts: 899 |
@Andreas : I was referring to the dirart inspired by Arcanum. Thanks bexxx! |
| |
dyme
Registered: Nov 2018 Posts: 15 |
I made the source for Hello World and 4kefrenzy public a while ago, more demos will follow as soon as I have given up all hope to tidy up their source code someday.
The source is quite messy, as all the tidy modularization that was definitively there in the beginning gets thoroughly ignored with the approaching deadline. Also, the projects were only put into git once they were already finished, so no useful history is provided. This will change with Dame Kitty and the Mushrooms.
And of course I don't have a fancy CI/CD system, so you may have problem building it all. PM me and I'll see if I can help you.
GitHub/dyme6510 |
| |
Marq
Registered: Sep 2011 Posts: 50 |
This seems to be open source, for what it's worth :) Nothing but PET SKI |
| |
Raistlin
Registered: Mar 2007 Posts: 660 |
Maybe somebody should create a website and/or a single public GitHub repo, with backups and mirrors, where as many of these as possible could be collected with the owners' permission..? The problem with links on sites like CSDb is that they expire - there're a SHIT TON of links on CSDb forums and comments that no longer work. |