VOGONS


Reply 40 of 47, by Jo22

User metadata
Rank l33t++
Rank
l33t++
BitWrangler wrote on 2023-02-10, 05:01:

Yeah, the point being that it was the BIOS that made it compatible, remapping all hardware to a common interface, so if it doesn't quite mesh with what is on the board, problems will ensue... Particularly if the BIOS was intended for a 188 or V40 chip with internal peripherals like timer etc which needed to be "broke out" to normal addresses for PC.

Yes, I think that was the original idea of the BIOS.
CP/M did have a BIOS for the same purpose, as some HAL/HEL component.
In a perfect world, the relationship would be Hardware <-> BIOS <-> DOS <-> Application.

Unfortunately, developers/programmers in the mid-80s started to directly access hardware more and more.
To improve performance or due to the lack APIs (BIOS merely guaranteed CGA graphics).
That's what put and end to the market of MS-DOS compatibles.

Nowadays, merely fans of computing history remember those compatibles.
The news articles of the popular press do always simplify history.

It goes like this (example of simplification):
First there was darkness. Then Apple made Apple I in the late 70s, a wonderful machine no one realized its potential.
Then the Apple II came out, people danced on street in pure joy.
In 1980, IBM invented the Personal Computer, Bill gates wrote DOS for it.
Apple made Macintosh, but no one could afford it because Steve didn't want it to be cheap. And it had no color, because Steve was an eccentric.
Windows came out in the mid-80s and had color and instantly became a huge success.
In 1990, the internet was made. The age of light had begun.
It made funny noise and people couldn't phone while being online.
The the world got Tweater and F-book, the iPhone was invented soon after. Now.

^That's utter nonsense, of course. 😅
But it gives an idea how computer history is sometimes being presented in a small news segment in TV or in cheap news papers.
In the 90s, Apple was being left out of such stories, interestingly.
It wasn't until the iPod/iPhone era, when Apple got fancy in the eyes of the public, that history was modified to include Apple's contributions (no fake, but merely a foot note previously).

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 41 of 47, by pentiumspeed

User metadata
Rank l33t
Rank
l33t

Another several computers I know of that are partial PC:

PCjr induced a incompatibility by leaving off XT features that you have to fix by adding and mods via side cars, buy adapter cables to work with standard items like keyboards, serial blah blah. Had one to play with, from their cast off of those computer purchase mistakes that was in storage for years. Had to make other half of power supply to complete other half by looking for correct transformer and wired together, you need a center tapped transformer with two AC output. Cripple-hardware my butt.

Zenith's EazyPC, Cut down XT using a V40 CPU, basically a PC on a chip, to add extra 128K you must purchase a blister pack that also include a odd serial port that very few mouse works. Genius mouse worked with it after trying 5 mouses and different drivers. To add hard drive, you need option parts and burn pair of ROMs and had to be XT IDE 20MB by miniscribe, yah the awful brand. Very few programs broke on it and one of program that came with this PC's DOS also crashed due to incompatibility. No slot to add sound.
I had one, I was not wiser back then (1990ish) and was given to me and didn't realized it was not too perfect. What I really should had was asked for 286.

Hyperion, another partial compatibility the part that I forgotten about. The floppy drive is not quite compatible contrary to what other sources says and had to be used special DOS to work at all especially formatting. To add another 128K again a module has to be bolted onto the multi-pin connector on back.
I also had this but I didn't have one with 128K module. Did see one once. On another for a customer, I had to find 1 defective DRAM IC by educated guess on location of error code at start up. Tried 8 across then another 7 IC down, fixed. All soldered.
Osborne again. Vertical designed software-wise and nothing else worked. You had to transfer data even it was made by 123 by serial and their floppy drive is not compatible with other CPM OS computers of the day (Z80). One of those, I had to repair to get floppy drives working by making new signal harness cable, very custom and complex folds, about 4 feet long due to folds. The long motherboard is suspended by 4 screws at each corners with nothing in middle. Plenty of room to have 3 boards stacked. Crazy.

I prefer a computer that can run games and programs and widely available to any machines via floppies and emulators at least 2 to 3 models across, not just one-off like above. And ideally cloned widely. That ended up Mac and PC for example.

Apple II series is a exception, I would happily take one due to lot of games, programs and option cards and plenty for example.

Cheers,

Great Northern aka Canada.

Reply 42 of 47, by T-Squared

User metadata
Rank Member
Rank
Member

Well, what do you know...

This thing had the logic in it to read 640k all this time! I had someone take a look at my schematic, and it seems that there is a jumper that switches between the two!

