*START HERE* SoftMPU 1.91 - Software Intelligent MPU-401 Emulator

Forum for discussion of bugs, code, and other aspects of SoftMPU.

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjwil1991 » 2013-9-22 @ 06:57

Hey I was wondering if there's going to be a version that would support JEMM386 (FreeDOS version of MS-DOS's EMM386, but uses less memory than EMM386). Great job overall on the SoftMPU software. I have no problems with it at all; works flawlessly on my computer.

EMM386 memory usage: 4KB conventional memory
JEMM386 memory usage: 128 bytes conventional memory

Latest JEMM386 version is 5.78

Thanks.
-bjwil1991
C64, WheelWriter 10 Series II QuietWriter 8, Pack-Mate 28 Plus, K6-2/300, Pavilion N3350, iMac G3 & G4, Socket 370, 2x Inspiron 600m, Athlon 64, Dimension 4550 & E510, ThinkPad R40, Presario C700, ASUS X54C, Raspberry Pi B+, 2-3, Custom FX-6300
User avatar
bjwil1991
Oldbie
 
Posts: 1157
Joined: 2013-8-14 @ 03:10
Location: United States of America

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby elianda » 2013-9-22 @ 12:19

Well, I couldn't find an API documentation for JEMM. I had a brief look at JEMMs source, but couldn't find support for the required functions. But source is usually not self-explanatory.
So without documentation chances are very low to add support.

You may try QEMM that uses only 768 bytes low memory including xms.
Retronn.de - Vintage Hardware Gallery, Drivers, Guides, HQ Videos.
Youtube Channel
FTP Server - Driver Archive and more
DVI2PCIe alignment and 2D image quality measurement tool
User avatar
elianda
l33t
 
Posts: 2215
Joined: 2006-4-21 @ 16:56
Location: Halle / Germany

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby jwt27 » 2013-9-22 @ 13:44

JEMM source does include an example of using the port trapping API. That's what this emulator uses right?

JEMM is a bit different in that it requires the driver to be a DLL, as Jemm Loadable Module:
1. About

IOTRAP is a JLM sample which demonstrates how to trap IO port access.


2. How to install and uninstall IOTRAP

IOTRAP can be installed either as a device driver in CONFIG.SYS:

DEVICE=JLOAD.EXE IOTRAP.DLL

or as a TSR from the command line:

JLOAD IOTRAP.DLL

To uninstall, use JLOAD's -u option:

JLOAD -u IOTRAP.DLL


3. How to test IOTRAP

- install IOTRAP: C:\>JLOAD iotrap.dll
- install TESTIOT: C:\>testiot
- start DEBUG: C:\>debug
- read port 100: -i 100

now a colored string '*#!+' should appear on line 25.


4. License

IOTRAP is Public Domain.

Japheth
WANTED - Manuals/drivers for:
  • Tecmar Graphics Master
  • Paradise Autoswitch EGA 350 (EGA1A)
User avatar
jwt27
Oldbie
 
Posts: 1628
Joined: 2011-8-15 @ 02:19
Location: Fryslân

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjwil1991 » 2013-9-22 @ 23:12

elianda wrote:Well, I couldn't find an API documentation for JEMM. I had a brief look at JEMMs source, but couldn't find support for the required functions. But source is usually not self-explanatory.
So without documentation chances are very low to add support.

You may try QEMM that uses only 768 bytes low memory including xms.

