Jump to content
IGNORED

Altirra 2.00


phaeron

Recommended Posts

Unless there's some bug in Altirra.

 

There's 2 status bits - bit 1 blit in progress and bit 0 BCB being read.

 

Maybe set a breakpoint at that point and see if the status register reflects what should be happening.

 

I reviewed the blitter emulation code, and it looks like BLITTER_BUSY bit 0 is bugged. Problem is, it's bugged the wrong way -- BCB_LOAD is set during the entire processing of the blit list instead of only when the BCB is loaded. This would at most extend the time that the CPU waits and reduce the problem, not the other way around.

 

If I can get a build that reproduces this problem, I'd like to debug it to see if I can figure out what's wrong. Waiting for the blitter before starting the next blit doesn't necessarily work, because it's still possible for the CPU to overwrite data before the blitter gets to it, but waiting for the blitter after starting a blit should always work.

Link to comment
Share on other sites

Okay, then it is what I thought. I'll have to think about ways to increase blitter granularity. It's hard to find a good way to do this other than to slice up the blits or to do them lazily on a conflicting access. The former has major performance concerns and is the main reason why Altirra runs at the speed that it does. The latter has annoying behavior when viewing state in the debugger -- if I had VBXE memory breakpoints, for instance, viewing a memory location would cause a deferred blit to run which could then fire the breakpoint off a debug access. :P

Link to comment
Share on other sites

have'nt played with this version but I did notice that phaeron did a sneaky with the autofire option for joysticks etc (in previous versions), you have to go into the particular joystick option you want to edit and edit it, on the option for fire button, one of the options on the dropdown menu's should say autofire and you move the slider to how fast you want the autofire to be

Link to comment
Share on other sites

I tried Altirra 2.00 for some 2 player action last night and noticed that the controllers were affecting each other. I had two LE Atari USB sticks running with Windows 7. The controllers were both active and working, but only if used one at a time. During simultaneous play some directions or trigger presses would affect the other player also. I'm still not sure if this is just an issue with the LE sticks and Windows 7. Need to experiment more.

Edited by retrobits
Link to comment
Share on other sites

  • 2 weeks later...
  • 2 weeks later...
  • 3 weeks later...

Having some problems with the IDEa (KMK v1) emulation with regard to bank switching. KMKDIAG recognizes and tests two banks of ROM / RAM, but when running a beta BIOS which is 3KB long and bank switches (1.5KB of code residing in each bank of ROM), the system crashes at boot. I traced this down to the first bank-switching operation called by the INIT routine ($D819). $D819 contains a JMP to $D82A, where A and X are loaded with the destination address prior to the bank switch. A store to $D1A0 should swap in the other bank (I'm not sure if the two banks are reversed in the logic or the ROM - KMK told me that a write to $D1A0 selects bank #0, while a write to $D1C0 selects bank #1, but that this was reversed in early versions of the hardware). Anyway, the PBI vector table and complementary bank switching routine should be duplicated at $d800 in bank #1, but disassembly in Altirra shows this not to be the case. The $D800 region is filled with apparently random bytes. I've checked the beta ROM outside Altirra and $D800 in the second bank should contain the PBI vector table.

 

The whole point of this is to be certain that the banking is working under emulation before I start writing an APT BIOS for the IDEa (although that's not the end in itself, but the foundation for yet another project). KMK told me the beta BIOS was unstable, but I have no reason to suppose it won't at least boot up.

Edited by flashjazzcat
Link to comment
Share on other sites

Right - I now have a rudimentary version of the old SDX MyIDE driver running as a PBI ROM, and testing the bank switching using my own routines still causes a crash in the emulator. As soon as the second ROM/RAM bank is switched in, unexpected code appears where the upper half of the BIOS should be.

Edited by flashjazzcat
Link to comment
Share on other sites

Just a quick question phaeron....where did you come by the name 'altirra' for your atari emulator

 

And some more questions

 

the various parts of the emulator, i.e the cpu emulation, Antic/gtia/pokey etc is that your own emulation code or based on other peoples code of those parts of the emulator (i.e antic, gtia, pokey and 6502/c/65816 emulation)

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...