Confirming that I was able to run Brix without sound support. I guess
I didn't read further into the Helpme.doc file, under
"Troubleshooting" where it says:

>> If Brix still refuses to load properly,  the problem is most likely due to
>> Brix scanning your system for a Sound Blaster card.  To solve this,  type:
>>
>>    BRIX1 /nosb      (This turns off the Sound Blaster card)

So I guess this problem was known to the developers at the time, that
Brix would fail to run on certain systems and sound cards.
Interesting, because my QEMU config emulates a SoundBlaster16, which I
thought this game is supposed to support. But maybe it's looking for a
specific address, and doesn't use the environment for that. More
likely, the game probably tries to probe for the sound card (the
Helpme.doc says "Brix scanning your system for a Sound Blaster card"
which suggests it probes the system) and it's coming up with a wrong
value.

In any case, running with the "/nosb" option works fine for me. I even
get PC speaker support on QEMU.

I played through several levels and it seemed to work fine.

Jim

On Mon, Aug 10, 2020 at 2:59 PM E. Auer <e.a...@jpberlin.de> wrote:
>
>
> 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


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

Reply via email to