VOGONS


First post, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

Hi,
while further troubleshooting my IBM 5150 board...
Re: IBM 5150 Mainboard repair
...I had an idea which could simplify the usage of the Supersoft-ROM - especially in the 5150 as it uses a non-standard ROM and you have to build an adapter...

I think it should be possible to remove the BIOS on the Mainboard and put the Supersoft-ROM on a ISA-card (i.e. Network or SCSI). Only problem: The ISA ROM needs to mapped at F000:0 or above to be executed at Power-on. But I didnt find any standard card that is able to do that...which makes sense as this area is normally occupied by the system BIOS.

Anybody has an idea how to realize this? Maybe modify adress lines on a network card?

Reply 1 of 14, by stamasd

User metadata
Rank Oldbie
Rank
Oldbie

2 methods that I've used in the past:

1. Use a ROM card from lo-tech https://www.lo-tech.co.uk/product/isa-rom-board-pcb/ and map it at F000

2. Modify the system BIOS and put the code you want executed at the appropriate address, then burn a new EPROM with the modified BIOS.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 2 of 14, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

Hah - indeed this ROM card is exactly what I looked for and should do the job. Price is also OK - but "Out of stock" 🙁

2nd option is not what I like to do as I like to work without BIOS on the Mainboard.

Many thanks for the link!

Reply 4 of 14, by stamasd

User metadata
Rank Oldbie
Rank
Oldbie
Predator99 wrote:

Hah - indeed this ROM card is exactly what I looked for and should do the job. Price is also OK - but "Out of stock" 🙁

2nd option is not what I like to do as I like to work without BIOS on the Mainboard.

Many thanks for the link!

If you look at the front page of the site, lo-tech doesn't sell things directly anymore but through an affiliate https://texelec.com/product-tag/lo-tech/ and https://www.ebay.co.uk/str/texelec (also https://www.ebay.com/str/texelec )

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 5 of 14, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

^^Ah OK, many thanks!

derSammler wrote:

especially in the 5150 as it uses a non-standard ROM and you have to build an adapter...

Why don't you just build an adapter?

Built it. But my approach should be much easier and more universal. The ISA card can be used in any System with an ISA slot from XT to Pentium without caring about EPROM types and sizes or LO/HI types.
Thats the theory, will report if it works 😉

Reply 6 of 14, by stamasd

User metadata
Rank Oldbie
Rank
Oldbie

Yes I've found the ISA ROM card very useful. Been testing things in it, separate chunks of code then combined, moved to different addresses etc. Then when done, moved them into the main BIOS area, bam! Done.

The only way I would improve that ROM card would be adding a mechanism to map pieces of the EPROM or flash to different places: say 8k here, 16k there etc.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 8 of 14, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

Now I received and assembled my Lo-Tech board.

IMG_9692.JPG
Filename
IMG_9692.JPG
File size
747.13 KiB
Views
577 views
File license
Fair use/fair dealing exception

Unfortunately I didnt see I got an Rev.3
https://www.lo-tech.co.uk/wiki/Lo-tech_ISA_ROM_Board
while ordering parts for the older one.
https://www.lo-tech.co.uk/wiki/Lo-tech_8-bit_ROM_Board

I have the following differences:
- SN74F521N instead 74HCT688N: are exactly the same
- 74LS33N missing: Only needed for slot-8
- 7-pin instead of 8-pin resistor network: pin 8 seems not to be connected, therefore no problem

I use the board with a SST28EE010 instead of SST39SF010A. Both have same capacity and pinout. I am programming it in my TL866 and it can be read as SST39SF010A, therefore no problem?

The whole setup works perfectly when using "32KB Address Mapping".
But I dont see anything when using "64KB Address Mapping". Of course I filled the whole chip with data while testing.

I tested with a 32KB BIOS image in 32KB mode and put it to C800. It is read correctly at this adress. I removed the mainboard BIOS, set the DIPs to F800 and...nothing 🙁

Can somebody confirm it is possible to boot a mainboard with the BIOS located on the Lo-tech and not the mainboard..?

Reply 9 of 14, by bakemono

User metadata
Rank Oldbie
Rank
Oldbie

The PC 5150 decodes the top 128KB for onboard ROMs. I'm not clear on whether this prevents a memory access from occuring on an expansion card. Does it work at $E000, $E800, or $F000?

Maybe you could pull out U64 (74LS20) and put a pullup resistor on pin 6 /rom_address_select

yet another retro game on itch: https://90soft90.itch.io/super-wild-war-22

Reply 10 of 14, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie
bakemono wrote:

The PC 5150 decodes the top 128KB for onboard ROMs. I'm not clear on whether this prevents a memory access from occuring on an expansion card. Does it work at $E000, $E800, or $F000?

Maybe you could pull out U64 (74LS20) and put a pullup resistor on pin 6 /rom_address_select

I didnt test in the 5150 yet as the board is not working at all.

I tested the Lotech in a XT, 286 and 386: 32kb mode works in all, 64 kb not. Therefore there must be something wrong with the card.

In the 386 I tried to boot a BIOS from the card in 32 kb mode. This should work in theory when mapped at F800? But it didnt. Therefore I think its possible this area is hardwired to the mainboard-ROM not only in the 5150 but also on other boards?

Reply 11 of 14, by stamasd

User metadata
Rank Oldbie
Rank
Oldbie

I can't assist wth your problem right now as I'm currently traveling and can't access the system in which I'm using a Lo-Tech ROM card, but I distinctly remember having no trouble mapping code at F000. I never tried to run the whole BIOS off it but in the past I did put ROM extensions on it ( a FDD BIOS and the XTIDE firmware) at F000 and they worked fine.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 12 of 14, by Predator99

User metadata
Rank Oldbie
Rank
Oldbie

Think I have found the reason. My card behaves quite "unusual". Put it in my 286 and played with the jumpers while watching with debug.exe where the ROM appears.
Regardless of the Jumper setting, it is at E800:0 in an 32KB window. Only when switching J5 it goes to C800:0. Didnt notice that as the C800:0 was the setting I intended to have at the beginning.....

Therefore I dont need to be surprised that it doesen boot with F000:0.

Think the reason must be that resistor network...?

Reply 13 of 14, by pearce_jj

User metadata
Rank Newbie
Rank
Newbie
Predator99 wrote:

I removed the mainboard BIOS, set the DIPs to F800 and...nothing 🙁

This could be a motherboard architectural limitation, in the PC/XT board for example the board will work at F000h only in slot 8 because the system board is hard wired to access the BIOS on that side of the bus.

Reply 14 of 14, by pearce_jj

User metadata
Rank Newbie
Rank
Newbie

I had chance to have a quick look at the 5150 schematic. To run the system BIOS from the ISA ROM board, a small mod is needed as the board will drive the ISA bus with u13 for any address in F segment. It looks like a solution is to bend out pin 5 on u27 (74LS02) and jumper this to 5v via a 10k resistor. This will prevent the /ROMADDRSEL signal driving the gate. See schematic sheet 5 for further info. Don’t mod u64 as the signal itself is needed to suppress the RAM chip select signals as well.

In the 5160 this is not necessary as the board can instead be put in slot 8, which as it happens is already connected to the same bus as the system ROM chips. In that configuration, the board should be set not to generate slot 8 signal incidentally, since it is already driven by system board logic.

Hope that helps.