Skip to main content
Home Forums Apple IIgs Text mode doubled
Apple IIgs Text mode doubled
· Troubleshooting · 37 posts · May 25, 2015 — Jun 8, 2015 View original thread ↗
Hello,

I have an issue with an Apple IIgs. The text is kind of doubled in Text mode. When I boot a system disk, in graphic mode, everything is fine. I have some experience in electronics and can also solder. I would like to repair it actually.

Just to make sure, I tried the monitor on another Apple IIgs and it's fine.

You can take a look at the pictures.

IMG_1363.JPG

IMG_1364.JPG

IMG_1365.JPG

Any idea?

Thank you

Pitou!

My guess would be something with the character ROM?

I thought about this. Can you tell me which one is it?

Just so you know, I also replaced the VGC chip and it made no difference.

Thanks!!

Pitou

I'd remove the socketed chips, clean contacts and reseat first

What kind of monitor is this? Have you tried it on a Composite Monitor? If not, check your VGA Settings. 

Looks like the AppleColor RGB monitor the IIgs is paired with normally. There is no character ROM on a IIgs, it is stored in the main ROM. Have you performed a self-test? Hold down Open-Apple and Option on power on, or press Open-Apple, Option, Reset. If there is a fault in the ROM, it should fail the checksum test.

I tried reseating the chips and no luck. I'm not sure how to clean the sockets honestly.

The problem is also present on the composite output.

The monitor is an Apple RGB monitor model A2M6014

I tried the Self test and it seems to stop on that screen. Please note that all characters text in the self test are also doubled or shifted

IMG_1366.JPG

I can make out "System Good" on that image, but you say it freezes at that point? Interesting.

What cards are you running on the IIgs? Have you run it without cards?

If it were a Mac SE/30, I'd say part of your video circuit has lost a couple traces.

If it were a Mac SE/30, I'd say part of your video circuit has lost a couple traces.
Something like this would be my guess as well. I don't know what the IIGS video circuitry looks like, but that looks an awful lot like the most significant of the character ROM row-select address lines has come disconnected and it's just cycling through the top half of the character a second time instead of continuing on to the bottom half.

It actually looks like what my vision does to me, from time to time. lol.

But I digress....

double data = missing upper address bit/select signal on character ROM. 

Its weird that only text is having a problem. That and the ROM checksum is passing. The only other chip I can suspect having a problem is the MEGA II which contains the character generator ROMs and creates onscreen text. That chip is soldered onto the board and is custom logic, so a board swap may be in order.

Well it's hard to tell if it's the ROM chip or the Mega II. I also played around with the scope and followed the schematics, but I'm not able to pinpoint the root cause.

Here they are if you are curious :)

Schematic Diagram of the Apple IIgs.pdf

I can desolder the Mega II if I find another one.

I'll try look further...

Thanks for your help and suggestions!

Pitou!

I wonder if this is for all the characters in the ROM or just a segment of them?

Boot it up without the disk drives attached so it goes into AppleSoft Basic.

Then type the following:

for x = 0 to 255 : print chr$ ( x ) ; : next x 

Then press 'ENTER' and watch the entire character set print out. From this there you can determine if the whole ROM is affected or  part of it.

Another test in case some control characters goof this up is to poke each character on the screen. I'm assuming that the IIgs Screen memory map is in the same place as the older Apples, so this should work:

for x = 0 to 255 : poke 1024 + x , x : next x 

This will print out the ROM's characters across the screen, if 1024 is start of the text screen location.

Either way, this will show if addressing problem is in part of the ROM or all of it? If it is in all of it, I believe it would be an easier fix as it would be easier to locate as set amount of address lines affected.

@Elfen, very good suggestion, I would try that for sure.

However, with no drive connected , it stays on "Check status device" and a kind of bar run from left to right and right to left, like in the 3rd picture on 1st post.

Actually I don't know how to drop into AppleSoft BASIC.

Any clue?

Thx!

Pitou!

ctrl-reset.

@Gorgonops, ok thanks, will try that.

