ijor Posted June 21, 2016 Share Posted June 21, 2016 If I understand correctly, Atari gave the OS ROMs distribution rights to the Xformer 2000 emulator. Why not to the other emulators as well? Because the other emulators authors just simply didn't bother to ask Atari? Atari gave permission initially to the ST Xformer emulator. For the obvious reason that is was hosted on an Atari computer (ST). At the time I believe it was the only emulator anyway. Windows versions came later, and probably they just inherited the rights. Quote Link to comment Share on other sites More sharing options...
phaeron Posted June 21, 2016 Author Share Posted June 21, 2016 I thought I was going to be on Avery's good programmer list by not using any of those old practices (that I'm aware of) that will make my program incompatible with Altirra OS. Initially, ACTris! 1.2 seems to run just fine with Altirra OS (B & XL versions). However, after a few object drops and then the VBI "Popcorn" music routine becomes all garbled. Avery, can you please take a look? Thanks. Your music routine in deferred VBLANK uses memory locations that are used by the floating point math package and you're calling into IPF + FASC to update the score. $D4-EB, $ED-FA, and $FC-FF are documented in the OS manual as used by the math pack. It's by chance that the locations you're using aren't modified by the XL/XE OS math pack with these calls. Even then, I would not depend on it for all values or with the many fast math packages out there. If this is all you're using the math pack for, it would be better just to use a custom int -> text routine. Quote Link to comment Share on other sites More sharing options...
atx4us Posted June 21, 2016 Share Posted June 21, 2016 Thank you Avery for your help. Based on your analysis, I didn't use any of the old programming tricks to break things with Altirra OS. So, I should still be on your good list Please keep in mind that there was no such thing as Altirra OS when I began working on my program years ago. As for the page zero memory locations, I used them for counters to save some machine cycles during the VBI. Of course, I can save the five locations used by pushing them onto the stack at the beginning of the VBI and then pulling them from the stack upon the VBI exit. But, that totally defeats the purpose of saving machine cycles by adding all the overheads. Maybe I can move those counters to main RAM locations to make my program compatible with Altirra OS moving forward. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted June 21, 2016 Share Posted June 21, 2016 (edited) Bug / feature found..Latest beta If you use the 16mb images that are Mypicodos 4.05 from this thread http://atariage.com/forums/topic/187482-4-atari-16mb-hard-disk-images-completed/?do=findComment&comment=2366659 And set the drive to Happy then the way it displays the disk directory visually is wrong, if you use the 1050 Turbo setting for the drive then the directory system is visually corrupted.(possibly actually corrupted too) Paul.. Edited June 21, 2016 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
phaeron Posted June 22, 2016 Author Share Posted June 22, 2016 Thank you Avery for your help. Based on your analysis, I didn't use any of the old programming tricks to break things with Altirra OS. So, I should still be on your good list Please keep in mind that there was no such thing as Altirra OS when I began working on my program years ago. As for the page zero memory locations, I used them for counters to save some machine cycles during the VBI. Of course, I can save the five locations used by pushing them onto the stack at the beginning of the VBI and then pulling them from the stack upon the VBI exit. But, that totally defeats the purpose of saving machine cycles by adding all the overheads. Maybe I can move those counters to main RAM locations to make my program compatible with Altirra OS moving forward. Well, about that... AltirraOS may not have existed back then, but the Atari Operating System User's Manual did, and it documented those page zero locations as being used by the floating point package. Using those locations for your own purposes concurrently with calls to the FP library is depending on undocumented OS internal behavior. Bug / feature found..Latest beta If you use the 16mb images that are Mypicodos 4.05 from this thread http://atariage.com/forums/topic/187482-4-atari-16mb-hard-disk-images-completed/?do=findComment&comment=2366659 And set the drive to Happy then the way it displays the disk directory visually is wrong, if you use the 1050 Turbo setting for the drive then the directory system is visually corrupted.(possibly actually corrupted too) Paul.. This is kind of a tough one. The problem is that these disks have more than 32767 sectors, and both the 1050 Turbo and the Happy drive repurpose bit 15 of the sector number for high speed and memory access, respectively. You're getting into a nonsensical situation here because, well, there was no such thing as a 16MB floppy disk. For these situations you need to use the Generic profile instead. The emulator needs to warn/block on this but I'm not sure how the UI flow should work exactly. 3 Quote Link to comment Share on other sites More sharing options...
atx4us Posted June 22, 2016 Share Posted June 22, 2016 Well, about that... AltirraOS may not have existed back then, but the Atari Operating System User's Manual did, and it documented those page zero locations as being used by the floating point package. Using those locations for your own purposes concurrently with calls to the FP library is depending on undocumented OS internal behavior. This is kind of a tough one. The problem is that these disks have more than 32767 sectors, and both the 1050 Turbo and the Happy drive repurpose bit 15 of the sector number for high speed and memory access, respectively. You're getting into a nonsensical situation here because, well, there was no such thing as a 16MB floppy disk. For these situations you need to use the Generic profile instead. The emulator needs to warn/block on this but I'm not sure how the UI flow should work exactly. As usual, your points are clear and accurate. Thank you It is 100% my fault. But since I didn't encounter the issue before, the usage of these page zero locations went on unnoticed until I tried using my program with Altirra OS - That was the point that I was trying to make. Thanks again for helping me to debug my own codes. I'm making the fix by moving the counters away from the "Keep-out Zone" 1 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted June 22, 2016 Share Posted June 22, 2016 Thanks Avery, I've been so spoilt by the wonders the emulator and the creative minds of users that I never gave thought that 16mb disks / floppy drives never existed in the physical world back then , I've got so used to Altirra etc doing so many things never thought of in its day. Happy days (so to speak) Paul. 1 Quote Link to comment Share on other sites More sharing options...
StefanD Posted June 25, 2016 Share Posted June 25, 2016 (edited) The hover help for error messages with Shift key doesn't work anymore. Now I need to press Alt and the mouse button to display the error message, but it disappears almost immediately, before I can read it ?!? Thanks for the new default disk r/w setting "VRWSafe". Now I can start games that need write access without changing the settings. :-) Edited June 25, 2016 by StefanD Quote Link to comment Share on other sites More sharing options...
phaeron Posted June 25, 2016 Author Share Posted June 25, 2016 You have to hold down the left mouse button -- is it still disappearing immediately? If so, what OS are you running on (XP, Vista, etc.)? Quote Link to comment Share on other sites More sharing options...
StefanD Posted June 26, 2016 Share Posted June 26, 2016 Oh sorry, I used a touch pad. If I click and hold the touch pad button, the message remains on the Screen :-) Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 2, 2016 Share Posted July 2, 2016 (edited) Hi Avery...Just got the Aquire cas image from the Undumped release thread and when the processing bar comes up it crashes and produces a mini dump with this Exception Code: c000005 PC: 00e1a3fc Here's a pointer to the CAS http://atariage.com/forums/topic/252943-master-list-of-missing-undumped-software/page-3?do=findComment&comment=3543590 Tried with all CAS related patches off (hope that is the dump from that test included) Tried same cas image on Atari800win 4.1 and it seems to work.. Paul (here's hoping I didn't miss a setting and wasted your time but all other CAS images that should work, do) Latest beta used... AltirraCrash.zip Edited July 2, 2016 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
Madi Posted July 2, 2016 Share Posted July 2, 2016 (edited) Hi Avery...Just got the Aquire cas image from the Undumped release thread and when the processing bar comes up it crashes and produces a mini dump with this Exception Code: c000005 PC: 00e1a3fc Here's a pointer to the CAS http://atariage.com/forums/topic/252943-master-list-of-missing-undumped-software/page-3?do=findComment&comment=3543590 Tried with all CAS related patches off (hope that is the dump from that test included) Tried same cas image on Atari800win 4.1 and it seems to work.. Paul (here's hoping I didn't miss a setting and wasted your time but all other CAS images that should work, do) Latest beta used... That is true for Altirra x64 v2.8 test 43 (WINDOWS 10 x64). It just crash. However, the game executes and works just fine with Altirra v2.50 (WINDOWS 10 x64). Didn't test other versions. madi Edited July 2, 2016 by Madi Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 2, 2016 Author Share Posted July 2, 2016 Was triggered by extremely short FSK block. Fix: http://www.virtualdub.org/beta/Altirra-2.80-test45.zip http://www.virtualdub.org/beta/Altirra-2.80-test45-src.zip Also fixes an emulation issue in DragonCart and bad disassembly of 65C02 bit manipulation opcodes. 4 Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 2, 2016 Share Posted July 2, 2016 Thank You... Quote Link to comment Share on other sites More sharing options...
Neo-Rio Posted July 3, 2016 Share Posted July 3, 2016 That Acquire dump may not even be the best one. I had two others. Much larger for some reason. One thing to try would be to attempt saving the game out again from the initial Y TO SAVE response at the start. acquire-alternate-dumps.zip Quote Link to comment Share on other sites More sharing options...
Gury Posted July 11, 2016 Share Posted July 11, 2016 Hi, I have a problem with establishing H: device on my disk. This worked in previous version (2.60), but now I can't make it work (Menu System / Devices). Do I have to reestablish new H: drive and remove previous settings? I use this feature for testing purposes, so I don't have to make special ATR files for testing I/O operations on files, plus developing process is really fast. Greetings Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 12, 2016 Author Share Posted July 12, 2016 Hi, I have a problem with establishing H: device on my disk. This worked in previous version (2.60), but now I can't make it work (Menu System / Devices). Do I have to reestablish new H: drive and remove previous settings? I use this feature for testing purposes, so I don't have to make special ATR files for testing I/O operations on files, plus developing process is really fast. Greetings You don't have to remove previous settings, but you do need to re-create the H: device: System > Devices > Add > High-level Emulation (HLE) Devices > Host Device (H:). Quote Link to comment Share on other sites More sharing options...
Wilheim Posted July 12, 2016 Share Posted July 12, 2016 Hi, I have a problem with Altirra 2.71. I made a long time ago a Switchable XEGS image for the game Conan (Datasoft) that works fine in Atari800Win PLus 4.1, but for some reason it doesn't work with Altirra. Attached is the image I use. Can anyone know what the problem is? Thanks! conanXEGS2.zip Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 13, 2016 Author Share Posted July 13, 2016 Your cartridge relies on the initial power-up bank being bank 0 since its init vector points to the switchable bank ($8000). This isn't guaranteed for a few reasons. First, real XEGS cartridge hardware has no power-up init circuit, so the initial bank is random on the real hardware. Second, the cartridge port has no reset line, so most cartridges cannot return to their home bank even if the OS does a cold reset (there are ways, but prohibitively complex for most cartridge designs). This means that a cartridge that relies on the power-up bank does not work properly when a system is force cold booted without a power cycle, which is possible with add-ons such as Ultimate1MB (very handy). Third, cartridge modes for the .CAR format do not have defined initial banks -- the best definition of the modes is the CART.TXT file included with the Atari800 emulator and it lacks this info. For these reasons, cartridges should init in the fixed bank and manually force a bank switch to the desired bank, or if there is no fixed bank, have init code repeated in every left cart window bank. 2 Quote Link to comment Share on other sites More sharing options...
phaeron Posted July 13, 2016 Author Share Posted July 13, 2016 Took a look at a set of XEGS cartridges and didn't find any with startup bank dependencies, so went ahead and changed to bank 0 to match A8WP: http://www.virtualdub.org/beta/Altirra-2.80-test46.zip http://www.virtualdub.org/beta/Altirra-2.80-test46-src.zip Let me know if anyone sees regressions on XEGS or Switchable XEGS carts. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 13, 2016 Share Posted July 13, 2016 (edited) Looking good so far, checked most of mine and all do what they should under beta 45 and beta 46.(refer to later question) Little question, does a coldstart act exactly like a power cycle? I thought it did and everything was reset to act like it was a first turn on but I found an XEG cart with Caverns of Mars II on a menu that if you ran it first time from a fresh boot of Altirra (XL mode) its decrunches fine, if you Shift F5 and run it again it refuses to decrunch, its like something is still 'hooked' ? I know that a warmstart does not reset everything hence you can set a location to re-run the program in memory with a pointer to the run address but I thought possibly wrongly that a Coldstart did the full reset even with a cart installed and just acted like you had just turned on the machine with the cart installed. Here's the said cart for reference.. The above whatever the answer is nothing to do with the change in XEGS as it does the same on beta 45. new cart5.rom Edited July 13, 2016 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
Rybags Posted July 13, 2016 Share Posted July 13, 2016 Seems that Coldstart reinitializes Ram that the OS can't see to the selected default pattern which in theory should act same as a powerup. Only checked Ram @ $C000 though. What might be nice is an option to leave Ram alone on subsequent Coldstarts, ie initialize per options when Altirra starts but not on Coldstart by menu of Shift-F5. As for the described behaviour... sounds strange, though might be understandable if subsequent coldstarts aren't resetting cart bank state. Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted July 13, 2016 Share Posted July 13, 2016 (edited) Hi Avery, Any new idea's re the auto inserting multiple disk games? I've sat and racked what little brain cells I have and it always comes back to manually choosing because of naming conventions / AI needed to work out which is disk a or 1 etc etc in amongst the name if it even has that instead of being named DATA or such like. The nearest I came to was an idea of checking a zip (or folder perhaps) for multiple ATR's and having a screen to pick say 1 through 8 next to them as to which drives you want the disks assigned to but it sounds so complex code wise. I know it can be done from a command line by specifying the names of the files inside the zip via a ZIP: usage. I also know that games do not always support more than one drive... Do you think things will ever progress or is it simply too much work and too lazy on the users part As always, just one of my 'what if' moments to be taken with a pinch of salt.....And to be honest most not likely worth the time of day Paul.. Edited July 13, 2016 by Mclaneinc Quote Link to comment Share on other sites More sharing options...
Wilheim Posted July 13, 2016 Share Posted July 13, 2016 Your cartridge relies on the initial power-up bank being bank 0 since its init vector points to the switchable bank ($8000). This isn't guaranteed for a few reasons. First, real XEGS cartridge hardware has no power-up init circuit, so the initial bank is random on the real hardware. Second, the cartridge port has no reset line, so most cartridges cannot return to their home bank even if the OS does a cold reset (there are ways, but prohibitively complex for most cartridge designs). This means that a cartridge that relies on the power-up bank does not work properly when a system is force cold booted without a power cycle, which is possible with add-ons such as Ultimate1MB (very handy). Third, cartridge modes for the .CAR format do not have defined initial banks -- the best definition of the modes is the CART.TXT file included with the Atari800 emulator and it lacks this info. For these reasons, cartridges should init in the fixed bank and manually force a bank switch to the desired bank, or if there is no fixed bank, have init code repeated in every left cart window bank. Excellent! Thanks for the info. Just patched 4 bytes and added 8 bytes of code and it worked! Here is the new image. I always thought that there is an RC circuit to reset the counter and select bank 0 at coldstart. Good to know that issue. conanXEGS2.zip Quote Link to comment Share on other sites More sharing options...
+DjayBee Posted July 13, 2016 Share Posted July 13, 2016 The latest builds do no longer show "long sector" with LFE DISK active (i.e. sector 706 of Solo Flight 2nd Edition). 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.