VOGONS


Demon's Forge CGA

Topic actions

First post, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

The Demon's Forge booter works only with tandy machine type and will give 16 color graphics. With cga machine type, the graphics are garbled. The Demon's Forge hard drive conversion will work with cga or tandy machine type, but will only show four color RGB graphics. Unfortunately, this means that the composite color graphics cannot really be viewed with DOSBox. Can the booter be fixed (which should also fix the RGB graphics for what they are worth).

Considering the venetian blinds, I assume this game only supports Tandy, not PCjr.

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

Reply 1 of 6, by NewRisingSun

User metadata
Rank Oldbie
Rank
Oldbie

I would suggest purchasing this or this copy and producing a clean disk image instead. It's only fifteen or thirty dollars, after all.

Last edited by NewRisingSun on 2014-02-15, 09:12. Edited 2 times in total.

Reply 2 of 6, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Here is a patch for the Demon's Forge booter that I've been testing to ensure it causes no problems. If you want to test the patch, with *other* booters in particular, that'd be great.

The issue is the quirky way Demon's Forge tries to detect a standard PC: by looking for a sign that the floppy drive uses DMA. The DOS conversion has been hacked to work as if a standard PC was detected, so you always get mode 4 graphics. The patch is only applicable when booting, so it will have no effect on the DOS conversion.

Reply 3 of 6, by Great Hierophant

User metadata
Rank l33t
Rank
l33t
ripsaw8080 wrote:

Here is a patch for the Demon's Forge booter that I've been testing to ensure it causes no problems. If you want to test the patch, with *other* booters in particular, that'd be great.

The issue is the quirky way Demon's Forge tries to detect a standard PC: by looking for a sign that the floppy drive uses DMA. The DOS conversion has been hacked to work as if a standard PC was detected, so you always get mode 4 graphics. The patch is only applicable when booting, so it will have no effect on the DOS conversion.

So, wouldn't the game display Tandy graphics only on a 1000, HX or EX without a DMA chip? As the box specifically identifies the SX, which always has DMA, I assume there is more to the detection routine. I will test the patch.

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

Reply 4 of 6, by Great Hierophant

User metadata
Rank l33t
Rank
l33t

The fix worked, although anyone expecting a revelation will be disappointed. RGB colors use Mode 5, Composite colors Mode 4. I'd take a screenshot but I do not know how to compile that functionality with Visual C++ 2008. So instead I'll attach a release build binary based off r3858 SVN.

In this binary I have included the following .diff patches, which haven't been integrated into the official DOSBox SVN :

boot_floppy_dma
get_pixel_tandy16
opl _percussion
pcjr_32k_2
tandy_sound-low notes
gameblaster-frequency

Last edited by Great Hierophant on 2014-02-16, 22:05. Edited 2 times in total.

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

Reply 5 of 6, by ripsaw8080

User metadata
Rank DOSBox Author
Rank
DOSBox Author

Were you expecting a revelation of something other than CGA graphics that aren't messed up?

The system identification in Demon's Forge is peculiar, and I suspect it is flawed in some ways. It first checks to see if the machine ID at F000:FFFE is FD, which identifies a PCjr, and uses 16-color mode 9 graphics if found. If the machine ID is something else, the DMA test is used to decide if CGA or mode 9 graphics should be used.

It is odd that the game specifically tests for a PCjr machine ID, but the 16-color graphics don't work correctly on a PCjr. Then again, no mention of the PCjr is made on the game's cover, only Tandy 1000 models are listed; and the game was released in 1987 when Tandy had pretty much taken over the PCjr's market.

The DMA test is not to establish if the system *has* DMA, but to determine if the *floppy* is using DMA. I know some models of Tandy 1000 have DMA, but I'm not sure which hook the floppy up to DMA channel 2. Maybe the test is not valid for all models of Tandy 1000, but it is what it is.

Reply 6 of 6, by Great Hierophant

User metadata
Rank l33t
Rank
l33t
ripsaw8080 wrote:

Were you expecting a revelation of something other than CGA graphics that aren't messed up?

No, just something more impressive than Modes 4 and 5 being nothing more than palette swaps.

ripsaw8080 wrote:

The system identification in Demon's Forge is peculiar, and I suspect it is flawed in some ways. It first checks to see if the machine ID at F000:FFFE is FD, which identifies a PCjr, and uses 16-color mode 9 graphics if found. If the machine ID is something else, the DMA test is used to decide if CGA or mode 9 graphics should be used.

It is odd that the game specifically tests for a PCjr machine ID, but the 16-color graphics don't work correctly on a PCjr. Then again, no mention of the PCjr is made on the game's cover, only Tandy 1000 models are listed; and the game was released in 1987 when Tandy had pretty much taken over the PCjr's market.

The DMA test is not to establish if the system *has* DMA, but to determine if the *floppy* is using DMA. I know some models of Tandy 1000 have DMA, but I'm not sure which hook the floppy up to DMA channel 2. Maybe the test is not valid for all models of Tandy 1000, but it is what it is.

Its quite flawed. In addition to the uncertain PCjr. support, the game only displays CGA 4-color graphics on my Tandy 1000 SX. It will similarly display 4-color graphics on a TX, TL, SL or later machine. That machine, despite being listed on the box, has built-in DMA that cannot be disabled. The EX, which is functionally identical to the SX in almost every way, will use the DMA chip for the floppy controller if you install that particular upgrade. So will the 1000 and HX. The ISA signals are even labeled FDCDMARQ and FDCACK. Thus you would need a non-DMA upgraded 1000, EX or HX to view the 16-color graphics.

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