VOGONS

Common searches


Search results

Display options

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

ff8: sp0 base for the original IRQ0 handler to return to the never returning code ff6: IRET ss ff4: IRET sp ff2: IRET flags ff0: IRET cs fee: IRET ip (base frame for IRQ0) fec: 0h fea: Dh fe8: call IP=cc6h fe6: ??? fe4: ??? fe2: ??? fe0: ??? fde: gs ffc: fs fda: ds fd8: es fd6: 0h fd2: eax=1Ch fce: …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

ff8: sp0 base for the original IRQ0 handler to return to the never returning code ff6: IRET ss ff4: IRET sp ff2: IRET flags ff0: IRET cs fee: IRET ip (base frame for IRQ0) fec: 0h fea: Dh fe8: call IP=cc6h fe6: ??? fe4: ??? fe2: ??? fe0: ??? fde: gs ffc: fs fda: ds fd8: es fd6: 0h fd2: eax=1Ch fce: …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. It then loads some data from RAM(B3:0002?), then proceeds to push the interrupted location's FLAGS on the stack, at FB2h. OK. It then loads some data from RAM(B3:0002?), then proceeds to push the interrupted location's FLAGS on the stack, at FB2h. ff8: sp0 base for the original IRQ0 handler to …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. In the normal "Sound Blaster" setting it, upon reaching 0417:2308 after 0417:2307, seems to somehow be executing something which looks like a strange interrupt of some kind? Edit: It seems to be located at position 68h in the IDT, so it's interrupt Dh, thus a #GP fault or Sound Blaster interrupt …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

One thing I'm thinking about: how does the DSP busy bit on port work? When is it set or reset? Also, I notice one thing while selecting the Sound Blaster compatible setting in the setup: the information bar in Jazz Jackrabbit's (with it's HP, timing etc.) seems to be gone? As in, only the gameplay …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. Just tried Jazz Jackrabbit with the same IRQ/DMA settings on Dosbox 0.74-3(the most recent one from Dosbox.com). When trying the same settings on the SB 2.0 with the normal Sound Blaster setting, it doesn't crash like UniPCemu does, but it runs without sound. When trying the same with setting it …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. It might never be able to return, because I see it what seems to be the IRQ5 handler(for the Sound Blaster) keeping to trigger each sample, which adds 0xAE(the sample rate constant) to ds:[26ba]? Could it be that it expects the sample rate constant to be expired before triggering the IRQ? So …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

Hmmm... Just taken another look at this: https://rpix86.patrickaalto.com/rblog.html So segment 417h is at least containing the Sound Blaster code? It does send those two parameter bytes to the SB 2.0 and up? Are those just undefined implemented on SB 2.0 only? Or is it a bug only? How does the Set …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

Hmmm... Just looked at Dosbox-x's sblaster.cpp. I see that starting the auto-init DMA commands on SB 2.0 don't act any different than their non-auto-init versions: they still start out with the block size of the two parameter bytes? It's just that it's reloading it from the SB 2.0's Set DMA Block …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. Having started up the game on the "Sound Blaster clone" setting instead of plain "Sound Blaster" for the emulated SB 2.0 card, I notice the following weirdness when trying the bonus level from the main menu: Pressing forward has no visible effect? Backward, left and right on the analog stick …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. The HLT at 00b3:0002 is reached by both the kernel segment and segment 1d7? Edit: The log of segment 1D7 running: Filename debugger_UniPCemu_JazzJackrabbit_SB2.0_segment1D7.7z File size 49.8 KiB Downloads 51 downloads File comment Segment 1D7 running in UniPCemu running Jazz Jackrabbit

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. Just looked at the instruction flow after that. It sets up a stack frame, then checks BP+6 for bit 1 to be set or not. But at that location(with a normal interrupt) would have FLAGS? That would make no sense at all? But, what if the interrupt had an error code? Then it WOULD make sense: Normal …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. So at the instruction where b3:0034 becomes b3:0002, the SS0 starts to lower from ff8 to fb4, where it starts to go down from there onwards? So, it starts to decrease here: 00:20:12:96.04736: #GP fault(00000000)! MMU: Reading from real(r): 000a7e58=7a (z) Reading from RAM(r): 00107e58=7a (z) …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

Hmmm... I see ES:[0002](which is the SP0 field in the TSS), where ES~TR(but a data segment by adding 8 to the selector) being written with a new value, but is that actually being used for the exception that follows for the HLT? Edit: Hmmm... It loads F98h there(at 10a5f2), while the exception ends …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

Hmm... One thing is interesting: Jazz Jackrabbit's SB2.0's GP fault handler keeps recursively faulting on INTDh handlers? The IRQ from each SB2.0 sample starts interrupt 0xD without parameters, which it adds some information to and returns to user mode with a lowered EBP, effectively allocating a …

Re: KBC Output Port, Port 92h, and A20 gate

And of course, there's a little thing breaking the compatibility with A20 disabled during reset on the Compaq Deskpro 386: https://github.com/Meowlithius/pcjs-wiki/blob/master/_posts/2015-04-16-compaq-deskpro-386-update.md It explains that those machines only clear A20 when the mask is reset and …

Re: KBC Output Port, Port 92h, and A20 gate

Afaik the two are OR'ed. The order of enabling and disabling doesn't affect it(they're two seperated chips or chipset driving it) after all. Afaik the state of A20 on powerup of the machine is set to on(8042 on, port 92h off), but after that it's just what was last programmed. UniPCemu simply does a …

Re: Jazz Jackrabbit and SB 2.0 without config.sys?

OK. Found out some stuff about the memory manager of Jazz Jackrabbit, as it's crashing: TR(0158) is the current task. TR+8=Current task as a data segment, TR+0x10=TR's LDT. Probably TR+0x18=TR's LDT as a data segment? Then, I found out that DS:0401 bit 4 seems to be some bit determining 32-bittyness …

Page 97 of 275