QEMM crashes my DOS machine and causes errors left and right every time, and doesn't work most of the time. However, on the older DOS machine setup I had (Shuttle 433 v3.0/HSing Tech M912 v1.7 board <== this was an awesome board AMD AM486 DX4-S/5x85-P75 120MHz-133MHz, 24MB RAM, 80GB HDD, DVD RW, S3 Trio64 VESA/NVidia GeForce MX 4000 PCI, SB 16 (ISA PnP)/Maestro-2 ES1968S PCI, IBM monitor, stereo speakers and iHome) it worked flawlessly. My current setup is this:
Abit AB-TX5 Super Socket 7 motherboard with ATX/AT PSU connections, SIMM, and SD-RAM slots AMD K6-2/300 w/ MMX
1x 256MB PC-133 SD-RAM (Max supported: 256MB SD-RAM or 72-pin EDO SIMM)
CF-IDE Adapter w/ a 4GB CF card (MS-DOS 7.10 w/ memory tweaks and accelerators)
200GB Maxtor 6Y200P0 Hard Drive (4GB for MS-DOS backups, rest for Windows XP Pro w/ SP2)
Diamond Multimedia Sonic Impact S70 (ESS Maestro-2 ES1968S - SB Pro) PCI Sound Card
NVidia GeForce MX 4000 PCI Video 128MB RAM
Lite-On DVDRW LH-18A1P DVD Burner IDE/ATA
Inland 3.5" 1.44MB Floppy Drive (not connected since the floppy cable that is installed has only 1 floppy drive connector)
Unknown 3.5" 1.44MB Floppy Drive (pulled from my non-working Dell PowerEdge 6300 Server since the CD drive broke [SCSI])
Corsair HX520W 520W ATX PSU
IBM 2115-001 15" CRT Monitor
TrendNet TE100-PCIWN Fast Ethernet PCI Card (RealTek RTL8139)
Roland MT-32 Synthesizer (used in MS-DOS with the SoftMPU v1.6 for the games that have Roland MT-32 support)
iHome as primary speakers (PC Sound card hooked up; MT-32 hooked up)
Yamaha A-1000 Natural Sound Stereo Amplifier (hooked up iHome to it for 4-speaker sound)
Microsoft IntelliPoint PS/2 Wheel Mouse
GE Keyboard hooked up via PS/2 6-pin DIN to 5-pin DIN (AT Keyboard)
2 COM Serial RS232 DB-9 ports (COM1 will be used to hook up my 12-port 3Com 3C16670 switch to configure it and upgrade the firmware; COM2 for the Xbox Original Hard Drive Key from the EEPROM)
1 LPT Printer Port (not used)
Some AT-style case with a flip switch in front of the case (for the AT-style PSU only)

I have approx. 617KB free conventional memory using this simple trick from this website: MDGx MSDOS 6.xx Memory Specs

edit: 200GB Maxtor 6Y200P0 IDE/ATA Hard Drive has bad clusters, but fortunately, I copied all of the important files, wiped the hard drive, and formatted the drive using the appropriate partition size for both MS-DOS and Windows XP for testing purposes since Windows XP wouldn't shut down or restart...
Last edited by bjwil1991 on 2013-9-28 @ 23:13, edited 1 time in total.
C64, WheelWriter 10 Series II QuietWriter 8, Pack-Mate 28 Plus, K6-2/300, Pavilion N3350, iMac G3 & G4, Socket 370, 2x Inspiron 600m, Athlon 64, Dimension 4550 & E510, ThinkPad R40, Presario C700, ASUS X54C, Raspberry Pi B+, 2-3, Custom FX-6300
User avatar
bjwil1991
Oldbie
 
Posts: 1157
Joined: 2013-8-14 @ 03:10
Location: United States of America

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby PARUS » 2013-9-25 @ 22:11

I've tested AV310 cmi8330 with SoftMPU. It works fine in Intelligent and UART modes and can be listed as full compatible card.
User avatar
PARUS
Member
 
Posts: 192
Joined: 2013-4-14 @ 04:03

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjt » 2013-9-27 @ 10:54

If anyone wants to work on JEMM support and submit the code I'm happy to do a release for it.
PARUS wrote:I've tested AV310 cmi8330 with SoftMPU. It works fine in Intelligent and UART modes and can be listed as full compatible card.

Thanks for the report! I've added it to the list of compatible cards.
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjt » 2013-10-18 @ 10:18

I'm thinking about adding support for SB-MIDI. This would allow SoftMPU to work with Sound Blaster Pro 2 and earlier cards. Is this worth doing?
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby Jolaes76 » 2013-10-18 @ 11:32

Of course it is :)
This way a single sound card could cover almost anything up to 1992, no need to put an anachronistic SB16 (next to the SB Pro) into an older machine.
In this game one blaster is better than two :)
Sound Blasters cannot be set up to provide MPU401 only, so your solution would decrease the resource demands. Single blaster: one port, one IRQ, one DMA. Zen.
"Ita in vita ut in lusu alae pessima iactura arte corrigenda est."
Jolaes76
Oldbie
 
