LYNXGUY Posted January 24, 2011 Share Posted January 24, 2011 Question what exactly do I click on to download Altirra 1.8 ???? Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 24, 2011 Author Share Posted January 24, 2011 Question what exactly do I click on to download Altirra 1.8 ???? http://virtualdub.org/altirra.html -> Altirra 1.8 binary (local download) Quote Link to comment Share on other sites More sharing options...
Rybags Posted March 7, 2011 Share Posted March 7, 2011 A few bug reports/issues here. Not sure if this is the latest build of 1.8 I'm using, so some of these might be resolved: - In a game I'm currently working on, I noticed that although I had a stable looking DLI/colour change, it was not the case on real hardware, so possibly some DMA issue there. The DLI occurs on a normal Mode 2+LMS line but the following line is a Mode 4+HSCROL+LMS line. But I can't release the code for this... still under wraps in development (and also resolved insofar as the program goes). - More an annoyance than a bug. Single-step instruction via F11 doesn't work unless the Console window is in focus. - Single-step bug. If you have VBXE enabled, then stop and then single-step, you get a downward colour bleed effect that progressively corrupts the display. - Watch display. Kind of annoying, if VBXE enabled, the watch is done using skinnier text - much easier to read if VBXE not enabled. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted March 7, 2011 Share Posted March 7, 2011 Rybags, here's the link to the very latest beta which looks like being the 1.9 final or very close to it, there's a load of stuff fixed since 1.8 and some great additions so might be worth a try.. http://www.virtualdu...-1.9-test20.zip Quote Link to comment Share on other sites More sharing options...
andym00 Posted March 7, 2011 Share Posted March 7, 2011 Rybags, here's the link to the very latest beta which looks like being the 1.9 final or very close to it, there's a load of stuff fixed since 1.8 and some great additions so might be worth a try.. http://www.virtualdu...-1.9-test20.zip That link is a bit malformed.. http://www.virtualdub.org/beta/Altirra-1.9-test20.zip Quote Link to comment Share on other sites More sharing options...
Tezz Posted March 7, 2011 Share Posted March 7, 2011 ... here's the link to the very latest beta which looks like being the 1.9 final or very close to it, there's a load of stuff fixed since 1.8 and some great additions so might be worth a try..cool, thanks. That fixes some stuff for me from the 1.8 final build. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted March 8, 2011 Share Posted March 8, 2011 (edited) Sorry about the messed up link.. Here's the brand new beta to make up for it http://www.virtualdub.org/beta/Altirra-1.9-test21.zip Link DOES work Edited March 8, 2011 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
MaPa Posted March 8, 2011 Share Posted March 8, 2011 (edited) I'm just posting some "bug". When I have selected Integral Square Pixels stretch mode and use Adjust windows size feature (requested by me ) then the windows is smaller due to menu is too long and splitted into two rows and the picture is distorted then. See attached pic (word MEMORY looks more like MCMORY i.e.). Edited March 8, 2011 by MaPa Quote Link to comment Share on other sites More sharing options...
phaeron Posted March 8, 2011 Author Share Posted March 8, 2011 If you can PM me about any clues or symptoms on the DLI issues, I can take a look. F11+VBXE redraw issues -- do you have interlacing on? I can see an issue there to fix. Yeah, I've been bitten by the debug key focus issue too. Part of the issue is that several of the debug commands are context sensitive, so I can't just bind them to global accelerators. Need to figure out a solution. The narrow font happens because the VBXE and artifacting modes generate a 14MHz (640x) signal instead of 7MHz (320x). I was bad and hardcoded a lot of coordinates in the HUD code, though, so I need to fix all that up. Quote Link to comment Share on other sites More sharing options...
Rybags Posted March 8, 2011 Share Posted March 8, 2011 Sounds good - I'll have to backtrack through the versions and find the last before I resolved the issue, but will try and get it to you in the next day or so. Quote Link to comment Share on other sites More sharing options...
phaeron Posted March 10, 2011 Author Share Posted March 10, 2011 Fixed the interlace mode beam position refresh and menu wrap autosizing bugs (dumb AdjustWindowRect function): http://www.virtualdub.org/beta/Altirra-1.9-test22.zip http://www.virtualdub.org/beta/Altirra-1.9-test22-src.zip 3 Quote Link to comment Share on other sites More sharing options...
MaPa Posted March 10, 2011 Share Posted March 10, 2011 Btw. when I coded intro for FLOP diskette magazine I ran into inaccurate emulation issue too. Altirra was working fine, but in A800Win it had some glitches and surprisingly on real HW were the same glitches. Probably some 1 cycle inaccuracy. I think it was on wide screen mode, character mode line and first line (badline) with hscroll enabled I'll try to recover it out, as I fixed it already and I'm not sure where exactly it was and how the code was before fix. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted March 10, 2011 Share Posted March 10, 2011 Is there (or can there be) a way to accelerate the mouse speed? I tend to run Atari800Win with the mouse sampling ramped up some when testing the GUI, and this appoximates to the responsiveness of a real mouse on actual hardware. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted March 10, 2011 Share Posted March 10, 2011 Is there (or can there be) a way to accelerate the mouse speed? I tend to run Atari800Win with the mouse sampling ramped up some when testing the GUI, and this appoximates to the responsiveness of a real mouse on actual hardware. Hi Jon, if in the mouse input settings you set mouse movement axis's mode to relative and crank up the speed to 10 on either one or both depending if its a PC mouse mode or ST, that will give you more speed.. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted March 10, 2011 Share Posted March 10, 2011 Hi Jon, if in the mouse input settings you set mouse movement axis's mode to relative and crank up the speed to 10 on either one or both depending if its a PC mouse mode or ST, that will give you more speed.. Wow - I'd never been down in those dialogues before. This emulator is just amazing. I cranked both up to 10 and mouse movement feels much better now. Thanks! Quote Link to comment Share on other sites More sharing options...
phaeron Posted March 11, 2011 Author Share Posted March 11, 2011 Btw. when I coded intro for FLOP diskette magazine I ran into inaccurate emulation issue too. Altirra was working fine, but in A800Win it had some glitches and surprisingly on real HW were the same glitches. Probably some 1 cycle inaccuracy. I think it was on wide screen mode, character mode line and first line (badline) with hscroll enabled I'll try to recover it out, as I fixed it already and I'm not sure where exactly it was and how the code was before fix. I believe this, but I'd really need to see an example. I do know of a couple of bugs in the way that Altirra handles HSCROL, in particular with when and what changes to it take effect. The window for this can be very late for a wide hscroll playfield, so it's possible to accidentally trip this with writes in HBLANK, especially if you have an LMS afterward fixing any discrepancies in the memory scan counter. I have a branch with some fixes to HSCROL handling, but I haven't integrated it into the mainline yet because there is a noticeable hit to emulation speed. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 5, 2011 Share Posted April 5, 2011 (edited) Doing some work on the MyIDE driver and fired up 1.9 test of Altirra... no HDD found. Has anything changed in the MyIDE emulation code? The 1.0RC SDX MyIDE driver which worked fine with previous versions of the emulator suddenly no longer detects the disk EDIT: Went back to 1.8 and it's fine now. So something's not right in the 1.9 test code. Edited April 5, 2011 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
phaeron Posted April 6, 2011 Author Share Posted April 6, 2011 Haven't changed the IDE code since 1.8, and actually, I can't get the driver in 4.43RC2_MYIDE (v1.0RC) working with $D1xx on that version either. I backed down to an earlier SDX build that has v0.6 of your driver, and it seems to work with 1.9-test. What I'm seeing so far is that the OS search for PBI devices manages to initiate a valid READ SECTOR ($20) command on the device, due to the unfortunate aliasing of $D107 with $D1FF. This then puts the device in a state with DRQ set. Presumably this is why the current version of your MyIDE driver can't detect it, as if I hack the IDE code to ignore writes to $D1FF it works fine. However, the schematics I've been able to find for internal MyIDE interfaces at $D1xx don't decode A2-A7, so they wouldn't have this check. I dug around a bit in ATA-4, and I found one possible reason for the difference from real hardware. Altirra emulates a hard disk that does not support the PACKET (ATAPI) command set, and therefore according to ATA-4 section 9.1 needs to init the command registers to head 0, cylinder 0, sector 1. This is unfortunately a valid CHS and thus the bogus READ SECTOR command succeeds. A device that supports the PACKET set, however, inits to cylinder $EB14 instead, which is most likely not valid and thus the READ SECTOR command fails. This still won't help on a warm reset since MyIDE doesn't pass reset through, but it would affect cold reset. Altirra also doesn't reset the emulated IDE device on a cold reset, but that's easily fixed (and still doesn't affect the startup case). A couple of questions I have: Do you know or can you test if an internal MyIDE decodes $D1FF as the command register? How does your device detection code handle a device that currently in a read sector command? My instinct says that some device recovery code might be needed in the driver init path, but that's assuming the DRQ issue is what's actually happening. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 6, 2011 Share Posted April 6, 2011 (edited) Yeah - you're right. The internal interface detection of 1.0RC doesn't work with Altirra 1.8. I can't get either internal or external to work with Altirra 1.9, however. It's easy to test $D1FF as the command register. Just specify the custom hardware base address (in hex) as an argument to the driver. I don't have an internal interface setup at the moment, however. The drive detection code just waits for ready to go high at the beginning of the routine. I guess what you're saying is that it should check for DRQ, and if it's high, execute reads until it goes low. However, the initial scan for the hardware base address is simply the following, and is executed before anything else: detect_ide lda #$0F ; check for internal interface R25 sta $D105 ; IDE_CYLL (internal) R26 lda $D105 cmp #$0F rts ; This is called twice: with $D105, and then with $D505 (the hardware addresses having been relocated before the second attempt). The actual method used inside detect_ide is a copy of what Sijmen uses in his BASIC version of FDISK Thereafter - owing to the limited access we have to assume if not using 8-bit PIO mode - we do: detect_drive ; attempt to read sector 0 on master/slave drive sta usertable[0].dev jsr lba0 lda secbuf_p ; point to internal partition table buffer sta usertable[0].buf lda secbuf_p+1 sta usertable[0].buf+1 lda #2 sta usertable[0].sec_size jmp readsector ; This tries to read sector 0 at 256bps, and returns the error on a failed read. It's fairly obvious that the driver is failing to detect the internal drive, not the internal interface: hence "HDD not found" rather than "No MyIDE found". Edited April 6, 2011 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
HiassofT Posted April 6, 2011 Share Posted April 6, 2011 Hi Phaeron! What I'm seeing so far is that the OS search for PBI devices manages to initiate a valid READ SECTOR ($20) command on the device, due to the unfortunate aliasing of $D107 with $D1FF. This then puts the device in a state with DRQ set. Presumably this is why the current version of your MyIDE driver can't detect it, as if I hack the IDE code to ignore writes to $D1FF it works fine. However, the schematics I've been able to find for internal MyIDE interfaces at $D1xx don't decode A2-A7, so they wouldn't have this check. Hardware doing no proper address decoding is a real pain in the ass. I considered this to be a bug (or unfortunate shortcut) in the original internal schematic, so I built my own interface which decodes A4-A7, limiting MyIDE addresses to $D10x (D107 is still aliased to D10F etc, but I did this intentionally so I could later map D108-D10F to the secondary IDE register set, enabling access to the alternate status/control register). The MyIDE OS and all other software works fine with strict address decoding, so I'd say just limit MyIDE to D100-D107 (or D10F). BTW: the original MyIDE cart also didn't do any address decoding and used the whole $D5xx range, the later MyIDE+flash cart limited IDE access to the lower D5xx addresses - still without any compatibility issues. so long, Hias Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted April 6, 2011 Share Posted April 6, 2011 Just a quick question about the Quick Load State and Save State options on the File column: Did these ever work or are they ever going work? Quote Link to comment Share on other sites More sharing options...
phaeron Posted April 7, 2011 Author Share Posted April 7, 2011 LOL... turns out the $D1FF issue was masking a more basic problem: I had RAM mapped in at $D1xx! That was preventing external MyIDE detection ($D5xx) from working. This version is fixed: http://www.virtualdub.org/beta/Altirra-1.9-test33.zip http://www.virtualdub.org/beta/Altirra-1.9-test33-src.zip I went ahead and restricted the IDE register range. Without the actual hardware I can't test the address range, and with the detection problems it's not worth speculatively emulating the address mirroring (even though I kind of hate turning it off). BTW, SDX seems to break slightly when the IDE partition table is scrambled: either it prints extra lines on the command prompt, or it starts spewing bogus errors. Works fine if either the MyIDE interface is not detected or the partition table is valid. I still think it would be worth looking at clearing a pending read, but there are lots of other cases that could arise on a warm reset, like a sector *write* in progress. Without being able to directly issue a reset to the drive -- having no access to the reset line or the secondary register set -- it's going to be hard to stably and safely reset the drive. Just a quick question about the Quick Load State and Save State options on the File column: Did these ever work or are they ever going work? They work, but they only save to a memory buffer. I'm not ready to commit to a save format yet. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted April 7, 2011 Share Posted April 7, 2011 (edited) LOL... turns out the $D1FF issue was masking a more basic problem: I had RAM mapped in at $D1xx! That was preventing external MyIDE detection ($D5xx) from working. This version is fixed: http://www.virtualdu...-1.9-test33.zip http://www.virtualdu...-test33-src.zip I went ahead and restricted the IDE register range. Without the actual hardware I can't test the address range, and with the detection problems it's not worth speculatively emulating the address mirroring (even though I kind of hate turning it off). BTW, SDX seems to break slightly when the IDE partition table is scrambled: either it prints extra lines on the command prompt, or it starts spewing bogus errors. Works fine if either the MyIDE interface is not detected or the partition table is valid. I still think it would be worth looking at clearing a pending read, but there are lots of other cases that could arise on a warm reset, like a sector *write* in progress. Without being able to directly issue a reset to the drive -- having no access to the reset line or the secondary register set -- it's going to be hard to stably and safely reset the drive. Thanks. I'll test this later. As for SDX breaking: I've noticed the exact same effect on real hardware, usually when testing unstable hardware which results in big problems on bootup. I need to track down what's happening there. Also, with regard to pending reads, we can't even rely on cautionary reads/writes to the data register to clear DRQ, since we can't know in advance which kind of operation we're "interrupting". It's a tricky problem indeed. Edited April 7, 2011 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
+MrFish Posted April 24, 2011 Share Posted April 24, 2011 Any plans to add a emulation speed setting, similar to A800WP, in order to slow down emulation? Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.