VOGONS

Common searches


First post, by carlostex

User metadata
Rank l33t
Rank
l33t

Hi,

i made a small program to effectively change the port for the MPU-401 on Lost Vikings. Doing so in the SETUP program actually does nothing, so my program actually patches the Miles driver inside the big DATA.DAT file.

Take notice that when you change the port it will also change for MT-32. If you select MT-32 on the setup it will try to run the game in whatever address was patched on the Miles driver. So use the program to put it back to 330h.

Filename
LVPORT.exe
File size
1.86 KiB
Downloads
82 downloads
File license
Public domain

EDIT: New version, allows for user input rather than choice of ports:

Filename
lvmpu.exe
File size
1.95 KiB
Downloads
76 downloads
File license
Public domain
Last edited by carlostex on 2021-02-18, 00:57. Edited 2 times in total.

Reply 2 of 18, by carlostex

User metadata
Rank l33t
Rank
l33t

By the way, i forgot to add that the DATA.DAT file must be 1.570.544 bytes long, otherwise this patch might not work and actually corrupt your file. I'll improve the patch when i have time.

Reply 7 of 18, by Tempus

User metadata
Rank Newbie
Rank
Newbie

Hey, Carlostex, would you be willing to share the source for this so it can be used for other cards using other addresses too? I have this problem using an LAPC-I on 330, but I want to use an SCC-1A on 336.

Akumajo Dracula: Belmont's Theme Roland MT-32 | Yamaha YM2151

Reply 8 of 18, by 8bitbubsy

User metadata
Rank Member
Rank
Member

So me and Tempus got this to work with port 336, but we had to hex edit DATA.DAT because LVPORT.EXE can't change the last nybble of the output address.
Do you want to change it so that you can? Instead of using a switch case for the 0..9 numbers like you are doing in your program, you could just allow an input of two digits, and then convert that to hex and use it for the patching.

386:
- CPU: 386DX-40 (128kB external L1 cache)
- RAM: 8MB (0 waitstates at 40MHz)
- VGA: Diamond SpeedSTAR VGA (ET4000AX 1MB ISA)
- Audio: SB Pro 2.0 + GUS 1MB
- ISA PS/2 mouse card + ISA USB card
- MS-DOS 6.22 + Win 3.1
- MR BIOS

Reply 9 of 18, by carlostex

User metadata
Rank l33t
Rank
l33t

I don't mind making it more robust. Granted, the SCC-1 is probably the only card that has those weird ports. I'll update the program with user input.

EDIT: In the meantime here's a revised version to accomodate you for port 336h.

Filename
LVPORT.exe
File size
1.87 KiB
Downloads
63 downloads
File license
Fair use/fair dealing exception
Last edited by carlostex on 2021-02-16, 21:27. Edited 1 time in total.

Reply 10 of 18, by Tempus

User metadata
Rank Newbie
Rank
Newbie

I uploaded the diagram for the address-switches

Attachments

Akumajo Dracula: Belmont's Theme Roland MT-32 | Yamaha YM2151

Reply 11 of 18, by carlostex

User metadata
Rank l33t
Rank
l33t
Tempus wrote on 2021-02-16, 20:50:

I uploaded the diagram for the address-switches

I'm aware of the ports the SCC-1 uses, Tyrian is a game that supports all those on purpose, because of an SCC-1. I've made a revised version of the program real fast to make port 336h available. I've uploaded it on my previous post. This program was coded in assembly, so i'll make a better version wit huser input in the future.

Reply 12 of 18, by Tempus

User metadata
Rank Newbie
Rank
Newbie

Lots of games support those ports, like Doom, Duke Nukem 3D, Rise of the Triad. And Lost Vikings. It just ignores the settings made by SETUP.EXE.

Akumajo Dracula: Belmont's Theme Roland MT-32 | Yamaha YM2151

Reply 13 of 18, by 8bitbubsy

User metadata
Rank Member
Rank
Member