HOWEVER... there's still a problem. It won't read the memory properly.

I have had errors with the Supersoft Diagnostics, where every 4 kilobytes (I think) has an error, and with Ruud Baltissen's ROM Diagnostics, where it reports the first 2KB (kilobytes?) are bad.

The thing is, the "bad" bits don't swap around with the supposed problematic RAM, which leads me to believe that there is a problem with the logic involved.

These are the "bad" addresses that I got from Supersoft, and they increment every 8000h or 32768 decimal.

HEX-------DEC
14000---81920
1C000--114688
24000--147456
2C000--180224

I'm stuck, and I don't know what to do.

EXTRA: I did run into a problem with one of the system timers not working properly when I first put the new memory in, but it eventually resolved itself. I don't know if that's significant, or what.

Reply 43 of 47, by T-Squared

User metadata
Rank Member
Rank
Member

All right, I have done much more research since 5 months ago and gotten a logic analyzer, and this is what I found out thanks to modem7 from the VCFed forums:

1. Measuring Row and Column Address Strobe and Write Enable all show just fine in both 256k and 640k modes.
2. The start of RAM is not affected, which means that Address 0000 is just fine. I confirmed it on modem7's suggestion by taking out the first RAM IC.
3. Address 0001 has a problem, somehow. This means that data is being written, but it can't be read. I'm betting it means that data is not even going into the chip.
4. On a hunch, I modified modem7's test code to write to address 0002. THAT worked just fine!
5. Continuing onward, I modified it again to write to address 0003. THAT FAILED.

It seems that we have a "checkerboard" problem. Every other address (odd-numbered) is failing, and I don't know what component that would point to. I filled in some missing parts of the schematic to see if I had missed a connection that affected the memory, but that didn't give any clues to an obvious problem.

Reply 45 of 47, by mkarcher

User metadata
Rank l33t
Rank
l33t
T-Squared wrote on 2023-09-16, 00:59:
All right, I have done much more research since 5 months ago and gotten a logic analyzer, and this is what I found out thanks to […]
Show full quote

All right, I have done much more research since 5 months ago and gotten a logic analyzer, and this is what I found out thanks to modem7 from the VCFed forums:

1. Measuring Row and Column Address Strobe and Write Enable all show just fine in both 256k and 640k modes.
2. The start of RAM is not affected, which means that Address 0000 is just fine. I confirmed it on modem7's suggestion by taking out the first RAM IC.
3. Address 0001 has a problem, somehow. This means that data is being written, but it can't be read. I'm betting it means that data is not even going into the chip.
4. On a hunch, I modified modem7's test code to write to address 0002. THAT worked just fine!
5. Continuing onward, I modified it again to write to address 0003. THAT FAILED.

It seems that we have a "checkerboard" problem. Every other address (odd-numbered) is failing, and I don't know what component that would point to. I filled in some missing parts of the schematic to see if I had missed a connection that affected the memory, but that didn't give any clues to an obvious problem.

You seem to have issues with adressing: The lowest address bit from the processor (A0) is not working properly. Trace the A0 line from the processor to the row/column multiplexer and further to the RAM. Do not just check for continuity, but also for shorts between the affected traces and neighbouring traces.

Reply 46 of 47, by T-Squared

User metadata
Rank Member
Rank
Member
mkarcher wrote on 2023-09-16, 07:23:

You seem to have issues with adressing: The lowest address bit from the processor (A0) is not working properly. Trace the A0 line from the processor to the row/column multiplexer and further to the RAM. Do not just check for continuity, but also for shorts between the affected traces and neighbouring traces.

See, that's what I realized too, except I thought it was A8 at first. I realized that it was only the odd-numbered addresses that were being affected, and A0 supplies the "1" value (the only odd value) in an address. (i.e. as opposed to A1="2", A2="4", etc)

Reply 47 of 47, by T-Squared

User metadata
Rank Member
Rank
Member

I think the addressing may be just fine in 640k mode.

If I have this properly, I am seeing properly-inverted and formatted address values being asserted on the A0-A8 lines. (i.e. 0001 becomes 01FE, ignoring the leading zero, when inverted, and 0003 becomes 01FC), and they seem to match up with timing diagrams for the memory.

One interesting thing that I found was not only did the memory addresses go "good/bad/good/bad", but there was a weird alternating 00 FF 00 FF pattern in the odd addresses too.

Screen Shot 2023-09-26 at 8.06.28 PM.png
Filename
Screen Shot 2023-09-26 at 8.06.28 PM.png
File size
41.05 KiB
Views
279 views
File license
Public domain