MiSTer-devel / ao486_MiSTer

ao486 port for MiSTer
Other
271 stars 70 forks source link

ao486 port for MiSTer by Sorgelig.

MiSTer port of the ao486 core originally written by Aleksander Osman, which has been greatly reworked with many new features and performance added.

Original Core repository

Features:

How to install

HDD image is a raw image with MBR. It can be opened in Windows/Linux by many applications, so it's possible to prepare a HDD in windows/linux (in most cases you need to work with .img files, then just rename it to .vhd extension)

Core Speed and Options and Drivers

The default core speed is set to 90Mhz with both L1 and L2 caches enabled. This will give you the maximum speed for the release version of ao486. Some games, especially older games, are sensitive to speed and cache so you can change the speed options and cache to fit the game. Optionally you can use the sysctl.exe program to automatically change these settings before launching your game. This is especially useful for batch scripts where you want to change those options and then set it back after the game exits.

Core options under Hardware:

Optional programs and drivers: https://github.com/MiSTer-devel/ao486_MiSTer/tree/master/releases/drv

Sound Blaster

Default config: A220 I5 D1 H5 T6 Supported alternative configs with IRQ 7 or 10 and/or no-HDMA (16bit DMA through 8bit DMA). Standard SB16 config (diagnose) can be used to set alternative settings, or included sbctl util. Windows driver manages alternative settings by itself when manually configured.

Current implementation supports SoundBlaster Pro specific commands (not available in SB16 originally) as well. Compatible config for SBPro is "A220 I5 D1 T4" in case if some game will require it.

ASP/CSP is not implemented, but some specific commands with dummy replies are added to let Windows driver work.

Simple volume (only master volume) is implemented in mixer so windows volume can be used in additional to standard MiSTer volume control.

C/MS Audio

C/MS (dual SAA1099) can be enabled in OSD. When enabled it prevents OPL2/3 access on ports 220-223. OPL2/3 still can be accessed on ports 388-38B (AdLib).

OPL2/3 (Adlib)

OPL2/3 can be accessed as a part of Sound Blaster board at ports 220-223 (if C/MS is not enabled) and 228-229(OPL2 only). However it's recommended to use AdLib ports 388-38B instead.

MIDI settings:

MT32-pi support:

MT32-pi connection is supported through USER I/O port. MT32-pi is automatically detected. Supported straight and crossed RX<->TX cables.

MT32-pi config and settings are here.

MT32-pi interface board is on Hardware repository

LCD and buttons are for convenience but not required. Basically only USER I/O connector is required, so it can be assembled without interface board.

Note:

CD-ROM

Currently only data portion of CD is supported. Best image format is ISO, but BIN/CUE and CHD format discs still can be mounted. You just need to mount bin file or if it's multi-file image, then usually first track is data which you need to mount.

IDE 1-0 has special function - it's a placeholder for CD. So you can hot-swap CD images in this drive. Regardless special function this drive also supports HDD images. Once HDD image is loaded upon reboot this drive loses CD placeholder feature.

Hard Disk and CD-ROM in Windows

Core supports up to 4 HDD images up to 137GB each. Up to 2 CD-ROMs are supported.

Currently due to unknown source of issue Windows works with IDE devices through BIOS. Most likely some BIOS function doesn't supply correct info for Windows drivers. It doesn't prevent windows from working but you need to keep in mind some specifics:

Building core