Posts: 737
Joined: 2011-3-23 @ 09:31
Location: Hungary

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjt » 2013-10-18 @ 14:03

I think so too. It would even be handy for games that don't need intelligent mode but only support MPU-401 for MIDI.
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby carlostex » 2013-10-18 @ 14:51

bjt wrote:I'm thinking about adding support for SB-MIDI. This would allow SoftMPU to work with Sound Blaster Pro 2 and earlier cards. Is this worth doing?


This would be awesome!!!
User avatar
carlostex
l33t
 
Posts: 2009
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby badmojo » 2013-10-20 @ 23:00

A Sound Blaster Pro 2 that could drive an MT-32 would be the holy grail of ISA sound cards!
If it's broke, then fix it!
User avatar
badmojo
l33t
 
Posts: 2731
Joined: 2011-10-11 @ 04:14
Location: Australia

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjt » 2013-10-21 @ 16:33

I've got an early version of this now, would anyone with a Sound Blaster Pro 2 or earlier be able to test it for me?
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby carlostex » 2013-10-21 @ 16:54

bjt wrote:I've got an early version of this now, would anyone with a Sound Blaster Pro 2 or earlier be able to test it for me?


Why the heck not?

I have a Pro 2. Send the program.
User avatar
carlostex
l33t
 
Posts: 2009
Joined: 2010-4-03 @ 21:39
Location: Portugal


Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby Jolaes76 » 2013-10-21 @ 19:40

I have a few CT1330a s and CT1600s. Will do the Pro 1 test.
"Ita in vita ut in lusu alae pessima iactura arte corrigenda est."
Jolaes76
Oldbie
 
Posts: 737
Joined: 2011-3-23 @ 09:31
Location: Hungary

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjt » 2013-10-21 @ 22:33

PM sent, thanks for your help.

I recently moved house and all my retro stuff is still in boxes, so these latest changes were developed using Bochs' SB emulation. Hopefully they will work on real hardware.
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby carlostex » 2013-10-22 @ 09:25

OK, i have news.

Tested with Sound Blaster Pro2 CT1600.

Red Baron and Wing Commander 2 sounded perfect, but Wing Commander 1 didn't, instruments sounded wrong even after a full reboot. Tried several times.

I found however that it was impossible to run a game with General MIDI. It does not detect MPU-401 on GM games.

Did you go for Intelligent mode support only?
User avatar
carlostex
l33t
 
Posts: 2009
Joined: 2010-4-03 @ 21:39
Location: Portugal

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby bjt » 2013-10-22 @ 10:15

Interesting. Maybe silly question but did you reset your MT-32 before running WC1? Was this on a fast machine? It might be that I need to put some throttling in.

Were the GM games protected mode (e.g. using DOS extenders)? These won't work unfortunately as the port trap doesn't work in PM.

Both intelligent mode and UART should work for real mode games.

Thanks :-)
User avatar
bjt
Oldbie
 
Posts: 1429
Joined: 2013-2-06 @ 10:40
Location: UK

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby Mau1wurf1977 » 2013-10-22 @ 10:38

Hi bjt!

Also happy test this if you want.

Can do it on my 486DX-2 machine and a Sound Blaster Pro 2.
User avatar
Mau1wurf1977
l33t++
 
Posts: 7652
Joined: 2010-8-27 @ 04:15
Location: Western Australia

Re: SoftMPU 1.6 - Software Intelligent MPU-401 Emulator

Postby carlostex » 2013-10-22 @ 10:58

bjt wrote:Interesting. Maybe silly question but did you reset your MT-32 before running WC1? Was this on a fast machine?


Yes i did reset the MT-32. And rebooting usually does the job as well. This was tested in a fast machine, but it was slowed down to a 386 level by disabling caches.

bjt wrote:Were the GM games protected mode (e.g. using DOS extenders)? These won't work unfortunately as the port trap doesn't work in PM.


The games i tried were:
Tyrian
Raptor: Call of the Shadows
Duke Nukem 3D
DOOM

I think all of these use DOS/4GW, but not sure.
User avatar
carlostex
l33t
 
Posts: 2009
Joined: 2010-4-03 @ 21:39
Location: Portugal

PreviousNext

Return to SoftMPU

Who is online

Users browsing this forum: No registered users and 1 guest