How were Commodore 64 games developed?
#1 Members - Reputation: 142
Posted 04 November 2012 - 04:57 PM
What language did they use for them(And by the way, I'm talking those actual commercial games and software for the C64)
because I know you can program in basic straight from the the thing, but did commercial games use assembly?
Speaking of that, could Assembly code be assembled on just the C64, just like basic? Not having to go and buy something
One more thing is, could the Painting softwares for the C64 be used to make the graphics for the C64 games, or did to all be done in the programming?
#4 Members - Reputation: 2822
Posted 04 November 2012 - 05:25 PM
Even programs written in BASIC usually had reems of POKEs.
Professional Free Software Developer
#5 Members - Reputation: 3515
Posted 04 November 2012 - 05:28 PM
There is nothing special about generating an .exe or creating a data file to be read. An assembler program needs only to read in your instructions and convert them to a proper binary format in machine language, in this case, machine language specific to the C64.
#6 Members - Reputation: 142
Posted 04 November 2012 - 05:55 PM
#7 Members - Reputation: 2822
Posted 04 November 2012 - 06:54 PM
You would either use a macro assembler to convert your assembly code into a binary executable (which you could later LOAD *,8 and RUN), or hand-translate your assembly code into machine code and use the built-in BASIC interpreter to POKE the machine language into memory and execute it.I mean just like how you can just start the C64 without anything, and just write basic code and compile it without any compiling software, could you do the same exact thing with assembly, just go write some assembly code without anything and assemble same, same exact thing or did you have to Have some assembling software?
The C64 used a BASIC interpreter as its "shell". It did not have a line-by-line assembler as its "shell".
Professional Free Software Developer
#8 Moderators - Reputation: 5072
Posted 04 November 2012 - 07:53 PM
Sloperama Productions
Making games fun and getting them done.
www.sloperama.com
Please do not PM me. My email address is easy to find, but note that I do not give private advice.
#9 Members - Reputation: 951
Posted 04 November 2012 - 08:04 PM
I disagree with your exact wording here, though the underlying thought is bang on the money. The EXE file format is specific to Windows, so there's some secret sauce there. The specifics of how Windows loads and runs programs are kind of cool and worth a read.Yes. Why not?
There is nothing special about generating an .exe or creating a data file to be read
#12 Members - Reputation: 493
Posted 05 November 2012 - 01:22 AM
Most games were written in straight machine code, but there were some in basic or basic/machine code hybrids, such as many of the text adventure games and Sword of Fargoal.
openwar - the real-time tactical war-game platform
#13 Members - Reputation: 388
Posted 05 November 2012 - 01:53 AM
Think of the memory constraints that you have on a C64. Even if you turned off the BASIC ROM you allways had less than 64kB for your program and data.
Writing an assembler program and translating it by hand was only a time consuming thing. If you have done this some time you know the instruction codes by value and it was easy to read and write them. Reading could be interesting if you had some assembler code and wants to know what they do in there (reverse engineering). It was easy.
Accessing the hardware was even easy, because you had no restrictions while accessing. The hardware registers where all memory mapped. So you only needed to know the address and then you could manipulate the functions of the hardware at will.
Funny time
#14 Members - Reputation: 503
Posted 05 November 2012 - 05:55 AM
I'm currently going through the book "Machine language for the Commodore 64 and other Commodore Computers" by Jim Butterfield, and that is a good place to start learning about the C64. First thing one discovers is that separate programs were needed to write machine code and assembly - Monitors and Assemblers, respectively.
I'm using the VICE emulator and also downloaded a nifty little IDE called C64 Program Generator, written by .Arthur Jordison. Oh, and for learning how to use VICE's built-in monitor, I highly recommend "Spiro's CBM Blog" Monitor tutorials.
#15 Members - Reputation: 203
Posted 05 November 2012 - 10:58 AM
I don't know if it happened on machines such as the c64 but I do know that at some point amiga games were developed using cross assemblers and debuggers running on intel PCs.I reckon the first few years of the C64's life games were written on the C64 itself, but then written on a more powerful machine in its later years such as the Commodore Amiga. Just a guess though...
I know that reflections did this at least on shadow of the beast II and later games (they used to have interesting blurbs in the documentation of their games telling about the developpment process and it was mentioned there iirc).
Factor 5 had even developped their own intel pc based toolset called "pegasus" that they used for all their amiga and console games (probably even for their atari ports too)., I had read this in an interview somewhere.
Nowadays it doesn't makes a lot of sense to use another pc to develop a pc game, but in those days it probably made a lot of sense for professional developers to turn to that kind of solutions because machines had small amounts of memory which made it hard to have a game and development tools to coexist and even though some OSes like amiga's had preemptive multitasking they didn't provide any kind of memory protection and process isolation, which meant any unfortunate write through a bad pointer could bring the entire system down (or worse, result in filesystem or text editor buffer corruption, all kind of fun things).
Also since most games just clobbered the entire hardware and memory and interruption handlers (because using the os induced too much overhead and the hardware was fixed anyway) it was likely much easier to use remote debuggers running on the intel pc than having some hacks to let the game coexist peacefully with the os during development.
As an example of the kind of things that could happen in those days when developing directly on actual target machine , the first game that Reflections developped on amiga was ballistix. I can't remember how the hell I managed to come accross that in the first place but there were actual portions of the game's assembler source code that ended up lying around on some unused sectors of the floppy disk. Evidently that game wasn't yet using a development process using a separate pc...
Edited by Zlodo, 05 November 2012 - 11:03 AM.
#16 Members - Reputation: 175
Posted 05 November 2012 - 03:06 PM
Also, the other plateform in existence at the time weren't up to the task when in comes to emulation. Even the Amiga fared poorly when trying to emulate a C64. The early PC's also cost a lot at that time and had limited graphical capability (think CGA 320x200 4 color mode) and couldn't really be used to emulate the colr mode of even those 8bit computers.
.
Edited by AMenard, 05 November 2012 - 03:09 PM.
http://www.osrebel.com <-- En Français
L'information libre et la joie d'apprendre
http://www.osrebel.com/english <-- English Version
Free information and the joy of learning
#17 Members - Reputation: 175
Posted 05 November 2012 - 03:17 PM
Note: I'm old enough to have lived through the home computer revolution. I never had the money to buy an Apple 2, but I did owned and used/programmed the following:
- TRS-80 MC10
- TRS-80 Color Computer 2
- Vic 20
- C64 (still have it!)
- Atari 600XL
- Atari 800XL (still have it!)
- Atari 130XE (Still have it!)
- Atari ST 520FM
- Amiga 1000 (Still have it!)
- Amiga 500 (Still have it!)
- Powermac G5
- iMac 2010 (i3 still have it)
- PC (XT & up to present day, I have a Dell 8500SE )
http://www.osrebel.com <-- En Français
L'information libre et la joie d'apprendre
http://www.osrebel.com/english <-- English Version
Free information and the joy of learning
#18 Members - Reputation: 175
Posted 05 November 2012 - 03:23 PM
If you can get your hand on some way to try those game of yore, maybe via emulation, those are a great source of inspiration for those trying their hands at game programming. Those game, for a big part, were simple, since they had to fit in limited ressources. A big game at the time had to fit into 32k of ram and the data for the game was splitted on one to a couple of floppy sides, which were 170k per side for the C64. This didn't impact the variety of games though, so there is plenty to "re-invent".
I would really like a modern version of Archon to be made for exemple. Hell, I may try to make one myself if it comes down to it.
http://www.osrebel.com <-- En Français
L'information libre et la joie d'apprendre
http://www.osrebel.com/english <-- English Version
Free information and the joy of learning
#19 Members - Reputation: 896
Posted 05 November 2012 - 05:17 PM
So I guess that the Commodore 64 was used to make games for itself
What language did they use for them(And by the way, I'm talking those actual commercial games and software for the C64)
because I know you can program in basic straight from the the thing, but did commercial games use assembly?
Mostly (6502) assembly language. This is a good read:
http://bryanpendleto...e-after-25.html
http://jordanmechner...ersia-released/
Edited by Matt-D, 05 November 2012 - 05:18 PM.
#20 Members - Reputation: 2143
Posted 06 November 2012 - 09:23 AM
It's way easier today with all the cross assemblers and information on your fingertips.
(selfsell2: I also recommend C64Studio, a Visual Studio like IDE, that attaches to WinVICE to allow debugging)






