VOGONS

Common searches


DOSBox-X branch

Topic actions

Reply 1880 of 1976, by Majinken

User metadata
Rank Newbie
Rank
Newbie
TheGreatCodeholio wrote on 2020-04-16, 17:31:
Thought so. The way PC speaker code renders audio works fine for the 1ms increments it normally renders but it breaks when asked […]
Show full quote
Majinken wrote on 2020-04-16, 16:15:
@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though :( Still […]
Show full quote
TheGreatCodeholio wrote on 2020-04-16, 15:46:

Try turning off the sample accurate setting. Sample accurate rendering is possible in the latest code without setting that option.

EDIT: In fact, sample accurate mode clashes badly with the PC speaker emulation because of the way PC speaker emulation was/is written.

@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though 🙁 Still just the black screen... But thank you on the tip, at least the EGA/CGA now works good, just gotta figure out how to make Tandy work 😀

@_Rob: If you don't mind me asking, where did you purchase your PC Booter version? Or is it something you had from the old times?

Edit: Ok, I'm thinking that the Steam and GOG versions are cracked or hacked versions that's why the Tandy version doesn't work. However, I was able to get the bootable disk version but it included 2 disks. So I did this to my conf file...

mount c ..\games\dotc\
c:
boot DOTCEGA1.IMG DOTCEGA2.IMG

Now, when I run the game either on EGA or Tandy, it now works but I get stuck when it asks me to insert disk 2... I press CTRL+F4 to change disks but it doesn't seem to work? I also tried F11+F4... what's the shortcut to change or swap between disks in DOSBox-X?

Edit: Nevermind, got it, thanks! 😀 😀 😀 I'm now a happy camper!

Thought so. The way PC speaker code renders audio works fine for the 1ms increments it normally renders but it breaks when asked to render one sample at a time.

Assuming the Tandy version is not a booter... does running LOADFIX before executing the program get it to work?

A surprising amount of DOS executables fail if loaded to low in memory, including the EXEPACK code Microsoft's Linker used which causes the "Packed file is corrupt" message. This is the reason recent commits to DOSBox-X raise the default minimum MCB segment back up to MS-DOS 7.0-like defaults.

Running loadfix defender.com shows "Sorry, the DOS memory required by the game is not free. 64kb freed,"
Then I tried loadfix -10 defender.com, it runs but proceeds with the black screen.

Reply 1881 of 1976, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie
Majinken wrote on 2020-04-16, 17:57:
TheGreatCodeholio wrote on 2020-04-16, 17:31:
Thought so. The way PC speaker code renders audio works fine for the 1ms increments it normally renders but it breaks when asked […]
Show full quote
Majinken wrote on 2020-04-16, 16:15:
@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though :( Still […]
Show full quote

@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though 🙁 Still just the black screen... But thank you on the tip, at least the EGA/CGA now works good, just gotta figure out how to make Tandy work 😀

@_Rob: If you don't mind me asking, where did you purchase your PC Booter version? Or is it something you had from the old times?

Edit: Ok, I'm thinking that the Steam and GOG versions are cracked or hacked versions that's why the Tandy version doesn't work. However, I was able to get the bootable disk version but it included 2 disks. So I did this to my conf file...

mount c ..\games\dotc\
c:
boot DOTCEGA1.IMG DOTCEGA2.IMG

Now, when I run the game either on EGA or Tandy, it now works but I get stuck when it asks me to insert disk 2... I press CTRL+F4 to change disks but it doesn't seem to work? I also tried F11+F4... what's the shortcut to change or swap between disks in DOSBox-X?

Edit: Nevermind, got it, thanks! 😀 😀 😀 I'm now a happy camper!

Thought so. The way PC speaker code renders audio works fine for the 1ms increments it normally renders but it breaks when asked to render one sample at a time.

Assuming the Tandy version is not a booter... does running LOADFIX before executing the program get it to work?

A surprising amount of DOS executables fail if loaded to low in memory, including the EXEPACK code Microsoft's Linker used which causes the "Packed file is corrupt" message. This is the reason recent commits to DOSBox-X raise the default minimum MCB segment back up to MS-DOS 7.0-like defaults.

Running loadfix defender.com shows "Sorry, the DOS memory required by the game is not free. 64kb freed,"
Then I tried loadfix -10 defender.com, it runs but proceeds with the black screen.

What about loadfix -15, loadfix -20, loadfix -25, etc...?

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1882 of 1976, by Majinken

User metadata
Rank Newbie
Rank
Newbie
TheGreatCodeholio wrote on 2020-04-16, 17:59:
Majinken wrote on 2020-04-16, 17:57:
TheGreatCodeholio wrote on 2020-04-16, 17:31:

Thought so. The way PC speaker code renders audio works fine for the 1ms increments it normally renders but it breaks when asked to render one sample at a time.

Assuming the Tandy version is not a booter... does running LOADFIX before executing the program get it to work?

A surprising amount of DOS executables fail if loaded to low in memory, including the EXEPACK code Microsoft's Linker used which causes the "Packed file is corrupt" message. This is the reason recent commits to DOSBox-X raise the default minimum MCB segment back up to MS-DOS 7.0-like defaults.

Running loadfix defender.com shows "Sorry, the DOS memory required by the game is not free. 64kb freed,"
Then I tried loadfix -10 defender.com, it runs but proceeds with the black screen.

What about loadfix -15, loadfix -20, loadfix -25, etc...?

Tried loadfix -5 to -45, all proceed to a blacksreen and gets stuck there. When I reach -50 and above... I get the "Sorry, DOS memory, blah" message...

Reply 1883 of 1976, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie
Majinken wrote on 2020-04-16, 18:06:
TheGreatCodeholio wrote on 2020-04-16, 17:59:
Majinken wrote on 2020-04-16, 17:57:

Running loadfix defender.com shows "Sorry, the DOS memory required by the game is not free. 64kb freed,"
Then I tried loadfix -10 defender.com, it runs but proceeds with the black screen.

What about loadfix -15, loadfix -20, loadfix -25, etc...?

Tried loadfix -5 to -45, all proceed to a blacksreen and gets stuck there. When I reach -50 and above... I get the "Sorry, DOS memory, blah" message...

Does the game manual mention joystick support? Some games assume a joystick and they get stuck if there isn't one.

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1884 of 1976, by _Rob

User metadata
Rank Member
Rank
Member
Majinken wrote on 2020-04-16, 16:15:
@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though :( Still […]
Show full quote

@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though 🙁 Still just the black screen... But thank you on the tip, at least the EGA/CGA now works good, just gotta figure out how to make Tandy work 😀

@_Rob: If you don't mind me asking, where did you purchase your PC Booter version? Or is it something you had from the old times?

Edit: Ok, I'm thinking that the Steam and GOG versions are cracked or hacked versions that's why the Tandy version doesn't work. However, I was able to get the bootable disk version but it included 2 disks. So I did this to my conf file...

mount c ..\games\dotc\
c:
boot DOTCEGA1.IMG DOTCEGA2.IMG

Now, when I run the game either on EGA or Tandy, it now works but I get stuck when it asks me to insert disk 2... I press CTRL+F4 to change disks but it doesn't seem to work? I also tried F11+F4... what's the shortcut to change or swap between disks in DOSBox-X?

Edit: Nevermind, got it, thanks! 😀 😀 😀 I'm now a happy camper!

I don't know where I got it from, I think from a large collection of disks I bought at some second hand sale a long time ago. It is just a single 720kB disk, no box or manual or anything.

The game was also available until ~2005 as a free download from the publishers website (until they got bought by egames) as either a CGA or EGA version.
https://web.archive.org/web/20040603154759/ht … lsgame_dotc.asp
It makes we wonder if the Tandy support was perhaps stripped from these versions, and these are the versions now on GoG/Steam?

Does it work in Tandy mode on vanilla DOSBox 0.73-3?

Reply 1885 of 1976, by Majinken

User metadata
Rank Newbie
Rank
Newbie
TheGreatCodeholio wrote on 2020-04-16, 18:41:
Majinken wrote on 2020-04-16, 18:06:
TheGreatCodeholio wrote on 2020-04-16, 17:59:

What about loadfix -15, loadfix -20, loadfix -25, etc...?

Tried loadfix -5 to -45, all proceed to a blacksreen and gets stuck there. When I reach -50 and above... I get the "Sorry, DOS memory, blah" message...

Does the game manual mention joystick support? Some games assume a joystick and they get stuck if there isn't one.

Yes, I believe it has joystick support since the the in-game menu shows an option to enable/disable joystick. The problem with that is I only have a PS4 controller which I think won't work?

Reply 1886 of 1976, by Majinken

User metadata
Rank Newbie
Rank
Newbie
_Rob wrote on 2020-04-16, 18:51:
I don't know where I got it from, I think from a large collection of disks I bought at some second hand sale a long time ago. It […]
Show full quote
Majinken wrote on 2020-04-16, 16:15:
@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though :( Still […]
Show full quote

@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though 🙁 Still just the black screen... But thank you on the tip, at least the EGA/CGA now works good, just gotta figure out how to make Tandy work 😀

@_Rob: If you don't mind me asking, where did you purchase your PC Booter version? Or is it something you had from the old times?

Edit: Ok, I'm thinking that the Steam and GOG versions are cracked or hacked versions that's why the Tandy version doesn't work. However, I was able to get the bootable disk version but it included 2 disks. So I did this to my conf file...

mount c ..\games\dotc\
c:
boot DOTCEGA1.IMG DOTCEGA2.IMG

Now, when I run the game either on EGA or Tandy, it now works but I get stuck when it asks me to insert disk 2... I press CTRL+F4 to change disks but it doesn't seem to work? I also tried F11+F4... what's the shortcut to change or swap between disks in DOSBox-X?

Edit: Nevermind, got it, thanks! 😀 😀 😀 I'm now a happy camper!

I don't know where I got it from, I think from a large collection of disks I bought at some second hand sale a long time ago. It is just a single 720kB disk, no box or manual or anything.

The game was also available until ~2005 as a free download from the publishers website (until they got bought by egames) as either a CGA or EGA version.
https://web.archive.org/web/20040603154759/ht … lsgame_dotc.asp
It makes we wonder if the Tandy support was perhaps stripped from these versions, and these are the versions now on GoG/Steam?

Does it work in Tandy mode on vanilla DOSBox 0.73-3?

It's funny that you mentioned Tandy on vanilla DOSBox and me forgetting to mention it, Tandy also, does not work on vanilla which lead me to the assumption that the GOG and Steam versions are either hacked or cracked versions. Your lucky to have been able to buy them disks. I'd say they are now collector items. 😀

Reply 1887 of 1976, by _Rob

User metadata
Rank Member
Rank
Member
Majinken wrote on 2020-04-17, 05:08:
_Rob wrote on 2020-04-16, 18:51:
I don't know where I got it from, I think from a large collection of disks I bought at some second hand sale a long time ago. It […]
Show full quote
Majinken wrote on 2020-04-16, 16:15:
@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though :( Still […]
Show full quote

@TheGreatCodeholio: Wow! Disabling the accurate mode fixed the muffled/distorted sound. Tandy still doesn't work though 🙁 Still just the black screen... But thank you on the tip, at least the EGA/CGA now works good, just gotta figure out how to make Tandy work 😀

@_Rob: If you don't mind me asking, where did you purchase your PC Booter version? Or is it something you had from the old times?

Edit: Ok, I'm thinking that the Steam and GOG versions are cracked or hacked versions that's why the Tandy version doesn't work. However, I was able to get the bootable disk version but it included 2 disks. So I did this to my conf file...

mount c ..\games\dotc\
c:
boot DOTCEGA1.IMG DOTCEGA2.IMG

Now, when I run the game either on EGA or Tandy, it now works but I get stuck when it asks me to insert disk 2... I press CTRL+F4 to change disks but it doesn't seem to work? I also tried F11+F4... what's the shortcut to change or swap between disks in DOSBox-X?

Edit: Nevermind, got it, thanks! 😀 😀 😀 I'm now a happy camper!

I don't know where I got it from, I think from a large collection of disks I bought at some second hand sale a long time ago. It is just a single 720kB disk, no box or manual or anything.

The game was also available until ~2005 as a free download from the publishers website (until they got bought by egames) as either a CGA or EGA version.
https://web.archive.org/web/20040603154759/ht … lsgame_dotc.asp
It makes we wonder if the Tandy support was perhaps stripped from these versions, and these are the versions now on GoG/Steam?

Does it work in Tandy mode on vanilla DOSBox 0.73-3?

It's funny that you mentioned Tandy on vanilla DOSBox and me forgetting to mention it, Tandy also, does not work on vanilla which lead me to the assumption that the GOG and Steam versions are either hacked or cracked versions. Your lucky to have been able to buy them disks. I'd say they are now collector items. 😀

So with the DOSBox you get from GoG or Steam, the Tandy support works? Did you try with any others like DOSBox ECE or DOSBox Staging?
In any case, since DOSBox is under the GPL license, any modifications made to it by GoG/Steam must be made available.

Reply 1888 of 1976, by Majinken

User metadata
Rank Newbie
Rank
Newbie
_Rob wrote on 2020-04-17, 13:27:
Majinken wrote on 2020-04-17, 05:08:
_Rob wrote on 2020-04-16, 18:51:
I don't know where I got it from, I think from a large collection of disks I bought at some second hand sale a long time ago. It […]
Show full quote

I don't know where I got it from, I think from a large collection of disks I bought at some second hand sale a long time ago. It is just a single 720kB disk, no box or manual or anything.

The game was also available until ~2005 as a free download from the publishers website (until they got bought by egames) as either a CGA or EGA version.
https://web.archive.org/web/20040603154759/ht … lsgame_dotc.asp
It makes we wonder if the Tandy support was perhaps stripped from these versions, and these are the versions now on GoG/Steam?

Does it work in Tandy mode on vanilla DOSBox 0.73-3?

It's funny that you mentioned Tandy on vanilla DOSBox and me forgetting to mention it, Tandy also, does not work on vanilla which lead me to the assumption that the GOG and Steam versions are either hacked or cracked versions. Your lucky to have been able to buy them disks. I'd say they are now collector items. 😀

So with the DOSBox you get from GoG or Steam, the Tandy support works? Did you try with any others like DOSBox ECE or DOSBox Staging?
In any case, since DOSBox is under the GPL license, any modifications made to it by GoG/Steam must be made available.

Nope, the Tandy version of DoTC from GoG, Steam, and others I found online do not work though the CGA and EGA ones do. I was able to get Tandy working by buying the disk version image which included 2 disks. This is applicable across all DOSBox variants though I love using this fork the best. 😀

Reply 1889 of 1976, by _Rob

User metadata
Rank Member
Rank
Member
Majinken wrote on 2020-04-17, 13:56:

Nope, the Tandy version of DoTC from GoG, Steam, and others I found online do not work though the CGA and EGA ones do. I was able to get Tandy working by buying the disk version image which included 2 disks. This is applicable across all DOSBox variants though I love using this fork the best. 😀

I suspect that some file(s) are missing that are needed for Tandy support. If it was a joystick issue, I would expect that to also effect it in CGA/EGA mode and not just Tandy mode.

When you start it, do you get the screen asking if you want CGA/EGA or CGA/Tandy? That is what I get with the PC Booter version, depending on machine= setting. Unfortunately the PC Booter version does not use a FAT filesystem, so I cannot tell you what files it contains.

In any case, I don't think there is anything more to do.

Reply 1890 of 1976, by Majinken

User metadata
Rank Newbie
Rank
Newbie
_Rob wrote on 2020-04-17, 19:43:
I suspect that some file(s) are missing that are needed for Tandy support. If it was a joystick issue, I would expect that to al […]
Show full quote
Majinken wrote on 2020-04-17, 13:56:

Nope, the Tandy version of DoTC from GoG, Steam, and others I found online do not work though the CGA and EGA ones do. I was able to get Tandy working by buying the disk version image which included 2 disks. This is applicable across all DOSBox variants though I love using this fork the best. 😀

I suspect that some file(s) are missing that are needed for Tandy support. If it was a joystick issue, I would expect that to also effect it in CGA/EGA mode and not just Tandy mode.

When you start it, do you get the screen asking if you want CGA/EGA or CGA/Tandy? That is what I get with the PC Booter version, depending on machine= setting. Unfortunately the PC Booter version does not use a FAT filesystem, so I cannot tell you what files it contains.

In any case, I don't think there is anything more to do.

I agree that it may not be related to the joystick as CGA/EGA work fine. Missing files are a possibility. At any rate, everything seems ok now.

Now, I will be reviewing how to make PC98 game work. 😀 Does any know how to boot a game with multiple .fdd files? Is it the same as the boot command? I heard some PC98 games require a user disk?

Reply 1891 of 1976, by _Rob

User metadata
Rank Member
Rank
Member

I have not tried pc98, but have experience with another Japanese system which uses user disks.

This should work
BOOT disk1.img disk2.img user-disk.img

You can then cycle between the disks when prompted.

Alternatively, depending on the game, something like this may work:
imgmount b user-disk.img
boot disk1.img disk2.img

This way your user-disk is in the B: drive, and you cycle the game disks in the A: drive.

Reply 1892 of 1976, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie

I have a question about I/O port C0h (the SN76496) on Tandy systems, based on an interesting bug fix related to Prince of Persia in DOSBox-X recently with machine=tandy.

I/O port C0h (the SN76496) is 8 bits wide, correct?

Prince of Persia appears to have code that writes the volume registers with 8-bit I/O and the frequency registers with 16-bit I/O to port C0h. They are separate routines.

Is there any benefit to doing that? Why would a game do that?

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1893 of 1976, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie

This is the 8-bit I/O for volume. Note it makes it impossible to use it for even numbered registers:

1497:00008C39 2AE4                sub  ah,ah
1497:00008C3B B103 mov cl,03
1497:00008C3D D2C8 ror al,cl
1497:00008C3F 2460 and al,60
1497:00008C41 0C90 or al,90
1497:00008C43 F6D4 not ah
1497:00008C45 80E40F and ah,0F
1497:00008C48 0AC4 or al,ah
1497:00008C4A E6C0 out C0,al
1497:00008C4C C3 ret

This is the 16-bit I/O for frequency. Again, it limits itself by ANDing to only allow access to even numbered registers.

1497:00008A28 8A850200            mov  al,[di+0002]           ds:[001C]=5B02
1497:00008A2C B103 mov cl,03
1497:00008A2E D2C8 ror al,cl
1497:00008A30 256000 and ax,0060
1497:00008A33 8ADA mov bl,dl
1497:00008A35 D0E3 shl bl,1
1497:00008A37 2AFF sub bh,bh
1497:00008A39 2E8B8F598A mov cx,cs:[bx-75A7] [illegal]
1497:00008A3E E3E6 jcxz 00008A26 ($-1a) (no jmp)
1497:00008A40 0BC1 or ax,cx
1497:00008A42 E7C0 out C0,ax

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1894 of 1976, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie

I just finished a fix for DOSBox-X to eliminate the popping noises with Prince of Persia's Tandy DAC sound effects. It would be nice if PoP let the waveform end at DC zero at the end, but that's not the case.

The fix works by emulating apparent Tandy 1000 behavior where disabling the DAC after playback causes the DAC to decay to DC zero quickly, rather than immediately jumping to zero.

I dug out a Tandy 1000, an MCE2VGA and a capture card to record video evidence of this which I can post if that is desired.

It's a game related patch, so perhaps the main SVN project would like it. Anyone want it?

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1895 of 1976, by Majinken

User metadata
Rank Newbie
Rank
Newbie
_Rob wrote on 2020-04-18, 11:30:
I have not tried pc98, but have experience with another Japanese system which uses user disks. […]
Show full quote

I have not tried pc98, but have experience with another Japanese system which uses user disks.

This should work
BOOT disk1.img disk2.img user-disk.img

You can then cycle between the disks when prompted.

Alternatively, depending on the game, something like this may work:
imgmount b user-disk.img
boot disk1.img disk2.img

This way your user-disk is in the B: drive, and you cycle the game disks in the A: drive.

Thanks! Been playing around PC98... hope there's a way to automate swap disks easier than f11+left ctrl+d 😀 peace!

Reply 1896 of 1976, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie

Here's another patch you guys might be interested in looking at from DOSBox-X. This affects PC speaker emulation and sound effects in PC booter game "Paratrooper". Apparently the helicopter noises are made by alternating between count == 1 and count == 2. The game sets mode 3 and does not change the mode during the game.

Apparently mode 3 is unique in that both count == 0 and count == 1 generate a low frequency square wave.

https://github.com/joncampbell123/dosbox-x/issues/1492

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1897 of 1976, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The odd number counter for square wave is currently handled for reading the counter (&oxfffe), which was needed for Corncob 3D. So I wonder if it would be correct to do the same when the counter is written rather than treating 1 as a special case.

Reply 1898 of 1976, by TheGreatCodeholio

User metadata
Rank Oldbie
Rank
Oldbie
ripsaw8080 wrote on 2020-04-28, 07:50:

The odd number counter for square wave is currently handled for reading the counter (&oxfffe), which was needed for Corncob 3D. So I wonder if it would be correct to do the same when the counter is written rather than treating 1 as a special case.

What did Corncob 3D do differently prior to masking off the counter?

I've seen no issues on DOSBox-X with Corncob 3D, other than requiring a vmemdelay (slow video memory down) to prevent flickering.

I will make sure DOSBox-X masks the LSB as documented by Intel, I'm just curious what happened with Corncob 3D for that code. EDIT: Yes, DOSBox-X implements similar behavior in it's 8254 emulation for mode 3.

In any case the LSB masking only affects reading the counter.

DOSBox-X project: more emulation better accuracy.
DOSLIB and DOSLIB2: Learn how to tinker and hack hardware and software from DOS.

Reply 1899 of 1976, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author
TheGreatCodeholio wrote on 2020-04-28, 08:10:

the LSB masking only affects reading the counter.

Yes, but the question is if it should apply when the counter is written. I realize it would halve the number of possible frequencies that can be selected, but the difference is perhaps small enough to be indistinguishable. It seems more like what the hardware would do than making a special case of a counter value of 1.