From: Niklas Ramsberg (niklas.ramsberg_at_swipnet.se)
Date: 2002-08-21 22:03:32
Perhaps this info about the MMU Mode configuration register ($d505) from Mapping the Commodore 128 can shed some light on the subject? I don't yet understand more than half of the stuff in that book, but the text says something about the GAME and EXROM pins on the expansion port (read: internal or external function ROM) being used as output lines. Could that be of any help? Bits 4-5. These bits are connected, respectively, to the MMU pins labeled GAME and EXROM, which in the 128 are con- nected to the memory expansion port lines with the same names. These MMU lines are bidirectional, meaning that they can be both inputs and outputs. The 128 uses the lines only as inputs, to read the state of the memory expansion port lines (pins 8 and 9 of the port). Writing to one of the bits sets the corresponding line's output level. Writing a %0 to the bit pulls the line to a low (0 volts) state, while writing a %1 to the bit allows the line to go to a high (+5volts) state. When used for input, an external device connected to the line can pull the Iine low if its output level is set high, but cannot bring the line high if its output level is set low, so writing a %0 to one of these bits effectively blocks the use of the line as an input. The Kernal RESET routine ($E000) initializes both of these bits to %1 so that they can be used to read the state of the port lines. In 128 ROM, these bits are read during the reset se- quence by the routine which checks for the presence of a Commodore 64 ROM cartridge ($E242). Almost all Commo- dore 64 cartridges ground one or both of these port lines, so the 128 will assume that a 64 cartridge is present if either of these bits is found to be %0, and will respond by switching to Commodore 64 mode. While the system is in 128 mode, you can use these bits to control the corresponding expansion port pins as either in- puts or outputs. Keep in mind, however, that the pins must be high during reset or the system will enter Commodore 64 mode. /Niklas Message was sent through the cbm-hackers mailing list
Archive generated by hypermail 2.1.4.