I have another question about the ROM chip. it's a 128kx8, so it needs 17 lines of addresses in order to access the entire memory of the rom. The 65SC816 processor seems to be a 24-bit address bus. So not a problem. However, by looking at schematic, only A0-A15 seems to be defined/implemented.

Also, if you look at page 9 of the PDF, the ROM chip, pin 22 (A16) connects to a resistor and goes to ROM output Enable?

Can someone confirm or explain the behavior here?

Thank you.

Pitou!

According to the Apple IIgs Technical Reference, the character ROM is stored in the Mega II chip, not the main ROM. The Mega II is also responsible for generating text screens on the IIgs.

@Gorgonops, ok thanks, will try that.

I have another question about the ROM chip. it's a 128kx8, so it needs 17 lines of addresses in order to access the entire memory of the rom. The 65SC816 processor seems to be a 24-bit address bus. So not a problem. However, by looking at schematic, only A0-A15 seems to be defined/implemented.

Also, if you look at page 9 of the PDF, the ROM chip, pin 22 (A16) connects to a resistor and goes to ROM output Enable?

Can someone confirm or explain the behavior here?

Thank you.

Pitou!
I believe that it is only using 64K of ROM instead of 128K. It can use it as bank switching use 64K for the Apple II+/e/c emulation, and the other 64K for IIgs.

Check if that line goes elsewhere, I bet it will.

According to the Apple IIgs Technical Reference, the character ROM is stored in the Mega II chip, not the main ROM. The Mega II is also responsible for generating text screens on the IIgs.
That what I read on some webpages searching for this info.

I'm hoping that my test will say if some address lines going to it might be rotted and need to be rerouted. From the looks of it, the low 4 bit addresses are OK, the high 4 bits might be bad. Time to pull out the multimeter!

I'm not able to get into Applesoft BASIC using ctrl-reset. I also tried running BASIC from a system disk.

See this video.

test.zip

Any idea?

Pitou!

This is something totally different. ProDOS-IIgs works with the windows and other things and all. So there is nothing wrong with the system at all.

This is a software issue, looks like your Apple BASIC File has gone corrupt.

I had to review again a few times the video as the first few seconds as comes up scrambled on the old OSX 10.4 QuickTime. Now I see the start up screen come up scrambled but not rest of the video where it boots. VLC made me see the beginning.

This is an interesting error.

I think your Apple ROM is either Bad or a couple of pins rotted, not necessarily the Mega II Chip. It would be also why the BASIC from IIgs desktop also fails.

Like I said before, time to get that multi-meter and start checking address lines on the chips. Got schematics?

I already checked all pins with an oscilloscope. Continuity is good. Signals seem to be on all pins except for 1,2,4 and 6 if I remember correctly. Again, I'm not sure what to expect on these lines.

As for schematics, yes I have them, I even did post them on post #12 of this thread if you want to take a look.

I tried with an emulator to get familiar on how the Apple IIgs boots/works/behaves. It's definitely different from the real machine I got.

I'll work on the rom again and double check everything. I might order another ROM to test.

Thank you.

Pitou!

I already checked all pins with an oscilloscope. Continuity is good. Signals seem to be on all pins except for 1,2,4 and 6 if I remember correctly. Again, I'm not sure what to expect on these lines.

As for schematics, yes I have them, I even did post them on post #12 of this thread if you want to take a look.
I'm looking at the schematics, and pins 2 (MD7), 4 (MD5), and 6 (MD3) on the Mega II Chip are MD lines (memory data?). They head to the MDBus and to UI5, which is a 74HCT245 on pins 18,16,14 respectively. These pins are labeled "B".

From the 7HCT245, it goes to, well, that part is snipped. from the image. But the 245 looks like a buffer chip, so the lines goes across from a B-side to the A-side and is bi-directional.

From the B-Side pins 18, 16, and 14 goes to A-Side pins 2, 4, and 6 respectively.

If the A-side of the chip are address lines, then this area is likely to be the problem:

Lines from the Mega II to the 74HCT254

The 74HCT245 itself

The A-side of the 74HCT245 address (?) lines.

The address/data bus to the MegaII VLSI is dead on, otherwise you wouldnt be able to generate any legible characters. 

