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 > Making your own cartridge ROM
2009-02-28 20:15
Frantic

Registered: Mar 2003
Posts: 1648
Making your own cartridge ROM

Hello!

I wonder if there is any good reference/tutorial/info text material on creating your own cart ROM (primarily in "Retro Replay format"). I never did this myself, but I am planning to do so. I know there is a special "header" ("CBM80" or something?) first of all which makes the c64 recognize that a cart is plugged in, and then there is all the bank switching stuff (there are docs from Jens Schoenfeld on that I guess), and also assemblers with special features for memory bank handling and so on (dreamass has some features in this direction, or...?). Is the "action replay" source code available somewhere (I heard that this was "floating around on the net")? I think all kind of info like this would be nice to have on http://codebase64.org

The main point here is not primarily that I wouldn't be able to figure things out from various sources of information, but rather that it would be nice to collect already existing info on this on codebase, since there isn't that much on this topic there right now.

Anyone got some info/tutorials on this topic? If there isn't any available, then I would love to see someone write a little about the requirements for making cart software on codebase. Yeah?

(By the way.. Is it just me, or do you people also get "Frantic" as one of the hotlinks on google when searching for "CSDb"? Huh? I guess I must be a very important c64 scener? ;)

//FTC
 
... 20 posts hidden. Click here to view all posts....
 
2009-03-03 09:38
chatGPZ

Registered: Dec 2001
Posts: 11386
two very useful things that i didnt find anywhere else are:
- a pseudo op that returns the bank number of a symbol. this allows to very easily build tables with bank/adress for a cross-bank-call-api
- the assembler can put functions into banks as they fit automatically, so you dont have to worry about memory layout.
2009-03-03 10:04
Frantic

Registered: Mar 2003
Posts: 1648
Ah! That sounds very useful indeed! Thanks for the info!
2009-03-03 20:50
AlexC

Registered: Jan 2008
Posts: 299
Speaking about assemblers another "useful" feature popped into my head, but just for limited number of users and coders: Z80 support for C128. Again the use will be quite limited as Z80 speed is not astonishing to say at least but maybe if you were to build cart for CP/M... any other ideas? ;)
2009-03-06 23:17
Bregalad
Account closed

Registered: Jul 2008
Posts: 42
Speaking of that I have some experience with WLA-DS beacuse I wanted to code for many platforms.
It is pretty good, but it assumes the code is compiled into ROM, and does lack some proper supports for relocatable code (altough there is workarrounds for it).

Handling bankswitching with is is very convenient overall. A big drawback is that the author is not really caring any longer about it like he was before.
2009-07-27 20:31
Frantic

Registered: Mar 2003
Posts: 1648
Quote: two very useful things that i didnt find anywhere else are:
- a pseudo op that returns the bank number of a symbol. this allows to very easily build tables with bank/adress for a cross-bank-call-api
- the assembler can put functions into banks as they fit automatically, so you dont have to worry about memory layout.


@Groepaz: I looked in to this today, but didn't really find any info about this stuff that you mention here in the DreamAss docs. Are these features undocumented, or so?
2009-07-28 22:06
AlexC

Registered: Jan 2008
Posts: 299
Quote: @Groepaz: I looked in to this today, but didn't really find any info about this stuff that you mention here in the DreamAss docs. Are these features undocumented, or so?

I think it's segment functionality but I'm not sure. Take a look at chapter 5 of DreamAss documentation if I remember correctly.
2009-07-29 13:10
Frantic

Registered: Mar 2003
Posts: 1648
I eventually found the info. It was "hidden" in a section called "Terms" (I would have called that section "operators" or something like that). There is a operator called "segmentof" which is what I was looking for (and this operator is not mentioned in the manual section which deals with segments). I still didn't find any info regarding Groepaz second statement though...
2009-09-03 20:11
AlexC

Registered: Jan 2008
Posts: 299
@enthusi: nice code :) Thanks for posting. The only problem is when your code after relocation goes higher than $8000 I guess.

I need to take a look at crt description because right now I'm looking for a solution to load packed code from cartridge and than relocate it into RAM and than have RAM at $0000-$FFFF or at least up to $CFFF.
2009-09-19 22:40
MisterMSK
Account closed

Registered: Jul 2009
Posts: 37
@enthusi: I was curious. What compiler you used for your cartridge making code?
Previous - 1 | 2 | 3 - Next
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
JLD/Finnish Gold
Paladin/G★P
psenough
Felidae/Reflex
Knut Clausen/SHAPE/F..
Guests online: 139
Top Demos
1 Next Level  (9.7)
2 13:37  (9.7)
3 Mojo  (9.7)
4 Coma Light 13  (9.6)
5 Edge of Disgrace  (9.6)
6 What Is The Matrix 2  (9.6)
7 The Demo Coder  (9.6)
8 Uncensored  (9.6)
9 Comaland 100%  (9.6)
10 Wonderland XIV  (9.6)
Top onefile Demos
1 No Listen  (9.6)
2 Layers  (9.6)
3 Cubic Dream  (9.6)
4 Party Elk 2  (9.6)
5 Copper Booze  (9.6)
6 X-Mas Demo 2024  (9.5)
7 Dawnfall V1.1  (9.5)
8 Rainbow Connection  (9.5)
9 Onscreen 5k  (9.5)
10 Morph  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Censor Design  (9.3)
5 Triad  (9.3)
Top Crackers
1 Mr. Z  (9.9)
2 Antitrack  (9.8)
3 OTD  (9.8)
4 Fungus  (9.8)
5 S!R  (9.8)

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