Reply 300 of 419, by dr.zeissler
No ISA free 🙁
Retro-Gamer 😀 ...on different machines
No ISA free 🙁
Retro-Gamer 😀 ...on different machines
wrote:Any chance to get this thing working on a 286 ? (probably not)
Not as-is, but perhaps it is possible to use the same trick we used for Tandy:
Patch 'out' instructions to 'int' instructions, so that an interrupt handler, installed by a TSR, will be called.
Downside is of course that every game will need its own patch in order to work, so it won't be a generic solution.
wrote:No ISA free 🙁
wrote:Not as-is, but perhaps it is possible to use the same trick we used for Tandy: Patch 'out' instructions to 'int' instructions, s […]
wrote:Any chance to get this thing working on a 286 ? (probably not)
Not as-is, but perhaps it is possible to use the same trick we used for Tandy:
Patch 'out' instructions to 'int' instructions, so that an interrupt handler, installed by a TSR, will be called.
Downside is of course that every game will need its own patch in order to work, so it won't be a generic solution.
Only option will be clearing an ISA slot then, otherwise no luck. 😢
Are all the ISA cards really crucial? Most 286s have multiple or even just ISA slots, no?
"I will take your bones, still alive and in great pain, and make them into a chair. I will call it "My Screaming Chair". Every morning I will sit in it and listen to you scream. Any questions?"
Amiga Brideboard. VGA/LAN/HDD/SOUND, so no way 🙁
3x 16Bit ISA available (normally 1x16+2x8; but Board is extended to 3x16)
Current configuration:
1. VGA ET4000
2. SC1630 Formosa (ESS/SBPRO/MPU401)+primery IDE-Interface with CF-Card and Ontrak Diskmanager
3. EtherlinkIII
I really need VGA, otherwise emulated MDA/CGA is no option for me.
I really need Sound and HDD, no LPT-Option for the amiga-side here.
I really need LAN otherwise I'll have to copy the files with Disks 🙁
Retro-Gamer 😀 ...on different machines
So, sadly for the 286 lovers here, that's a definite "No" on SoftMPU. Only HardMPU (or ofcourse a genuine classic MPU-401 card), given there's an ISA slot to spare.
"I will take your bones, still alive and in great pain, and make them into a chair. I will call it "My Screaming Chair". Every morning I will sit in it and listen to you scream. Any questions?"
wrote:wrote:I'd be happy to try a patched version! Would bypassing the RTC check affect functionality much?
No, it will still use the RTC. Not really sure why the check is failing on your Compaq (could your copy of SoftMPU be corrupt?) but here's a patched version anyway.
Just noticed that I have the same problem with RTC check. This computer is Compaq Prolinea 4/25s. Seems that patched version (without check) works for me too. Maybe the official version could have flag to skip the check for our special needs Compaqs 😁
Question out of interest / wanting to learn: what would be the maximum recommended clockspeed of a pure DOS 6.22 machine using a MT-32 and SC-55 together with SoftMPU?
I've got a AMD K6-2 400MHz running at stock speed, is 400MHz okay for DOS games and the MT-32, SC-55 and SoftMPU? Or is downclocking a wise choice?
"I will take your bones, still alive and in great pain, and make them into a chair. I will call it "My Screaming Chair". Every morning I will sit in it and listen to you scream. Any questions?"
wrote:Question out of interest / wanting to learn: what would be the maximum recommended clockspeed of a pure DOS 6.22 machine using a MT-32 and SC-55 together with SoftMPU?
I've got a AMD K6-2 400MHz running at stock speed, is 400MHz okay for DOS games and the MT-32, SC-55 and SoftMPU? Or is downclocking a wise choice?
I clocked my K6-3+ Down to 200 mhz which seems to provide awesome compatibility - I have an AWE64 and the Yamaha OPL3 board many folks have and run midi via the onboard port for both without issues via SoftMPU (i leave it running even for games that don't need it). I don't run both cards at the same time, I swap them out depending on the games I'm playing - I can also run my CPU up to 500 mhz without issue of I want to run something more demanding. I also take out the S3 Virge and swap in a GeForce 6200 for quake 3D etc.
The impossible often has a kind of integrity which the merely improbable lacks.
wrote:wrote:Question out of interest / wanting to learn: what would be the maximum recommended clockspeed of a pure DOS 6.22 machine using a MT-32 and SC-55 together with SoftMPU?
I've got a AMD K6-2 400MHz running at stock speed, is 400MHz okay for DOS games and the MT-32, SC-55 and SoftMPU? Or is downclocking a wise choice?
I clocked my K6-3+ Down to 200 mhz which seems to provide awesome compatibility
Have you noticed differences between 500 and 200 regarding compatibility?
I have an AWE64 and the Yamaha OPL3 board many folks have and run midi via the onboard port for both without issues via SoftMPU (i leave it running even for games that don't need it). I don't run both cards at the same time, I swap them out depending on the games I'm playing - I can also run my CPU up to 500 mhz without issue of I want to run something more demanding.
No possibility of running them together, using different settings? I've got a AWE32 (ISA) running next to a Aureal Vortex 2 (PCI). I use the AWE32 for speech, samples and the Waveblaster option and I use the Vortex 2 for the MPU-401 interface.
I also take out the S3 Virge and swap in a GeForce 6200 for quake 3D etc.
Seems like quite a hassle; isn't the 6200 capable of doing decent 2D work?
"I will take your bones, still alive and in great pain, and make them into a chair. I will call it "My Screaming Chair". Every morning I will sit in it and listen to you scream. Any questions?"
wrote:Have you noticed differences between 500 and 200 regarding compatibility? […]
wrote:wrote:Question out of interest / wanting to learn: what would be the maximum recommended clockspeed of a pure DOS 6.22 machine using a MT-32 and SC-55 together with SoftMPU?
I've got a AMD K6-2 400MHz running at stock speed, is 400MHz okay for DOS games and the MT-32, SC-55 and SoftMPU? Or is downclocking a wise choice?
I clocked my K6-3+ Down to 200 mhz which seems to provide awesome compatibility
Have you noticed differences between 500 and 200 regarding compatibility?
I have an AWE64 and the Yamaha OPL3 board many folks have and run midi via the onboard port for both without issues via SoftMPU (i leave it running even for games that don't need it). I don't run both cards at the same time, I swap them out depending on the games I'm playing - I can also run my CPU up to 500 mhz without issue of I want to run something more demanding.
No possibility of running them together, using different settings? I've got a AWE32 (ISA) running next to a Aureal Vortex 2 (PCI). I use the AWE32 for speech, samples and the Waveblaster option and I use the Vortex 2 for the MPU-401 interface.
I also take out the S3 Virge and swap in a GeForce 6200 for quake 3D etc.
Seems like quite a hassle; isn't the 6200 capable of doing decent 2D work?
Tbh I haven't found anything specific that didn't work at 500 but I figure the chip will last longer under clocked too.
both sound cards are ISA cards and one of my 2 slots is a dud so that's the main reason.
I found a bunch of games like the Sierra quest games don't like the 6200 which is a shame because it'd be easier to just use it and put the Virge away.
The impossible often has a kind of integrity which the merely improbable lacks.
wrote:Just noticed that I have the same problem with RTC check. This computer is Compaq Prolinea 4/25s. Seems that patched version (without check) works for me too. Maybe the official version could have flag to skip the check for our special needs Compaqs 😁
Thanks for the report. I'm planning to remove this check as it's pretty redundant anyway.
wrote:wrote:Just noticed that I have the same problem with RTC check. This computer is Compaq Prolinea 4/25s. Seems that patched version (without check) works for me too. Maybe the official version could have flag to skip the check for our special needs Compaqs 😁
Thanks for the report. I'm planning to remove this check as it's pretty redundant anyway.
Much more thanks for the software. It works like a charm (the version that don't have the check). I don' need to get real MPU-401 card and can use all my ISA-slots for other use (LAN, GUS MAX and OPL3sax-card).
wrote:I don' need to get real MPU-401 card and can use all my ISA-slots for other use (LAN, GUS MAX and OPL3sax-card).
Glad it's useful for you 😎
New release out now - please see the first post for details.
Other than the major fixes mentioned, this release removes the requirement to specify a Sound Blaster address and interrupt in MPU-401 mode. If a Sound Blaster isn't specified, SoftMPU will run in non-interrupt mode, and game compatibility will be reduced accordingly. This is intended for use with UART-only MPUs in situations where a Sound Blaster may not be available, for example with PCMCIA or LPC MPUs.
I tried running Ecargxus by The Phoney Coders: http://www.pouet.net/prod.php?which=4248
I used the new DreamBlaster S2P fork, which also runs without interrupts. I didn't get any sound, so I guess this demo requires interrupts?
Would it be very difficult to add interrupt support for all devices? Firing a software interrupt shouldn't be too difficult, so I suppose it's only about getting it to fire at the right time? The state machine for the irq generation should already be in the DOSBox code.
Yes, it requires interrupts.
Not sure if triggering the interrupts from software would work. There might be a problem if the game's ISR sends a non-specific EOI to the 8259.
wrote:Not sure if triggering the interrupts from software would work. There might be a problem if the game's ISR sends a non-specific EOI to the 8259.
Hum yes, in some cases that may be an issue...
Of course one could also virtualize that port, but I'm not sure how far you'd have to go.
If it's just a case of filtering out EOIs when you are inside the software-triggered interrupt, it's not too difficult. You'd just get this:
cli
intTriggered = true;
int 0Ah
intTriggered = false;
sti
...
if (!intTriggered)
out 20h, al
But the problem may be that during the handling of int 0Ah, they enable interrupts again, and an actual hardware interrupt is triggered.
That could also be solved in theory, by checking the PIC state to see if any interrupts are active (you'd probably want to store the old interrupt state at the time you set intTriggered = true, because a hardware interrupt may already be active, just masked).
So then you'd get:
if (!intTriggered || intActive)
out 20h, al
Hum, well, it may be an even bigger can of worms than this...
Mind you, I think 99% of the time you'll get lucky, and just letting extra EOIs through shouldn't be an issue in most cases.
Does this still not work with JEMM386/FreeDOS?
That is correct.
So I'm running the latest version of SoftMPU
AMD DX4-100
64MB RAM
SB32PNP
MT32 hooked up via SB MPU401
Windows 98 SE command.com
Standard hardware settings (IRQ 5, port 220 Midi port 330).
When I run SoftMPU, the system is unstable. If i just type "dir" I get 'your program caused a divide overflow error".
I'm able to get older SCI based sierra games running without SoftMPU (using the mt32sb.exe driver hack), so i can verify the sound hardware does work.
Does anyone have any clues?
thanks in advance!
I have no clue what I'm doing! If you want to watch me fumble through all my retro projects, you can watch here: https://www.youtube.com/user/MrDavejustdave