] 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/)
****

Reply via email to