The chip very well could be bad. But it would be odd, but not out of the question. Also that chip has a speaker output for some weird reason, even though the IIgs has its own audio hardware.

Go figure.  

The Ensoniq 5503DOC does not produce "classic" 8-bit Apple II sound. The clicker speaker logic is located in the Mega II. This is why when you use a stereo sound card, you don't get 8-bit Apple software's beeps and boops on the output since those cards connect directly to the DOCs output.

@Elfen, oh I'm very sorry, I was talking about pins on the ROM, not the Mega II.

Sorry again for the confusion.

It's OK. Pin 1 on most ROMs (up to 64K) is either ground or +5v, and about 24 pins. 128K, 256K and 512K ROMs Pin 1 is usually an address pin, depending the ROM size. They are to up 28 pins in size. Usually.

I'll check the schematics when I get home. Right now I'm at the doc office with my travelling Mac and do not have the schematics with me.

I'm not able to get into Applesoft BASIC using ctrl-reset. I also tried running BASIC from a system disk.
The "ctrl-reset" is what you use if you're booting with no bootable media in any drive. Are you saying that you're doing crtl-reset (power key on an ADB keyboard) while looking at the moving boot-bars and it's not dropping you to the prompt? That's... unusual.

Anyway, given the evidence here I'm totally going to venture that your Mega II chip is bad. The close-up photo of your display shows that the top four rows of pixels in each character are being doubled into the bottom four lines of each 8 pixel tall character cell. The text display on an Apple II (and most other machines with "character-based" display modes) is generated with the aid of a counter which is connected to some of the pins on the character generator ROM; for instance, in the case of a "real" Apple II with discrete components a 3 bit "row counter" is connected to A1-A3 of the 2513 character generator while the state of remaining lines is generated by the value fetched from the video buffer RAM. Meanwhile, the output lines from the character generator are connected to a parallel-in->serial-out shift register which is connected to the pixel clock. The dance that happens when generating a line of text characters on the apple II thus looks like this:

1: A "Video Address Generator" circuit walks through 960 memory locations in 24 blocks of 40 linear addresses. (or 1920 cells in 80 column mode, 24x80.) Each block of 40/80 addresses is repeated 8 times (controlled by the 3 bit row counter) before moving to the next block of 40/80.

2: A byte is fetched from the RAM location pointed at by the VAG, and is fed into the high address pins of the character generator, which the low bytes are slaved to the row counter. The output lines of the CG (which is of course just a ROM) produce one line of bits making up the character and shoves them into the shift register.

3: The bits are clocked out as individual pixels. When enough pixels for the character have gone out the VAG updates and the next byte is fetched.

4: When the end of the line of pixels is reached the row counter is incremented and the VAG counts back to the start of the line addresses; once the horizontal blanking interval is over and the electron beam is back at the beginning of the row the same block of characters is run through again, this time displaying the pixels for the next line down.

5: When the row counter rolls over the VAG moves to the next line, allowing the next line of characters to be painted.

6: Wash, rinse, repeat, until all 24 lines have been walked through; reset the VAG and row counter, enter the vertical blanking period, and wait for the next frame.

I think your MEGA II is fouled up so the 3rd line on the three bit row counter is stuck. (Or, perhaps more likely, the address line on the character generator ROM is.) The reason I believe it's inside the Mega II and not elsewhere is because there doesn't appear to be a dedicated "character ROM" address/data bus on the Mega II, which means that either the character ROM *is* internal to it or the data is fetched from the general purpose ROM over the regular bus, and if *that* had a stuck bit the machine almost certainly wouldn't work at all. Meanwhile the graphics modes work fine because in all graphics modes other than the low-res "blocky" 40x48/80x48 ones don't rely on a row counter or otherwise replaying the same block of addresses over and over again.

(Part of me wonders if the "Low Res" graphics are also corrupted, since they intrinsically also involve cutting the character cell in half horizontally; this would point to a different root-cause failure in the Mega II, but likewise almost certainly unfixable.)

I think you got it spot on, Gorgonops. With a stuck bit counter, it would not access the ROM properly.

mp.ls