Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

(PC-ISA): Add Lba enhancer card (28 bit LBA) #3465

Merged
merged 16 commits into from Apr 27, 2018
Merged

(PC-ISA): Add Lba enhancer card (28 bit LBA) #3465

merged 16 commits into from Apr 27, 2018

Conversation

@Bavarese
Copy link
Contributor

@Bavarese Bavarese commented Apr 16, 2018

(PC-ISA): VS Systems LBA Enhancer (ISA; 1995).
Generic BIOS extension; adds 28 bit LBA mode for up to 4 large hard disks (ability to boot remains unaffected). Select 8-8-8 for C-H-S to enable LBA. Tested with Dos 6.22, a 2 GB partition and 'ct486' driver.
Affected Ami BIOS versions:
40-0100-001139-00101111-111192-486ABC-F (111192 will not support LBA)
50-0100-001292-00101111-072594-ABCDEF-F (072594 will support LBA) = (card unnecessary)
See also : ftp://ami.com/archive/utility/LBA.TXT

Bavarese added 4 commits Apr 17, 2018
device_reset() changed to make sure ROM is installed only once. Old solution used a static variable and was unsafe.
Add variable to ensure ROM is only installed once per session.
jumpers, not DIPs.
@Bavarese
Copy link
Contributor Author

@Bavarese Bavarese commented Apr 18, 2018

See FTP for corresponding file. Issues mentioned by Mr. Cuavas in #3444 have been addressed.

I try to keep white space changes to a minimum in future requests.

Copy link
Member

@cuavas cuavas left a comment

This doesn't appear to do anything now. Please mark it with unemulated disk feature. See src/devices/bus/abcbus/cadmouse.h for an example of how to mark a device with an unemulated feature, and src/emu/device.h for the possible values.

//-------------------------------------------------
void lba_enhancer_device::device_reset()
{
if(m_current_rom_start == 0 )

This comment has been minimized.

@cuavas

cuavas Apr 21, 2018
Member

Please fix the spacing here - it's inconsistent on the opening and closing parentheses.

@Bavarese
Copy link
Contributor Author

@Bavarese Bavarese commented Apr 21, 2018

Changed white space as requested.

Please pardon me, the ROM is a legitimate, bootable BIOS extension card. I own it and wanted to save the
dump before it slips into oblivion.

This solution changes the INT13 vector and is 'software-only' (apart from the jumpers).

Back in the days, pure software solutions often rendered a system unbootable, so the systems needed a boot disk in A. The translation change was integrated into Bios after release of ATA-1 (1994).

Our 'ct486' driver uses a non-LBA capabable BIOS. So i think this is actually useful.

Without it, Bios-dependent services (usually DOS) can't go beyond 504 MB.

Affected versions (ending in -92) and an explanation are here:
ftp://www.ami.com/archive/utility/LBA.TXT

Attached is a screenshot from 'ct486'-
https://www.dropbox.com/s/q65p16b4s8lmr5k/Demo_ct486.jpg?dl=0
(the number printed at the bottom indicates a 1992 BIOS labeled as not LBA capable)

I tested the extension with a 2 GB partition, DOS 6.22 and a full surface scan.

Win9X can work with BIOS services too, as long it is correctly configured (with a change in SYSTEM.INI). Haven't tested it though...

@rb6502 rb6502 merged commit 88b77ca into mamedev:master Apr 27, 2018
2 checks passed
2 checks passed
continuous-integration/tea the build was successful
Details
continuous-integration/travis-ci/pr The Travis CI build passed
Details
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Linked issues

Successfully merging this pull request may close these issues.

None yet

3 participants