Not a ROM problem. The VRAM IC for bit 0 seems to be broken, always returns 0.
Thanks for the input Grauw, would you like to explain how you see that?
Also, I noticed that the old VRAM chips were MCM4116BP15, and the new ones are MCM4116BC15. Any functional difference between the two revisions?
But it seems like about half of the characters are shifted one slot up (MSX -> LRX, Ok -> Lj, etc) when output to the screen.
These are the characters with odd ASCII codes where the number’s bit 0 is 1. Due to the broken IC it always reads a 0 for that bit the and half of the characters will be 1 lower. Hit Bit logo is a similar symptom in a pattern mode. Also, the vertical lines in Yie Ar Kung-Fu.
There are 8 VRAM chips, accessed in parallel with one responsible for each bit, so if one is broken and always returns 0, this is what happens.
OK, good thinking! I checked an ASCII table now, and you're right about the 0 bit.
However, characters seem to be exchanged when they're typed from the keyboard as well. For instance typing "list" (which becomes "lhrt" on screen) gives a syntax error in the basic prompt, which means the right command isn't passed to the interpreter. This hasn't got anything to do with the VRAM, does it?
NAME TABLE for text is also stored on the VRAM. If a bit is stuck at the name table area, the wrong tile will be presented. Each tile contains one of the 256 possible characters for the character generator on text mode.
OK, excellent! Thanks for sharing all your knowledge, guys. I'm going to look up NAME TABLE in the Red Book now.
I guess a single faulty VRAM chip might be the problem here, then?
Replace VRAM chips with known good ones until VRAM works correct again. Here, starting with IC3. Replace one by one & test in between.
When VRAM works again, put old VRAM IC's back in (again, one by one & test in between) to determine which were broken & which are still good.
Keep track which are broken / good / unknown (or toss faulty ones immediately), and store such that good ones aren't damaged (in anti-static foam for example). After all, you may need some more spares in the future...
NAME table is the area of the VRAM where the actual text data is stored. It means text.
You have name table store the text to be displayed and pattern table store pixel data the VDP uses for storing the font shapes.
So, basic reads the input back from VRAM?
Yes. Because it’s a full screen editor, otherwise it’d need to mirror all those 3200 bytes in RAM, that’d be wasteful.