Reply 20 of 48, by vetz
- Rank
- l33t
Geiger9. I've been following this thread, but this is the first time it's clear that this is the second Zenith 386SX with the exact same issue? Are they both exact in terms of motherboard revision as well?
Geiger9. I've been following this thread, but this is the first time it's clear that this is the second Zenith 386SX with the exact same issue? Are they both exact in terms of motherboard revision as well?
vetz wrote on 2024-08-28, 08:59:Geiger9. I've been following this thread, but this is the first time it's clear that this is the second Zenith 386SX with the exact same issue? Are they both exact in terms of motherboard revision as well?
I feel like an idiot because that SURE was a key piece of information that this problem was replicated in another machine by doing the same thing. I was down in the basement last night racking my brains and I thought that I would go grab another riser card from my other Z386. Then it hit me, "OH WAIT. This thing had the same problem back in 2023 and I shelved it to move on to other projects."
As far as the motherboard revision, yes, this is the exact same mobo. Up in the top right corner both motherboards have 3557V4 silkscreened on them.
I went and put a POST card into this system. I was hesitant to do so before because I knew that POST codes were dependant on the BIOS and this was not something common like AMI, Phoenix, or IBM. Well I did it anyway and the POST card gave me 3A on the left and 39 on the right. I asked Google's AI, Gemini about this. it said 3A was related to memory. I asked it was specific to a BIOS and it said yes but it is common that this code is related to RAM. Next I asked about error 39. It said it was related to BIOS or the BIOS's interaction with other hardware. Again I asked was it common and it said yes. The code on the left is last successful test and the code on the right is where the problem occurred as far as I know. So this means the RAM test was successful but something is going wrong in the BIOS step. Well when I pair these facts up with the flowchart in the Zenith service manual
I THINK the information from the flow chart is lining up with the AI told me. It tested the RAM fine but it is running into a problem copying the BIOS into shadow RAM.
Despite the fact the RAM in this system worked fine a month ago, I am going to take it out and put it into a known working system. If the system can't copy the BIOS ROM into the shadow RAM this is the only thing I can think to test now. Is there anything I could be doing to resolve this sort of error?
Edit update:
I installed the four sticks of RAM that were in my Zenith into a known working 386 and that other 386 boots just fine and passes the memory test. I'm feeling confident to rule out a problem with the RAM sticks themselves.
I think my next step will be to put the RAM sticks back in the Zenith and then bust out my newly acquired (and first ever) oscilloscope to see if I can see activity on the data and address lines of the RAM slots.
geiger9 wrote on 2024-08-28, 19:48:I asked Google's AI, Gemini about this
Gemini is great at suggesting putting glue on a pizza. LLM AI is garbage. Its not knowledge, its statistical likelihood of next word given previous words.
geiger9 wrote on 2024-08-28, 19:48:. it said 3A was related to memory. I asked it was specific to a BIOS and it said yes but it is common that this code is related to RAM.
POST codes arent interchangeable and there is no such thing as common codes.
At this point I would say that this is Google telling you to eat glue because no other popular bios has a 3A code related to memory so its very random https://mrbios.com/techsupport/award/postcodes.htm
BUT in this case it is correct, which makes me think you lead it to this answer by asking something like "is the code 3A related to memory errors". Its very easy to make LLMs say wrong things by merely suggesting an answer. It just computes how likely the thing you asked would sound correct, not if it is correct.
Zenith "Monitor" is their own thing. All I could find is this article https://vtda.org/pubs/REMark/1989/remark-volu … ssue10-1989.pdf on page 10 of official Zenith magazine 😮
But since it also outputs Post codes disassembling might be much easier. Quick glance in IDA shows me its doing standard
out 80h, al
first code is 0, then 36-37 3B-3D
then it initializes chipset
then it starts from post code 1
checks if there is video bios at 0C000h, but I cant find the spot where it executes the bios
-if no vga bios then POST:2 and tries to initialize MDA (3B8h 3D8h 3D9h 3D4h)?
POST:3 clears screen buffer
POST:5 7 maybe copies BIOS to ram?
POST:9 decides if to go into protected mode ?
POST:B possibility of displaying "+++ ERROR: System Control Processor" "--- Fatal Error: Cannot Continue! ---" and then pc speaker beeping while computer is frozen
POST:C keyboard init?
POST:D checks Keyboard controller to see if its a Hot reset/switching from protected?
0Eh coprocessor
F reset floppy DMA
10 11 setting up some registers from register tables, too lazy to check what
12 13 again something with graphics (C000h bios signature, 3D8h 3D4h 3B8h 3B4h) I think its either manually initializing CRTC or assuming VGA
- POST 15 saving status of graphics to CMOS?
16 "+++ ERROR: CPU failure! +++"
17 "ROM checksum failure! +++" ?
18 I dont know, something about bios modules C000h C800h and checking signatures
19-1f dont know, too long didnt read
20h cache check? "Cache circuit card failure! +++"
23 Cmos readout and check "CMOS Memory Failure! +++" "Please replace the back-up battery! +++" "Bad configuration information found in "
24 maybe interrupts?
25 26 2x same thing, idk what exactly
.... too boring
34 something ending with int 15h ah=0E3h ? not in any interrupt lists
35 something ending with int 15h ax=e502h? not in any interrupt lists
funny thing is I couldnt find either 39 or 3A in there for a long time, finally had to resort to manually disassembling what looked like data 😐 and there it is:
39 is doing a bunch of things I dont understand without harder thinking, but also I think checks CMOS checksum (adds all cmos values to each other and compares). It might also be copying CMOS to ram
3Ah is counting available ram and updating CMOS with that value
seg000:015D mov word ptr es:loc_0, 5555h
seg000:0164 mov word ptr es:loc_2, 0FFFFh
seg000:016B cmp word ptr es:loc_0, 5555h
3B checks those results and can display 'Fatal RAM Installation Error +++' "+++ ERROR: " and possibly "--- Fatal Error: Cannot Continue! ---"
sure sounds like you also changed ram, or changing graphic card cracked connections under ram sockets
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor
rasz_pl wrote on 2024-08-29, 01:26:Gemini is great at suggesting putting glue on a pizza. LLM AI is garbage. Its not knowledge, its statistical likelihood of next […]
geiger9 wrote on 2024-08-28, 19:48:I asked Google's AI, Gemini about this
Gemini is great at suggesting putting glue on a pizza. LLM AI is garbage. Its not knowledge, its statistical likelihood of next word given previous words.
geiger9 wrote on 2024-08-28, 19:48:. it said 3A was related to memory. I asked it was specific to a BIOS and it said yes but it is common that this code is related to RAM.
POST codes arent interchangeable and there is no such thing as common codes.
At this point I would say that this is Google telling you to eat glue because no other popular bios has a 3A code related to memory so its very random https://mrbios.com/techsupport/award/postcodes.htm
BUT in this case it is correct, which makes me think you lead it to this answer by asking something like "is the code 3A related to memory errors". Its very easy to make LLMs say wrong things by merely suggesting an answer. It just computes how likely the thing you asked would sound correct, not if it is correct.
I knew before going to AI that POST codes would be specific to a BIOS. I was so desperate for answers though that if the AI told me otherwise, I'd listen. I asked it first "do you know about computer POST diagnostic cards" and then "what would the POST code 3A mean?" and that's when it came back with "it's a potential RAM issue". I guess I need to stay away from asking AI questions about computers.
wrote:first code is 0, then 36-37 3B-3D then it initializes chipset then it starts from post code 1 checks if there is video bios at […]
first code is 0, then 36-37 3B-3D
then it initializes chipset
then it starts from post code 1
checks if there is video bios at 0C000h, but I cant find the spot where it executes the bios
-if no vga bios then POST:2 and tries to initialize MDA (3B8h 3D8h 3D9h 3D4h)?
Hoping you can clarify - just because it initializes the video doesn't necessarily mean it will display something on the screen right? When the machine beeps at me like I described in my first post, I get no video.
wrote:POST:3 clears screen buffer POST:5 7 maybe copies BIOS to ram? POST:9 decides if to go into protected mode ? POST:B possibilit […]
POST:3 clears screen buffer
POST:5 7 maybe copies BIOS to ram?
POST:9 decides if to go into protected mode ?
POST:B possibility of displaying "+++ ERROR: System Control Processor" "--- Fatal Error: Cannot Continue! ---" and then pc speaker beeping while computer is frozen
POST:C keyboard init?
POST:D checks Keyboard controller to see if its a Hot reset/switching from protected?
0Eh coprocessor
F reset floppy DMA
10 11 setting up some registers from register tables, too lazy to check what
12 13 again something with graphics (C000h bios signature, 3D8h 3D4h 3B8h 3B4h) I think its either manually initializing CRTC or assuming VGA
- POST 15 saving status of graphics to CMOS?16 "+++ ERROR: CPU failure! +++"
17 "ROM checksum failure! +++" ?
18 I dont know, something about bios modules C000h C800h and checking signatures
19-1f dont know, too long didnt read
20h cache check? "Cache circuit card failure! +++"
23 Cmos readout and check "CMOS Memory Failure! +++" "Please replace the back-up battery! +++" "Bad configuration information found in "
24 maybe interrupts?
25 26 2x same thing, idk what exactly
.... too boring
34 something ending with int 15h ah=0E3h ? not in any interrupt lists
35 something ending with int 15h ax=e502h? not in any interrupt listsfunny thing is I couldnt find either 39 or 3A in there for a long time, finally had to resort to manually disassembling what looked like data 😐 and there it is:
39 is doing a bunch of things I dont understand without harder thinking, but also I think checks CMOS checksum (adds all cmos values to each other and compares). It might also be copying CMOS to ram
3Ah is counting available ram and updating CMOS with that valueseg000:015D mov word ptr es:loc_0, 5555h
seg000:0164 mov word ptr es:loc_2, 0FFFFh
seg000:016B cmp word ptr es:loc_0, 5555h
3B checks those results and can display 'Fatal RAM Installation Error +++' "+++ ERROR: " and possibly "--- Fatal Error: Cannot Continue! ---"
sure sounds like you also changed ram, or changing graphic card cracked connections under ram sockets
Thank you for doing that - this is so helpful!
If I'm understanding it right, it seems like there could be a couple of error messages that could be displayed on the screen before it gets to 39 and 3A. Is it strange that nothing is displayed on my screen?
Regarding the mechanical issue like cracked connections - I suppose it is possible but seems rather suspicious that this exact problem happened in another Z386SX and it happened after the video card was moved around. This machine has a riser card and the video card is plugged into that. The RAM sockets are located on the other end of the motherboard.
I have changed the RAM a few times yeah - just to rule out any problems with the modules themselves but I have ruled that out.
wrote:39 is doing a bunch of things I dont understand without harder thinking, but also I think checks CMOS checksum (adds all cmos values to each other and compares). It might also be copying CMOS to ram
CMOS huh? I don't suppose there is something wrong with my modified Dallas DS1287? I'm going to put a modern replacement in there just to rule out that possibility.
Someone on Facebook suggested to try connecting a CGA card to see if that would make a difference. I went and did this. I powered it up and the POST code changed to 05 on the left and 07 on the right. Wow - progress I thought! Then I remembered earlier how I posted that there was a time component to this error. The diagnostic LEDs on the riser would be different if I left the machine alone for a while (exact time to be determined). It was about ....15-16 hours since I last powered this machine on. I shut off the power, then powered it back on. Now the POST codes are back to 3A and 39 again. How strange is that? How does power down time relate to this problem?
Cmos without all power?
Have you ever tried the other PSU?
Retro PC warning: The things you own end up owning you.
Warning: I think some? POST codes I wrote down yesterday might be off by 1. /excuses on It was late and I was watching something on other monitor when writing it 😜
geiger9 wrote on 2024-08-29, 12:47:I knew before going to AI that POST codes would be specific to a BIOS. I was so desperate for answers though that if the AI told me otherwise, I'd listen. I asked it first "do you know about computer POST diagnostic cards" and then "what would the POST code 3A mean?" and that's when it came back with "it's a potential RAM issue". I guess I need to stay away from asking AI questions about computers.
This is a correct answer, but you got it for the wrong reasons. Its statistically very likely for a person asking about POST codes to have ram issues 😀
Ask Gemini which post codes of Zenith MFM-300 monitor bios correspond to memory errors and it most likely will either invent something, or in best case scenario tell you some generic ones instead. Lets see
Unfortunately, I couldn't find specific POST codes for memory errors directly related to the Zenith MFM-300 monitor. […]
Unfortunately, I couldn't find specific POST codes for memory errors directly related to the Zenith MFM-300 monitor.
While monitor BIOSes typically don't have as many POST codes as computer BIOSes, they might still use some generic codes to indicate hardware issues.
Potential POST Codes for Memory-Related Issues
If you're encountering problems with your Zenith MFM-300 monitor, here are some generic POST codes that might be relevant:
followed by some nonsense codes like "0xFF: Hardware error (could be related to memory if the monitor's internal components are faulty)" 😐
geiger9 wrote on 2024-08-29, 12:47:Hoping you can clarify - just because it initializes the video doesn't necessarily mean it will display something on the screen right? When the machine beeps at me like I described in my first post, I get no video.
POST codes for Zenith BIOS in order of execution:
0 checking keyboard controller if this is a hot reboot or cold power on. It checks bit 2 of keyboard status reg "2: SYS distinguishes reset types: 0=cold reboot, 1=warm reboot"
if cold boot it jumps to offset 0 of the bios and starts from POST code 36. 36-3D looks like VERY early diagnostics, Afaik Video here would only work with a graphic card that doesnt use BIOS like MGA/CGA. You are stopping at those early 3x codes before BIOS had a chance of calling VGA bios extension.
Hmm lets see what happens at those early codes:
36 reads and writes FFF0h - CPU reset vector. I think its testing if Chipset switched off EPROM mapping from that spot. "Fatal Memory Controller Error +++" and dead loop if fail
37 loads some data to 72h and 73h ports and Data from a table to bottom ram addresses, most likely Faraday chipset init, ends with 8253 Timer init
38 something with CMOS, maybe checking if its valid?
39 This is the basic ram check and Ram counting
3A looking at how much ram was detected earlier and comparing it to BIOS table, "Fatal RAM Installation Error +++" in case it cant find a match, writes something to some rams in case of success
3B no idea, also writes that detected ram amount to some rams
3C sanity checks if memory controller works by repeatedly reading from different addresses and comparing if data on the bus isnt stuck, possible "Fatal Memory Controller Error +++"
seg000:02A7 mov al, ds:0FFh
seg000:02AA mov al, ds:1
seg000:02AD mov ah, ds:1
seg000:02B1 xor al, ah
seg000:02B3 test al, 1
3D loads some Chipset inits from bios Table
and thats it for 3x series POST codes, next one is POST 1 and the list I already posted (possibly off by 1)
geiger9 wrote on 2024-08-29, 12:47:If I'm understanding it right, it seems like there could be a couple of error messages that could be displayed on the screen before it gets to 39 and 3A. Is it strange that nothing is displayed on my screen?
only on CGA/MDA, maybe EGA?
geiger9 wrote on 2024-08-29, 12:47:Regarding the mechanical issue like cracked connections - I suppose it is possible but seems rather suspicious that this exact problem happened in another Z386SX and it happened after the video card was moved around. This machine has a riser card and the video card is plugged into that. The RAM sockets are located on the other end of the motherboard.
I have changed the RAM a few times yeah - just to rule out any problems with the modules themselves but I have ruled that out.
Faraday chips are directly right next to RISER slot. SMD soldering from the eighties + mechanical stress might mean cracked joints.
geiger9 wrote on 2024-08-29, 12:47:wrote:39 is doing a bunch of things I dont understand without harder thinking, but also I think checks CMOS checksum (adds all cmos values to each other and compares). It might also be copying CMOS to ram
CMOS huh? I don't suppose there is something wrong with my modified Dallas DS1287? I'm going to put a modern replacement in there just to rule out that possibility.
thats one of my yesterday off by ones, CMOS stuff happens at POST 38
>time component to this error. The diagnostic LEDs on the riser would be different if I left the machine alone for a while (exact time to be determined). It was about ....15-16 hours since I last powered this machine on.
Even more fingers pointing at mechanical stress. Temperature changes lead to expansion/contraction, electronics bend slightly when warmed/cooled. Try gently pressing on big smd Faraday chips while powering on, one by one then all 3 at the same time.
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor
I'm really crossing my fingers here, geiger9.
I took a peek at my Z386SX 85-3797 riser board to see if I could help... Did not realize how different they were. Mine only has the ISA slots, some electrolytic capacitors and MFM-300 diagnostic LEDs since the FDD/IDE is on the motherboard itself.
Many Bothans can you do few screenshots from the BIOS, or a video? Im really curious how it looks, especially the Monitor part. I dont think I ever saw any screenshots on the net. Options I see in bios disassembly are intriguing to say the least:
db 9,9,'- MFM-300 Command Summary -',0Dh,0Ah
db 0Dh,0Ah
db 'CMD:',9,'Explanation',9,9,'Syntax',0Dh,0Ah
db '----',9,'-----------',9,9,'------',0Dh,0Ah
db '?:',9,'Help',9,9,9,'?',0Dh,0Ah
db 'B:',9,'Boot from disk',9,9,'B [{F|W}][{0|1|2|3}][:<partition>]',0Dh,0Ah
db 'C:',9,'Color bar',9,9,'C',0Dh,0Ah
db 'D:',9,'Display memory',9,9,'D [<range>]',0Dh,0Ah
db 'E:',9,'Examine memory',9,9,'E <addr>',0Dh,0Ah
db 'F:',9,'Fill memory',9,9,'F <range>,{<byte>|"<string>"}...',0Dh,0Ah
db 'G:',9,'Execute (Go)',9,9,'G [=<addr>][,<breakpoint>]...',0Dh,0Ah
db 'H:',9,'Hex math',9,9,'H <number1>,<number2>',0Dh,0Ah
db 'I:',9,'Input from port',9,9,'I <port>',0Dh,0Ah
db 'M:',9,'Move memory block',9,'M <range>,<dest>',0Dh,0Ah
db 'O:',9,'Output to port',9,9,'O <port>,<value>',0Dh,0Ah
db 'R:',9,'Examine Registers',9,'R [<register>]',0Dh,0Ah
db 'S:',9,'Search memory',9,9,'S <range>,{<byte>|"<string>"}...',0Dh,0Ah
db 'T:',9,'Trace program',9,9,'T [<count>]',0Dh,0Ah
db 'U:',9,'Unassemble program',9,'U [<range>]',0Dh,0Ah
db 'V:',9,'Set Video/Scroll',9,'V [M<mode>][S<scroll>]',0Dh,0Ah
db 9,'Where <range> is:',9,'<addr>{,<addr>|L<length>}',0Dh,0Ah
db 'TEST:',9,'Extended diagnostics',9,'TEST',0Dh,0Ah
db 'SETUP:',9,'Define hardware Setup',9,'SETUP',0Dh,0Ah
also
db 9,9,9,'CHOOSE ONE OF THE FOLLOWING:',0Dh,0Ah
db 0Ah
db 9,9,9,'1. DISK READ TEST',0Dh,0Ah
db 9,9,9,'2. KEYBOARD TEST',0Dh,0Ah
db 9,9,9,'3. BASE MEMORY TEST',0Dh,0Ah
db 9,9,9,'4. EXTENDED MEMORY TEST',0Dh,0Ah
db 9,9,9,'5. POWER-UP TEST',0Dh,0Ah
db 9,9,9,'6. EXIT',0Dh,0Ah
db 0Ah
db 0Ah
db 9,9,9,'ENTER YOUR CHOICE: ',0
I found some Microsoft bulletin mentioning newest MFM-300 Monitor bios version was 4.1 but I cant find dump of it anywhere 🙁 Im still playing with my disassembly, will probably upload it to github at some point to document Zenith POST codes, and because this Bios is weird and fun 😀 Latest is 3.6D
There is also 286 1987 'MFM-200 Monitor, Version 2.2' Bios uploaded for https://theretroweb.com/motherboards/s/zenith … a-syst-z-248-12 and It looks pretty much the same inside, except targeting 286. Im guessing 3 in 300 is for 386 😀.
1987 'MFM-200 Monitor, Version 2.0F' https://theretroweb.com/motherboards/s/zenith … 85-3261-01#bios
Oo its getting better 8088 1986 'MFM-1200 Monitor, Version 2.9' https://theretroweb.com/motherboards/s/zenith … syst-z-159#bios
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor
rasz_pl wrote on 2024-08-30, 20:11:Many Bothans can you do few screenshots from the BIOS, or a video? Im really curious how it looks, especially the Monitor part. I dont think I ever saw any screenshots on the net. Options I see in bios disassembly are intriguing to say the least:
I have some pics of MFM-300 v3.6D in my thread after finally getting my board to boot last month - Re: Zenith Data Systems - Oddball 386SX AT Mainboard & Power Connector
It is certainly interesting, I had never heard of it before playing with the board. I just wish it could be of more use to geiger9 in his situation. Documentation is kinda spotty, even rummaging through the old Zenith usenet groups it seems like knowledge to really leverage it has been lost to time.
Thank you, those pictures were exactly what I was hoping for 😀
I also picked up few manuals and Vets post about DIAG diodes.
"Fatal Slushware RAM Error +++" procedure does beeping and writing to port F2h two alternative values, FFh and 40h. If anything it should keep Parity diode lit while flashing all others. Cant explain it yet 🙁
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor
For anyone that kinda wants to try out an early version of Zenith's MFM, there's a web-based emulator of a Zenith Z-150 with MFM-150 v3.1E over at https://www.pcjs.org/machines/pcx86/zenith/z150/cga/
Many Bothans wrote on 2024-09-01, 19:36:For anyone that kinda wants to try out an early version of Zenith's MFM, there's a web-based emulator of a Zenith Z-150 with MFM-150 v3.1E over at https://www.pcjs.org/machines/pcx86/zenith/z150/cga/
1987 'MFM-150 Monitor, Version 3.1E' (sourced from https://forum.vcfed.org/index.php?threads/wan … 603/post-405918)
Man this monitor is annoying, doesnt have repeat of last command so every time you make a little typo you have to retype whole line. But its also pretty awesome to be able to jump straight to this debugger in the middle of any program by just pressing a button combo 😮 SoftIce before SoftIce 😀
This bios doesnt output to standard 0x80 POST diag port. Linked below Z-100 Programming manual says
Diagnostic LEDs oCo
later IBM PS/2 mapped 16Bit DMA controller at C0h, so Zenith 386 model had to change address (most likely F2h).
Jump Vectors
F000:FFED — Jump unconditionally to the MFM-150 monitor/debugger.
F000:FFEA — Set machine mode if AL= OFFH, Z-100 mode will be entered using the Z-319 Bit-Mapped Video Graphics Card. If AL= 0, Z-150 mode will be entered using the Z-309 VideoCard.
hey, those two are still valid in 386 version
FFED does jump straight to monitor, and I even already had this destination labeled Monitor 😮
FFEA is just 'ret' for backwards compatibility.
Im still decompiling Zenith 386 3.2C bios and just discovered it appears to have very advanced Password system. Its not just writing few bytes to SRAM like all normal Desktop motherboards until UEFI transition around 2005. Instead Password setting/checking is accomplished by sending commands/data to Keyboard Controller - like Laptops starting around year 2000 (https://hackaday.io/project/723-reverse-engin … shiba-r100-bios). For this to work it needs Keyboard Controller with bespoke custom firmware and external storage, and what do you know, in lower left corner there is a unusual Ceramic package Intel 8042 micro with 93c46 EEPROM right next to it 😁
Those Zenith computers are full of surprises! They are build different, almost appears as if they were aiming at niche Engineering markets like Dolch with its weird luggables. Manual even mention shipping Assembler on Utilities disk.
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor
rasz_pl wrote on 2024-09-02, 01:21:Those Zenith computers are full of surprises! They are build different, almost appears as if they were aiming at niche Engineering markets like Dolch with its weird luggables. Manual even mention shipping Assembler on Utilities disk.
Yes, definitely! That is why I like my Z-386 20DX so much. It just feels overengineered!
rasz_pl wrote on 2024-08-31, 00:07:Thank you, those pictures were exactly what I was hoping for 😀
I also picked up few manuals and Vets post about DIAG diodes.
"Fatal Slushware RAM Error +++" procedure does beeping and writing to port F2h two alternative values, FFh and 40h. If anything it should keep Parity diode lit while flashing all others. Cant explain it yet 🙁
Sorry for my delay - life has just been busy the past little while.
I finally got around to installing a CGA card and wow look at this!
That error will only display on the screen after I leave the computer for a few hours and start it up. The POST codes were 05 (left) and 07 (right). When I shut off the machine and powered it back on, I got no video displayed despite being on CGA and also the POST codes went back to 3A and 39
Even more fingers pointing at mechanical stress. Temperature changes lead to expansion/contraction, electronics bend slightly when warmed/cooled. Try gently pressing on big smd Faraday chips while powering on, one by one then all 3 at the same time.
I tried this out but no change 🙁
Going back to that manual I bought for my machine, I really do still plan to scan this. I actually priced the re-binding a few days ago and it was super affordable so now it's just a matter of removing that binding and slowly scanning all those pages back and front.
Does the manual contain full diagram of the board like the one for Z-150?
I more or less finished disassembling the bios. I think its actually called just ZBIOS 😀 and MFM-300 is the softice debugger/monitor part of it. Keyboard controller is very special, it acts like laptop Embedded Controller, Zenith even calls it "System Control Processor". I think its responsible for the Debugger functionality.
Ill make a github repo with sources and full list later. Relevant here:
seg000:DE0E mov al, 5
init Stack to seg: F000h sp: 202h
seg000:DE29 mov al, 7
ram_test parity E000h "Fatal Slushware RAM Error"
seg000:013B mov al, 39h
ram_test/detection? write to CMOS
seg000:01D2 mov al, 3Ah
ram_size_table, supports 8 configuration combinations?
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor
rasz_pl wrote on 2024-09-08, 12:36:Does the manual contain full diagram of the board like the one for Z-150?
I scanned the relevant page of the manual (with binding still in place, sorry)
I more or less finished disassembling the bios. I think its actually called just ZBIOS 😀 and MFM-300 is the softice debugger/monitor part of it. Keyboard controller is very special, it acts like laptop Embedded Controller, Zenith even calls it "System Control Processor". I think its responsible for the Debugger functionality.
Whoa you're fantastic! This will help owners of this machine.
rasz_pl wrote on 2024-09-08, 12:36:Ill make a github repo with sources and full list later. Relevant here: […]
Ill make a github repo with sources and full list later. Relevant here:
seg000:DE0E mov al, 5
init Stack to seg: F000h sp: 202h
seg000:DE29 mov al, 7
ram_test parity E000h "Fatal Slushware RAM Error"
seg000:013B mov al, 39h
ram_test/detection? write to CMOS
seg000:01D2 mov al, 3Ah
ram_size_table, supports 8 configuration combinations?
The above code is not the order that the POST is done in, right? I am not certain now if I need to focus on RAM test parity or RAM size table.
Now it's a little bit of an assumption that my Z386SX has the same start-up sequence as I showed in a picture above but I'm fairly certain it's the same? I mean, it's the same monitor BIOS in both machines. Assuming that is correct, I'm confused now why I'm not getting any image on the screen with an error message when using CGA card. The POST code indicates something is going on past the video initialization.
Oh here's something fun. With the help of someone I was able to get the Supersoft diagnostic ROM working. After comparing the two ROMs I'm not sure what they did differently than me but it works so I don't care.
When it got to memory refresh it took maybe a minute and then the graphics became effected. Up at the top where it's supposed to say Supersoft ROM, it got corrupted and the word "FAIL" were put in there as you can see in the picture.
Then came the memory test. I'm surprised that it failed because these four sticks worked in another 386 machine I tried. Perhaps my next test would be to put this diagnostic ROM in that other 386 (different brand) and see what happens.
Full POST code list https://github.com/raszpl/Zenith_ZBIOS/blob/m … OST%20codes.txt
step 3A is comparing whatever was detected in 39 with a BIOS table (8 options). My guess is this is covering all possible 256KB/1MB SIMM combinations (dont know the order in rom, below is random order):
256 - nothing
nothing - 256
256 - 256
1 - nothing
nothing - 1
1 - 1
1 - 256
256 - 1
3A would generate "Fatal RAM Installation Error +++"
only 7 and 8 has a path to "Fatal Slushware RAM Error", but its not straight forward. This error will only be triggered if jump to loc_166E is taken at
seg000:1632 jnz short loc_166E
meaning first try to write 1FEh (0000 0001 1111 1110) to E000 fails.
"RAM failure! Address: " is only possible in the second round of same copy loop. I dont really understand this test and why its made this way 😐
Im not convinced its just bad ram based on your "have to wait to make it do something" description. Maybe changing rom you flexed PCB again and temporarily made computer boot again just half broken instead of full broken.
https://github.com/raszpl/FIC-486-GAC-2-Cache-Module for AT&T Globalyst
https://github.com/raszpl/386RC-16 memory board
https://github.com/raszpl/440BX Reference Design adapted to Kicad
https://github.com/raszpl/Zenith_ZBIOS MFM-300 Monitor