] Hi folks!
]
] Last weekend something really strange happened! I tried a disk got from
] someone with the game "Heroes of the Lance" on it. It was on the disk as a
] cracked ROM. After some intro-shit the loader started to load the ROM in the
] memory-mapper. But after loading it crashed. No big deal you'll think. But
] then! THen I pushed the reset-button of the MSX and the screen became black.
] Normally, the screen would turn blue now and the MSX(2)-logo would appear. But
] NO! NOthing happened! THe screen stayed as black as it could be! After pushing
] the power button twice (computer off and back on) the MSX booted as normal....
This strange behaviour could very well have been caused by a bad program
sending an illegal value to i/o port 0abh, which is the mode port of the PPI.
The following text, which I've translated into English from the "MSX rom-bios
handboek" (which is the Dutch edition of the "MSX red-book"), could very well
explain the behaviour as observed by Manuel:
--- Start of translation ---
PPI "mode" port (I/O port 0ABh)
7 6 5 4 3 2 1 0
+-----+-----------+-----+-----+-----+-----+-----+
| 1 | A and C | A | C | B&C | B | C |
| | mode | dir.| dir.| mode| dir.| dir.|
+-----+-----------+-----+-----+-----+-----+-----+
This port controls the functioning of the PPI. The MSX-Hardware was designed
to work in one and only one configuration; NEVER change the contents of this
port.
The information below is only provided for sake of completeness.
Bit 7 must be set to 1 to change the "mode" in which the PPI functions. When
this bit
is set to 0, a bit of port C will be set or reset.
The "A&C mode"-bits determine the functioning of port A (primary slot
register) and
the 4 highest bits of port C (keyboard click, caps led, cass. out, cass.
engine):
00 = normal behaviour (MSX), 01 = strobe mode, 10 = bidirectional traffic.
The "A direction"-bit determines the direction of port A:
0 is output (MSX), 1 is input.
--- End of translation ---
As might be clear from the text above, i/o port ABh controls both mode and
direction
of the bussed connected to the PPI ports (keyboard, primary slot register,
etc.). In short,
when an illegal value is written to this i/o port, you can cause the MSX to be
short-circuited!
This might very well have happened with the program executed by Manuel. And it
might very well
be the case that the reset-button does not reset the mode or direction of the
PPI ports, though I'm not sure about this. However, if the latter is the case,
a hardware reset does not help and only a power-off/power-on will solve the
problem (if the msx is still functioning...).
Best regards,
Alex Wulms
--
Alex Wulms MSX of anders NIX
Linux 4 ever
http://www.inter.nl.net/users/A.P.Wulms
****
MSX Mailinglist. To unsubscribe, send an email to [EMAIL PROTECTED] and put
in the body (not subject) "unsubscribe msx [EMAIL PROTECTED]" (without the
quotes :-) Problems? contact [EMAIL PROTECTED] (www.stack.nl/~wiebe/mailinglist/)
****