• Please review our updated Terms and Rules here

Any info on vintage Nokia computer "MPS 5" ?

.. so if You would be so kind and modify one of the drive types (for example Type #1) to match the specifications from the picture, I would be very grateful.
Try it yourself if you want to.

My crude split/join program (for Windows) is at http://members.dodo.com.au/~slappanel555/software/oddeven.zip

A description of the Fixed Disk Parameter Table (the AT one) is at http://members.dodo.com.au/~slappanel555/misc/at_fdpt.pdf
So type #1 (entry #1) in the Fixed Disk Parameter Table, is the first 16 bytes (eight 16-bit words) at F000:E401

So to change entry #1 (type #1), with your hex editor, you'll be modifying your 64MB file per:

1. Change byte at E401h from 32h to DDh, and byte at E402h from 01h to 03h [ cylinders from 0132h (306d) to 03DDh (989d) ]
2. Change byte at E403h from 04h to 0Ch [ heads from 04h (4d) to 0Ch (12d) ]
3. Change byte at E406h from 80h to FFh, and byte at E407h from 00h to FFh [ WPC = FFFFh = none ]
4. Change byte at E409h from 00h to 08h [ control byte to reflect 'more than 8 heads' ]
5. Change byte at E40Dh from 31h to DDh, and byte at E40Eh from 01h to 03h [ Landing zone = cylinder count, per WD manual for the drive ]
6. Change byte at E40Fh from 11h to 23h [ SPT from 11h (17d) to 23h (35d) ]

Checksum byte

7. Change byte at FFFFh from ABh to 60h [ so that 8-bit checksum becomes 0 ]
 
WOW :eek: THANKS! I'll get to work right now and let You know how it turns out! (This way I can make changes to the bios on the fly without bothering You anymore :) )
 
One thing I don't understand - on adress E401h and E402h are values 32 and 01. Shouldn't they be reversed? I mean - now there is Hex 3201 which means 12801 in Dec (and not the reversed hex 0132 which means dec 306)... Sorry for the lame question but it's read from the back? Or...now it lights me up....:lightbulb: it's because the file would be splitted to Even and Odd parts?
 
Any particular reason why?

I simply forgot that MFM works differently on XT and AT.
Anyway, i wouldn't start by editing Fixed Disk Parameter Tables. The drive should work as any type that has less than or equal cylinders, heads and sectors.
 
x86 CPUs are little-endian so they store least significant byte to lowest memory address.
Wow another novelty for me... but very interresting reading over at wikipedia. I've never studied computers on this level.

I've managed to edit the bios file succesfully, but at first run it wasn't working. I figured out that the checksum was incorrect - I've downloaded a small prog over from this site (ignore the password) to calculate checksum of the original bios and the result was 0x50. So I've changed the last byte from ABh to B0h, and managed to succesfully boot up the computer.

The values for Type#1 Hdd are correctly changed but still no luck runnning the bastard with Error - Drive not ready (or something simillar). But since I had plugged in both controllers (MFM and IDE), I will try it with just one today, and experiment a little further.

I couldn't find the right manual for the drive so I am still wondering if all the values were changed correctly (Precomp and Landing Zone), and could somebody explain to me the values of the control byte (I can't figure that out from the description)?
Thank You all for Your replies!

EDIT: I have found something like manual and here's the info about the landing zone:
Precomp and L-zone should be set equal to the drive's cylinder count + 1.
...so, should I change the Landing zone from 989 to 990? And what about the Precomp?
 
Last edited:
You cannot use AT-MFM and AT-IDE controllers at the same time since the BIOS will try to find single controller at port 1F0h and two different cards can't share the same ports.

Landing zone cylinder (for parking the drive) and Starting write precompensation cylinder are used on MFM drives and not on IDE drives. They are disabled when set to higher than last accessible cylinder. For IDE drives the landing zone is usually set to maximum cylinder + 1 and write precompensation to FFFFh (65535) but any value should work.

Control byte is simple for IDE drives:
Bit 3 = Drive has over 8 heads (pre-ATA only, 1 on ATA1, reserved on ATA2+)
Bit 2 = Software reset (controller will reset when this is set to 1 for a short time)
Bit 1 = Negated Interrupt Enable (IRQ disabled when set)
Other bits are reserved and must be set to zero.
 
More information about Landing Zone and IDE drives. The 'Landing Zone' is meant to be used by programs that 'park the heads'. It's the cylinder that such programs are meant to move the heads to. IDE drives automatically park on power-down, and so even if you set the Landing Zone figure to say, 50, then ran a head parking program that moved the heads to cylinder 50, the IDE drive on power-down will move the heads to where it wants them.
 
I've managed to edit the bios file successfully, but at first run it wasn't working. I figured out that the checksum was incorrect - I've downloaded a small prog over from this site (ignore the password) to calculate checksum of the original bios and the result was 0x50. So I've changed the last byte from ABh to B0h, and managed to successfully boot up the computer.
Good pickup. 00 is such a standard that I didn't bother to check the 8-bit checksum of your BIOS before modifying it. My bad.
 
Thanks for the information on "Control byte" and "Landing zone" parameters! This topic is getting quite educational
(at least for me)!
{ I had a hard time finding out the mechanics for bit-editing of single bytes, but everything turned out well and now I know how to read in binary numeral system :) }
No time to do anything yesterday, so no update on my progress. Hopefully today I'll get to it...
 
SUCCESS !!!!
Hi everybody, I hadn't much time to work on my Nokia PC but recently (yesterday) I was -finally- able to make the 212MB WD HDD work with it.
I removed the MFM HDD Controller and inserted The IDE HDD Controller (to another slot). Bios was edited - Type1 HDD changed to required parameters of my HDD. On first try, no luck - "903 Drive controller error". So I set the drive in Bios on "no drive" and ran SpeedStor. In SpeedStor - manually set drive - "Standard drive types" - Type#1" (I was surprised that there were parameters that I had set by editing my bios). Initialize - DONE! Partitioning - automatic - DONE!
OK, I had several partitions all sized 32MB, first one DOS. But no matter, I will discover how this works later, but for now, I have working Nokia PC!!!!
Thanks for all suggestions and information!
You guys are great! :toast2:

EDIT: is there any topic about SpeedStor? Please post links if you have some! Thanks!
 
Back
Top