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 > Cartridge - C64 Game System, System 3 Memory Management
2016-08-18 16:37
TWW

Registered: Jul 2009
Posts: 545
Cartridge - C64 Game System, System 3 Memory Management

Does these cartridges allow memory management in terms of normal ROM/RAM/IO? I.E. Can I use the RAM under $a000-$bfff, $d000-$dfff and $e000-$efff?

Reason I ask i coz I made a frame for this cartridge in CRT format and it loads and executes fine. However I am only able to access ROM and IO.

http://vice-emu.sourceforge.net/vice_15.html#SEC319
 
... 20 posts hidden. Click here to view all posts....
 
2016-08-19 14:13
TWW

Registered: Jul 2009
Posts: 545
Quote: Quoting TWW
Yes, strangely enough I initially did set the DDR for the MPU. However when I did, the cartridge ROM would not appear at all.

Maybe you just set the DDR before $01? The correct sequence is:
LDA #$37
STA $01
LDA #$2F
STA $00

When doing cartridge setup you really should have thoroughly examined the kernal startup code first so you know what's originally there.


Well to be fair it writes #$e7 ;-)

Not sure why it would write to the port prior to setting the DDR but I guess it's like aligning the valves before opening the manifoil (metafor intended).

And yes I see no that I was too caught up in the GAME/EXROM lines to actually see that there is no memory configuration allowing what I wanted (All RAM + CART @ $8000 + IO).

Nevertheless this only means (practically) that one can not access the RAM under LO/HIROM or IO from CARTROM.

Thanks for the guidance to all + other input.
2016-08-19 14:22
tlr

Registered: Sep 2003
Posts: 1790
Quoting TWW
Well to be fair it writes #$e7 ;-)

True, although the effect is the same.
Quoting TWW
Not sure why it would write to the port prior to setting the DDR but I guess it's like aligning the valves before opening the manifoil (metafor intended).

Yes, something like that.

The way it works is that upon reset all bits in $00 are set to inputs. The pullups inside the 6502 will then keep the three lower bits effectively high (=$x7). When you set the correct DDR value the contents of $01 will start to affect those bits. If they haven't been set to the desired configuration, boom!
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
MWR/Visdom
Guests online: 91
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 Dawnfall V1.1  (9.5)
7 Rainbow Connection  (9.5)
8 Onscreen 5k  (9.5)
9 Morph  (9.5)
10 Libertongo  (9.5)
Top Groups
1 Performers  (9.3)
2 Booze Design  (9.3)
3 Oxyron  (9.3)
4 Triad  (9.3)
5 Censor Design  (9.3)
Top Coders
1 Axis  (9.8)
2 Graham  (9.8)
3 Lft  (9.8)
4 Crossbow  (9.8)
5 HCL  (9.8)

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