phaeron Posted January 10, 2013 Author Share Posted January 10, 2013 Ah I was excited to try this thinking it might let me run Crownland but it still crashes I know I have some setting wrong or something, but not sure what. I posted in another thread about it, but here it is below too. I really want to get this running haha. Check System > CPU Options. Crownland will lock up like this if you have illegal instructions disabled or have switched the CPU mode to 65C816. Quote Link to comment Share on other sites More sharing options...
TheNameOfTheGame Posted January 10, 2013 Share Posted January 10, 2013 Check System > CPU Options. Crownland will lock up like this if you have illegal instructions disabled or have switched the CPU mode to 65C816. Thank you!! Haha, well somehow it was set to 65C816, but I don't remember changing any cpu options. So Cool, now I can play Crownland Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 10, 2013 Share Posted January 10, 2013 Altirra> .tracecio CIO call tracing is currently on. Now where can I see the output? Could not find a hint... Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 11, 2013 Author Share Posted January 11, 2013 Oops, bug in the debugger: .tracecio by itself just queries the state, and it's telling you tracing is enabled when it isn't. Use .tracecio on to actually enable it. You'll then get output like this: CIO: IOCB=2 (-), CMD=$0C (close) CIO: IOCB=0, CMD=$03 (open), AUX1=$0c, filename="E:" CIO: IOCB=2 (-), CMD=$0C (close) CIO: IOCB=2, CMD=$03 (open), AUX1=$0c, filename="D1:MEM.SAV" CIO: IOCB=2 (D:), CMD=$0C (close) CIO: IOCB=2 (-), CMD=$0C (close) CIO: IOCB=1, CMD=$03 (open), AUX1=$04, filename="D1:DUP.SYS" CIO: IOCB=1 (D:), CMD=$07 (get characters), buffer=$1df4, length=$0002 CIO: IOCB=1 (D:), CMD=$07 (get characters), buffer=$15a0, length=$0004 CIO: IOCB=1 (D:), CMD=$07 (get characters), buffer=$1f0c, length=$13fa CIO: IOCB=1 (D:), CMD=$07 (get characters), buffer=$15a0, length=$0004 CIO: IOCB=1 (D:), CMD=$07 (get characters), buffer=$02e0, length=$0002 CIO: IOCB=1 (D:), CMD=$07 (get characters), buffer=$15a0, length=$0004 CIO: IOCB=1 (D:), CMD=$0C (close) CIO: IOCB=2 (-), CMD=$0C (close) Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 11, 2013 Share Posted January 11, 2013 Yes, that works now. Great feature! Quote Link to comment Share on other sites More sharing options...
+JAC! Posted January 12, 2013 Share Posted January 12, 2013 (edited) The trace is extremely useful. Could you please add the Y-register value/STATUS result value of the operation? CIO: IOCB=1, CMD=$03 (open), AUX1=$04, filename="D:CALAMANI.EXE" CIO: IOCB=1 (D:), CMD=$07 (get characters), buffer=$26e8, length=$0002 CIO: IOCB=2 (-), CMD=$0C (close) CIO: IOCB=1, CMD=$27 (special): filename="" CIO: IOCB=2 (-), CMD=$0C (close) CIO: IOCB=2, CMD=$03 (open), AUX1=$04, filename="D:A.DAT" CIO: IOCB=2 (D:), CMD=$07 (get characters), buffer=$8fff, length=$1000 CIO: IOCB=2 (D:), CMD=$0C (close) CIO: IOCB=2 (-), CMD=$0C (close) CIO: IOCB=2, CMD=$03 (open), AUX1=$04, filename="D:B.DAT" CIO: IOCB=2 (D:), CMD=$07 (get characters), buffer=$8fff, length=$1000 CIO: IOCB=2 (D:), CMD=$0C (close) CIO: IOCB=2 (-), CMD=$0C (close) CIO: IOCB=2, CMD=$03 (open), AUX1=$04, filename="D:SL_DAT.DAT" => Actually ended with Y=$AA => error CIO: IOCB=1 (-), CMD=$0C (close) CIO: IOCB=1, CMD=$27 (special): filename="D1:DUP.SYS" Edited January 12, 2013 by JAC! Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 13, 2013 Author Share Posted January 13, 2013 That's something I've been meaning to do for a while, but it requires some beefing up of the breakpoint system because it has to intercept execution at the end of CIO. In the meantime, this will set up a tracepoint at the end of the CIO routine in the XL/XE OS: bx "pc=$e694 and y>=$80" \".printf \"CIO call failed: status=$%02x\" y ; g" 1 Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 18, 2013 Author Share Posted January 18, 2013 I think I might have found the crash that fjc was running into... there was a problem in the debugger where the history pane code could overflow the stack. Basically, when I fixed the stack unwrapping code so that it could trace JSR/RTS around the $1FF-$100 boundary, it then caused a problem where crashed 6502 code could nest more deeply than the tree node allocation code could handle. Sigh. Fixed version: http://www.virtualdub.org/beta/Altirra-2.30-test2.zip http://www.virtualdub.org/beta/Altirra-2.30-test2-src.zip I hadn't intended to push it out yet, but this build also has more work on the LLE kernel, such as full support for PBI devices. It also contains a printer (P:) driver. I had figured that I didn't need one because no one uses it and I didn't emulate the printer device at an SIO anyway, but with my dumb luck I found a game that opens P: even though it doesn't need it... grr. Quote Link to comment Share on other sites More sharing options...
Shannon Posted January 18, 2013 Share Posted January 18, 2013 I hadn't intended to push it out yet, but this build also has more work on the LLE kernel, such as full support for PBI devices. It also contains a printer (P:) driver. I had figured that I didn't need one because no one uses it and I didn't emulate the printer device at an SIO anyway, but with my dumb luck I found a game that opens P: even though it doesn't need it... grr. Sorry... that's just nuts.. So what game is it? Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 19, 2013 Author Share Posted January 19, 2013 Abraxas Assault on the Astral Rift. Quote Link to comment Share on other sites More sharing options...
GroovyBee Posted January 29, 2013 Share Posted January 29, 2013 If I set "Video" to "PAL" or "NTSC" and "No Artifacting" and then go to "Record" and set it up to use no compression the *.AVI file produced doesn't look like the screen at all. Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 30, 2013 Author Share Posted January 30, 2013 Oops. Fixed: http://www.virtualdub.org/beta/Altirra-2.30-test3.zip http://www.virtualdub.org/beta/Altirra-2.30-test3-src.zip Also contains a bunch of compatibility fixes in the LLE kernel. That section in the OS Manual that says that CDTMF3-5 are never modified by the OS except for init and timeout? It's a lie. Spider Quake breaks if that behavior is actually implemented. 1 Quote Link to comment Share on other sites More sharing options...
w1k Posted January 30, 2013 Share Posted January 30, 2013 some cz/sk cartridges can run only with special button on cartridge.. pushing ON activate it, pushing OFF load the program.. this carts cannot load on altirra now (2.30-test3) http://www.youtube.com/watch?v=NTuHxcrDh8c universal-ram-copy-8k.zip Quote Link to comment Share on other sites More sharing options...
Mclaneinc Posted January 30, 2013 Share Posted January 30, 2013 I don't think the hardware button has been emulated...Has been asked about in the past. Might be on Phaeron's list, might not...Only he knows... Quote Link to comment Share on other sites More sharing options...
w1k Posted January 30, 2013 Share Posted January 30, 2013 hw button can be changed be key combo - like CTRL+SHIFT+ALT with boot or something like that.. Quote Link to comment Share on other sites More sharing options...
ascrnet Posted January 30, 2013 Share Posted January 30, 2013 hi, There any way to paste text in small letters altirra? because if you hit everything becomes uppercase ... regards Quote Link to comment Share on other sites More sharing options...
phaeron Posted January 31, 2013 Author Share Posted January 31, 2013 Yes, hit Caps Lock before pasting. It's the Atari OS that's uppercasing the chars, not the emulator. Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted January 31, 2013 Share Posted January 31, 2013 Using the Emulator to run Ultimate interface with hard disk and the FAT32S.XEX to mount an ATR to D1:, but today I loaded an ATR with ALT+SHIFT+D into drive D1: and all I can see is the previous ATR loaded with FAT32S.XEX. I finally got around the problem by editing the Altirra.ini file and deleting the "Disk 0" = "WF:\\THIRTY2\\BAS7FFF.ATR" entry. So my question is : How to disengage an ATR enabled with FAT32S.xex without enabling another unwanted ATR from fat32 volume. With real hardware cycling the power switch will disengage the FAT volume. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted January 31, 2013 Share Posted January 31, 2013 (edited) With real hardware cycling the power switch will disengage the FAT volume. Try: Debug -> Options -> Randomize memory at cold reset. This should clear the flag which tells the PBI code not to re-read the partition table (since if the flag is set, it assumes a restart is happening after some ATR was mounted in the RAM-based table). Or you could just press Shift+Reset to force a partition table re-read if there's an APT on the disk. Edited January 31, 2013 by flashjazzcat Quote Link to comment Share on other sites More sharing options...
phaeron Posted February 1, 2013 Author Share Posted February 1, 2013 Whoa whoa whoa.... First, the drive mounting options in Altirra's Disk Drive dialog (Alt+Shift+D) and the drive mounts done in emulation through the FAT32 loader are entirely separate. The first the equivalent to putting a disk into a physical disk drive connected to the SIO bus; the second is just changing the mounted image in the virtual D1: provided by the SIDE PBI driver. Only one of the D1: drives will 'win' and be visible to running programs. Normally, this is the PBI driver, which means the PBI driver has priority and is intercepting disk requests before they go to the disk drive. You get the same effect if you try mounting an image on a real Atari with a physical disk drive also connected. Under no circumstances does Altirra allow any code running in the emulation, such as the FAT32 loader or the PBI driver, to unmount or mount images in its emulated disk drives. Code running in emulation can only choose to ignore the physical disk drives by doing its own thing in requests to D1:, as the PBI driver does. Second, the randomize at disk reset only changes what bytes are set in memory when a cold reset (Shift+F5) occurs. If this option is not set, all memory is still cleared, just to $00. If any code is sensitive to the state of this option, that's bad, as it means that the code is relying on uninitialized memory. With static RAM this could be any value on startup and will lead to random bugs. Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted February 1, 2013 Share Posted February 1, 2013 Yeah - you're right about randomize: I forgot that what actually happened was that Candle changed the U1MB BIOS so that it clears the RAM under the IO area when the computer is coldstarted. My apologies. So the emulator's randomize setting will in fact make no difference to this scenario. The PBI code no longer relies on uninitialized memory loctions, so if it's not working as expected, something's wrong some place else. As for the drive mounts: yes, of course they're separate. Editing the Altirra INI file would simply get rid of the ATR the emulator mounted, and not the disk image mounted by FAT32S.XEX. In either case, the PBI disk image will still be visible until the partition table is cleared in RAM. Quote Link to comment Share on other sites More sharing options...
atarixle Posted February 1, 2013 Share Posted February 1, 2013 Cool, finally it's running on my small NetBook (Ubuntu 10.10 + wine). The OpenGL option makes the Display visible (I don't have DirectX installed inside WINE). Anyway, I put some photos of the true PAL artefacting of a real machine. May be, you could implemente it in future releases (PAL artefacts don't look accurate with the patterns on my screenshots). Screens: http://www.abbuc.de/~atarixle/blog/index.htm#xlpalartifacts Quote Link to comment Share on other sites More sharing options...
phaeron Posted February 5, 2013 Author Share Posted February 5, 2013 I don't officially support WINE, particularly as its WineD3D layer has some... issues... but the last time I tested it on a LiveCD installation, I didn't have any problems. Does /gdi work for you? OpenGL mode is superior, but it's worrying that either GDI mode is not working or it's unable to fall back from D3D9 mode to GDI mode. The PAL artifacts were reasonable compared to screenshots I had at the time. I'll have to study yours more closely... you have more artifacting in the pattern area and less on the text edges, which is strange. I rewrote part of the UI to support tab stacking of panes, which allows for better use of screen space in the debugger. The caption is now omitted for panes in the main docking well, which means that the Display banner is now gone in normal operating mode. The new Window menu allows panes stacked there to be undocked or closed. http://www.virtualdub.org/beta/Altirra-2.30-test4.zip http://www.virtualdub.org/beta/Altirra-2.30-test4-src.zip Quote Link to comment Share on other sites More sharing options...
atarixle Posted February 5, 2013 Share Posted February 5, 2013 Actually, I don't know why Altirra 2.10 didn't run on WINE on my NetBook (GPU: Intel GMA945). And I still don't know why it runs longer, so I can switch to OpenGL. The same version ran perfectly on WINE on my PC (GPU: Nvidia GTX460) - with DirectX, and since I don't install NFS:World anymore also without. May be it's caused by the older WINE version on the NetBook (WINE 1.4 vs. always the current version on the PC). When I look at the artifacts in your emulator, I see the nicely drawn artifacts that cause Blue/Yellow colored borders. Altirra just ignores those artifacts which cause the red/green coloring (caused by diagonally arranged pixels underneath). Quote Link to comment Share on other sites More sharing options...
w1k Posted February 6, 2013 Share Posted February 6, 2013 more roms with RD5 button what is need for run.. - altirra now dont support it roms.zip 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.