Iyi günler Hitsumo, Jim and others,

note that I write "hardware" and not hardware: Virtualbox
simulates a NEW computer, but dosemu2 and dosbox simulates
an old computer. So I mean simulated, not real, hardware.
This is availble more easily :-)

I BELIEVE that Brix worked for me on FreeDOS long ago when
my hardware really included an ISA SoundBlaster: But it is
too long ago to remember which tricks I needed to use Brix.
I do remember that I have played Brix, it is a nice game.

In general, most of my DOS activities in the early 2000s
used FreeDOS, because I prefer open source, but I can not
exclude the possibility that I have used some MS DOS parts
in that time, in case FreeDOS did not have own versions.

Today, I would normally use dosemu2, but for a change, here
is a log of how Brix crashes dosemu 1.4.0.8 -C -Dawe -O ...

"Using CPU emulation because vm.mmap_min_addr > 0."

Indeed:

cat /proc/sys/vm/mmap_min_addr
65536

Near the end of the dosemu log, before it crashes, I get:

Page fault: Page fault: writewrite instruction to linear address: 0x0001c9a1
 instruction to linear address: 0x0001c9a1
CPU was in CPU was in user mode
user mode
Exception was caused by Exception was caused by non-available page
non-available page
  VFLAGS(b): 010000001000000010
EAX: 3a3a3a3a EBX: b7d67405 ECX: 00000001 EDX: 0001c9a2 VFLAGS(h): 00010202
ESI: 00000001  EDI: 00a35d60  EBP: 00a35cc0
CS: 0073  DS: 007b  ES: 007b  FS: 0000  GS: 0033
FLAGS: IF RF  IOPL: 0
OOPS : ef 89 42 f3 89 42 f7 89 42 fb -> 88 42 ff 8b 44 24 08 5b c3 66
Program=sigsegv.c, Line=375
EIP: 1c91:00000123 ESP: 2cfc:00000fb6 VFLAGS(b): 00000 00000010 00000110 EAX: 01040606 EBX: 00000000 ECX: 00000001 EDX: 0000022c VFLAGS(h): 00000206 ESI: 00000000 EDI: 00000012 EBP: 00000fbc DS: 1c91 ES: 1c91 FS: 0298 GS: c453
FLAGS: PF IF RF VM VIF  IOPL: 0
STACK: 91 1c 2c 02 00 00 00 00 00 00 -> c7 01 06 08 80 07 de 0f 00 00
OPS  : b0 f0 ec 0a c0 78 fb 8a c4 ee -> c3 52 8b 16 30 00 80 c2 0e 2a
        c3                  1c91:0123 ret

Which is odd, because neither the ret nor the address seem to be
too complicated for the classic DOSEMU 1.4 CPU emulation?

When taking the risk to use the real CPU:

echo 0 > /proc/sys/vm/mmap_min_addr

... then Brix does work in dosemu 1.4 :-)

However, when I enable PC speaker sound in the game, things get stuck
in the sound blaster access (which is enabled by default). You can
see the details in the logs, but they end with:

22c < 14
SB: DSP command 0x14 accepted
SB: Read 0x80 from DSP Write Buffer Status Register
22c > 80
SB: Read 0x7a from DSP Write Buffer Status Register
22c > 7a
22c < 93
SB: DSP parameter 0x93 accepted for command 0x14
SB: Read 0x79 from DSP Write Buffer Status Register
22c > 79
22c < 3
SB: DSP parameter 0x3 accepted for command 0x14
SB: 8-bit DMA output starting
DMA: processing controller 1, channel 1
SB: Starting to open DMA access to DSP (Single-Cycle mode)
SB: Sampling rate is 11111 Hz
SB:[Linux] DMA blocksize set to 2048 (8,8)
SB:[Linux] Get Free Fragments (32, 32)

I think dosemu tries to write to a socket with no receiving process.

You can disable soundblaster output by starting the game as:

BRIX1 /nosb

Interestingly, the PC speaker sound does not work then, but that
might be a side-effect of the stuck other dosemu instance while
testing :-p When playing as BRIX1 /nosb in DOSEMU 1.4 the game
works completely, but without sound.

It even works with /nosb in the dosemu CPU emulation, also with
no audible sound, not even from the emulated PC speaker.

So what do we learn from this? DOSEMU 1.4 has problems with how
BRIX uses the Sound Blaster! It even crashes in CPU emulation
mode and "only" hangs when using your real CPU - which you can
only do on 32-bit operating systems.

If you want to play the game, use BRIX1 /nosb

If you want to help finding out more about the problem, try to
use BRIX1 with soundblaster sound in DOSEMU 2.x and enable full
logging or even dosdebug. Looking forward to read about it :-)

I do NOT think that Brix itself has a problem with FreeDOS.

Regards, Eric




_______________________________________________
Freedos-user mailing list
Freedos-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/freedos-user

Reply via email to