I wrote an 8086 asm version which allows you to enter the two digits of the address:
https://16-bits.org/etc/lvmusprt.zip

Please note that I am new to x86 asm coding, and as such the included code is not the best.
EDIT: Can this port have A..F digits in it? If so, I need A..F hex range checking as well.
EDIT2: Added A..F/a..f range.

Last edited by 8bitbubsy on 2021-02-24, 12:02. Edited 1 time in total.

386:
- CPU: 386DX-40 (128kB external L1 cache)
- RAM: 8MB (0 waitstates at 40MHz)
- VGA: Diamond SpeedSTAR VGA (ET4000AX 1MB ISA)
- Audio: SB Pro 2.0 + GUS 1MB
- ISA PS/2 mouse card + ISA USB card
- MS-DOS 6.22 + Win 3.1
- MR BIOS

Reply 14 of 18, by carlostex

User metadata
Rank l33t
Rank
l33t
8bitbubsy wrote on 2021-02-16, 22:20:
I wrote an 8086 asm version which allows you to enter the two digits of the address: https://16-bits.org/etc/lvmusprt.zip […]
Show full quote

I wrote an 8086 asm version which allows you to enter the two digits of the address:
https://16-bits.org/etc/lvmusprt.zip

Please note that I am new to x86 asm coding, and as such the included code is not the best.
EDIT: Can this port have A..F digits in it? If so, I need A..F hex range checking as well.

I don't really think there's need to check for A to F digits, all cards i know mostly offer ports with number digits. The Audiotrix Pro does have an option to put on 3B0, or something like that but it also offers 330 and 370 so i don't see the need.

EDIT: I'll update a revised version of my tool later, that does conversion for the digits as well. Just for peace of mind.

Reply 15 of 18, by carlostex

User metadata
Rank l33t
Rank
l33t

Ok new version now available, now user can type port instead of a pre made selection. The old version is still available if someone prefers the older one.

This new version also does A-F hex digits, for those cards that have options for weird ports.

Reply 16 of 18, by Gopher666

User metadata
Rank Newbie
Rank
Newbie

Sorry to bump such an old topic up but does this game using MIDI at all? During the setup there is just the sound driver so I assumed that it is not using MIDI.
Either way I have a Sound Blaster 5.1 SB0600 and it sounds absolutely terrible for some reason in both DOS and Win98SE.

I'm using Phils sound blaster driver for dos where he changed the soundfont to a 8MB "better" version but either way changing it back to the default 2MB version makes absolutely no difference for me.

Reply 17 of 18, by Cbb

User metadata
Rank Newbie
Rank
Newbie

Lost Vikings do use the the sound card's GM possibilities through MPU401 port (usually 330h or 300h). Check the settings of your Live! card in the device manager, also check MIDI routing in multimedia tab in the control panel. And with this card you'll never get any wavetable sound in pure DOS, there's only SB and OPL3 emulation.

Reply 18 of 18, by Falcosoft

User metadata
Rank Oldbie
Rank
Oldbie
Cbb wrote on 2021-06-22, 10:55:

... And with this card you'll never get any wavetable sound in pure DOS, there's only SB and OPL3 emulation.

This is not true. The SB Live can not use .SF2 soundfonts under pure DOS but can use the Ensoniq based .ECW soundfonts (there are only 3 of them : 2, 4, 8 MB versions). The SBEINIT.COM driver automatically loads the one with the name 'default.ecw' by default. Actually SB Live under DOS with these ECW soundfonts is a decent GM device. With the help of its mixer utility it also can be put into MT-32 compatible mode. Obviously this mode can only work somewhat with games that do not use custom instruments.

@Gopher666:
You have to select 'Roland SCC-1/General Midi' as sound driver. Otherwise if you select any Sound Blaster options instead the game will use the SB Live's horrible FM/OPL3 emulation.

Website, Facebook, Youtube
Falcosoft Soundfont Midi Player + Munt VSTi + BassMidi VSTi
VST Midi Driver Midi Mapper