VOGONS


Thexder EGA vs TANDY/PCjr mode

Topic actions

Reply 40 of 63, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie
Gemini000 wrote:

There is no MCGA mode in the original Thexder...

Begging your pardon, but Thexder supports the following, per each of the 'MAIN' files:

MAIN = CGA
MAINEG = EGA
MAINJR = PCjr/Tandy
MAINPS = PS/2 (MCGA)

I couldn't find an elegant way of defeating the auto-detection, via command-line switches, etc. Luckily, the next best thing works:

If EGA is normally detected, simply rename or copy MAINPS to MAINEG (make a backup first).

Per the screenshots I posted above, the visible differences between the Tandy and MCGA graphics modes include the white in the 'Thexder' logo, and the swapping of teal for light blue in the game screens (I actually prefer the latter). Admittedly, I didn't play beyond the first level, so there are likely further differences.

Reply 41 of 63, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

Too bad they could use red for the laser as it is in the PC-88 original.

http://nerdlypleasures.blogspot.com/ - Nerdly Pleasures - My Retro Gaming, Computing & Tech Blog

Reply 42 of 63, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

Sounds like DOSBox needs a machine=ps2 option so that Thexder can run in MCGA mode without hacking.

Reply 43 of 63, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Sounds like DOSBox needs a machine=ps2

If they need the mcga mode it should work with the default vga option,
if they need ps2 specifics you can code them yourself as the ps2 was a
pretty shitty and in nice details very pc incompatible system.

Reply 44 of 63, by HunterZ

User metadata
Rank l33t++
Rank
l33t++
wd wrote:
If they need the mcga mode it should work with the default vga option, if they need ps2 specifics you can code them yourself as […]
Show full quote

Sounds like DOSBox needs a machine=ps2

If they need the mcga mode it should work with the default vga option,
if they need ps2 specifics you can code them yourself as the ps2 was a
pretty shitty and in nice details very pc incompatible system.

Apparently the way Thexder detects MCGA support only works on PS/2 systems, as machine=vgaonly and machine=svga_s3 (and real SVGA systems) cause the game to use EGA mode instead of MCGA mode.

Reply 45 of 63, by nikiniki

User metadata
Rank Member
Rank
Member

Hi

I knew Thexder is supported MCGA but I never make it to work in MCGA
using 486sx and Dosbox until now. The game always selects EGA.

MCGA has better colour than PCjr but still PCjr is best for 3 voices.

Both MCGA and PCjr are the best because they have more colours than EGA.

Reply 46 of 63, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Apparently the way Thexder detects MCGA support only works on PS/2 systems

If you're bored try playing around with the machine ID stored somewhere in the bios,
that may be the first thing a game would check to discern PCs from ps/2 machines.

Reply 47 of 63, by Cloudschatze

User metadata
Rank Oldbie
Rank
Oldbie
nikiniki wrote:

MCGA has better colour than PCjr but still PCjr is best for 3 voices.

I'm more a fan of the "real Tandy system w/VGA" solution, combining both MCGA graphics AND 3-voice music. 😉

Reply 48 of 63, by nikiniki

User metadata
Rank Member
Rank
Member
Cloudschatze wrote:
nikiniki wrote:

MCGA has better colour than PCjr but still PCjr is best for 3 voices.

I'm more a fan of the "real Tandy system w/VGA" solution, combining both MCGA graphics AND 3-voice music. 😉

I agree. It would be awesome.

Reply 49 of 63, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Thexder detects a PS/2 when INT 15h/AH=C0h reports a machine ID of FAh (PS/2 model 30 w/ 8086) and INT 10h/AH=12h/BL=10h does not modify any registers (EGA detection method). MAINPS searches the system BIOS for the string "Tandy" to identify a Tandy machine.

The attached TSR program uses the DOS file open function as a means to influence the game so MCGA graphics and Tandy sound are used. For this to work in DOSBox, you must use one of the VGA machine types and tandy=on in its settings. The hack that enables Tandy sound may not work if you have a different version of Thexder, or it may cause undesirable side-effects I'm unaware of. Let me know if there are any problems, and I'll fine tune it. Source code is included in the archive.

Reply 50 of 63, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Renaming that thexderPS executable should have the same effect, not?

Reply 51 of 63, by Gemini000

User metadata
Rank l33t
Rank
l33t
Cloudschatze wrote:
Begging your pardon, but Thexder supports the following, per each of the 'MAIN' files: […]
Show full quote
Gemini000 wrote:

There is no MCGA mode in the original Thexder...

Begging your pardon, but Thexder supports the following, per each of the 'MAIN' files:

MAIN = CGA
MAINEG = EGA
MAINJR = PCjr/Tandy
MAINPS = PS/2 (MCGA)

Oops. ^_^;

I've long since lost my box and manual for the game and the disks don't state which modes are supported. Mobygames also doesn't have any MCGA screenshots, though a second look revealed MCGA support in the technical specs.

Ah well. Now that I know more about MCGA in general I'll be sure to be on the lookout for stuff like that. ;)

--- Kris Asick (Gemini)
--- Pixelmusement Website: www.pixelships.com
--- Ancient DOS Games Webshow: www.pixelships.com/adg

Reply 52 of 63, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Renaming that thexderPS executable should have the same effect, not?

Not sure what you were referring to, but the hack puts MCGA and Tandy sound together in DOSBox, and there's no other way to do that at present. If there was something like machine=tandyvga and you renamed MAINPS to MAINJR, that would have the same effect. Actually, a Tandy + VGA machine type could be a useful enhancement for this and other games.

Reply 53 of 63, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Not sure what you were referring to, but the hack puts MCGA and Tandy sound together in DOSBox

A ok i see, didn't notice you're mixing the tandy sound in there.

Actually, a Tandy + VGA machine type could be a useful enhancement for this and other games.

Can the game detect any sort of tandy/pcjr sound device if it's using the ps/2
or ega executable? As that should work with the tandy=true then, independent of
the machine setting.

Reply 54 of 63, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Can the game detect any sort of tandy/pcjr sound device if it's using the ps/2 or ega executable?

I haven't checked all of the executables (it takes some effort to decrypt/decompress them), but the PS executable uses Tandy sound when the string "Tandy" is found in the system BIOS, not by identifying the presence of the sound hardware. With the BIOS string check, I figure that equates to a machine type.

Reply 55 of 63, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Ok but there would be no real system that has a ps/2 architecture along with a tandy string in the bios somewhere, would be some funky hack...

Reply 56 of 63, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The funky hack in this case being to rename the executable files. 😉

Reply 57 of 63, by HunterZ

User metadata
Rank l33t++
Rank
l33t++

I really don't get why people are obsessed with the 3-voice sound anyways, it's just the same damn song looping over and over and over and over and over and over and over and over again.

Reply 58 of 63, by wd

User metadata
Rank DOSBox Author
Rank
DOSBox Author

The funky hack in this case being to rename the executable files.

So renaming MAINPS to MAINJR and setting tandy=true should give this combination, right?

Reply 59 of 63, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

No, renaming the files would only work with the hypothetical machine=tandyvga, which is what I was referring to with my comment. That way you would have the "Tandy" string in BIOS, and mode 13h support for the renamed MAINPS executable.

If tandy=on stuffed a "Tandy" string in the BIOS somewhere, that would open up some options. Then you could rename MAINPS to MAINEG to get around the PS/2 identification with one of the VGA machine types.