It is currently Wed Nov 21, 2018 12:05 pm

All times are UTC + 1 hour [ DST ]




Post new topic Reply to topic  [ 5 posts ] 
Author Message
PostPosted: Sun Aug 05, 2007 11:55 am 
Offline

Joined: Sun Jul 29, 2007 6:16 am
Posts: 17
Hi there,

Can anyone tell if there is a way to boot a C128 into 128 mode while the MMC64 is plugged in ?
If I turn the BIOS off it will still to boot into the C64 mode.

Thanks

Mark


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Aug 10, 2007 10:58 am 
Offline
User avatar

Joined: Sun Jun 03, 2007 6:43 am
Posts: 130
Location: Rethan Manor, Balmora, Hlaalu District
No. With the MMC64 cartridge directly plugged into the cartridge port, it will pull /EXROM low, which automatically makes the C128 boot into 64 mode. Contrary to some belief, this doesn't happen in hardware level, though. The C128 reset routine specifically checks the ROM indication input lines in the expansion port and jumps to GO64 if a signal is present.

As a side note, to anyone who is interested, some further information: on Commodore 128 the /GAME and /EXROM lines are connected to the 8722 and their state can be read at any time from bits 4 and 5, respectively, of the Mode Configuration Register (MMUMCR) at address $D505, in the I/O area ofcoz. :D

Nevertheless, the reset behavior cannot be changed, because it is done by KERNAL and the code is in the ROM. Well, the soft reset vector is checked first, but there is no way to insert a hook because you will always end up in 64 mode after power-up. So, the short answer without extra hardware is in fact, no.

However, it is possible to add something that will allow resetting into 128 mode, but it involves making a bridge to connect the cart. I am lucky enough to have gotten an expansion port divider that has slots for 4 carts and an individual switch for each of them! I plug in MMC64 or other C64 cart, power on the C128 with its switch off and then turn the switch!

This makes the cartridge invisible at reset time, so thine computer will not enter 64 mode! Enabling it later appears safe and reliable, and at that point pulling /EXROM low matters not (until you reset again). From here on, MMC64 behaves like Retro Replay or any normal C64 cart: the 8 kilobytes of ROM can be seen at $8000-$9FFF in banks 8-11.

Unlike the RR, which was designed to allow resetting into 128 mode, MMC64 has its BIOS enabled by default. You can enter the monitor and start hacking:

D88009

The registers are available in in the I/O block at their regular address:

>FDF10

Disabling the cart (by setting bit 7 of $DF11) had no effect in 128 mode. I am unfamiliar with RR-Net and I couldn't get it to show, however. Also, the WarpCopy server crashed immediately when I started it from the memory card (in 64 mode). :lol:

I hope this information is useful to someone. :)

PS. When I was testing this, I found that the value of 6 that you get from the status register ($DF12) with a card in, changes to $1E when you take the card out, ie. additionally to the card indication bit, the write enabled bit also toggles depending on whether a card in inserted.

_________________
Commodore 128 Programmer
City of Kouvola, Finland

http://mydarkgothvampiricplace.endofthe ... Commodore/


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Fri Aug 10, 2007 2:33 pm 
Offline

Joined: Thu Jan 12, 2006 10:10 am
Posts: 177
FMan wrote:
Nevertheless, the reset behavior cannot be changed, because it is done by KERNAL and the code is in the ROM.

What happened to ROM replacements? :)

IIRC Z80 boot code has 4 KB of ROM space and it's not fully used.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Sat Aug 11, 2007 5:20 am 
Offline

Joined: Sun Jul 29, 2007 6:16 am
Posts: 17
tnt/beyond force wrote:
FMan wrote:
Nevertheless, the reset behavior cannot be changed, because it is done by KERNAL and the code is in the ROM.

What happened to ROM replacements? :)



So there are maybe 2 ways to get access to the RR-NEt from a C128 when it's on an MMC64.

1) Hack the kernal rom so it doesn;t do anything if it see's /EXROM pulled low.

2) Redo the BIOS of the MMC64 so it doesn;t pull /EXROM low ... or would this require the CPLD to be reprogrammed ? (I'm thinking it would)


Another question as well .. is the EEPROM on the MMC64 64kilobytes or 64kilobits ?

Thanks

Mark


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 20, 2007 8:51 pm 
Offline
User avatar

Joined: Sun Jun 03, 2007 6:43 am
Posts: 130
Location: Rethan Manor, Balmora, Hlaalu District
tnt/beyond force wrote:
What happened to ROM replacements? :)

Nothing happened to them. They were never even concidered. :lol: Well, actually I did think about patching the KERNAL but I chose to leave it out from my reply as to not over-complicate the matter.

strandedinnz wrote:
So there are maybe 2 ways to get access to the RR-NEt from a C128 when it's on an MMC64.

Unfortunately patching the BIOS wouldn't help, because on the cart's side it's done in the hardware. Patching the KERNAL is a bit far-fetched option IMHO, and the easist hw-mod to accomplish this would be to cut the MMU pin that reads /EXROM from the expansion port...

strandedinnz wrote:
Another question as well .. is the EEPROM on the MMC64 64kilobytes or 64kilobits ?Mark

64 kilobits. Or, 8 kilobytes. :?

_________________
Commodore 128 Programmer
City of Kouvola, Finland

http://mydarkgothvampiricplace.endofthe ... Commodore/


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 5 posts ] 

All times are UTC + 1 hour [ DST ]


Who is online

Users browsing this forum: No registered users and 3 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group