playermissile Posted February 9, 2016 Author Share Posted February 9, 2016 New version! 0.8.4 available here: https://github.com/robmcmullen/omnivore/releases/tag/0.8.4 Apologies; found a bug affecting segment writing. Will update with 0.8.5 tonight. Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 9, 2016 Author Share Posted February 9, 2016 (edited) <duplicate post; removed> Edited February 9, 2016 by playermissile Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 9, 2016 Author Share Posted February 9, 2016 OK, sorry about that. 0.8.5 is available: https://github.com/robmcmullen/omnivore/releases/tag/0.8.5 Fixed a few more bugs: * As a default, populate the Save Segment As dialog with the segment name * Fixed map mode to update fonts in tile map & character set map after changing fonts * Fixed variable name typo in segments list * Added context menu to map editor * Fixed flickering UI when selecting segment * Fixed right click on segment to save the segment on which the user clicked, rather than selected segment * Fix for incorrect segment saving 1 Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 9, 2016 Share Posted February 9, 2016 Hi, and thanks for all the recent updates... A small problem in Windows 7 64-bit for the last couple of versions: a portion of the file/segment is selected upon opening. Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted February 9, 2016 Share Posted February 9, 2016 Are the any CLI instructions or a mass extract for K-files.. My first effort named the extracted k-file Kboot executable.xex and I was hoping for an extracted file name similar to the input file name.. Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 9, 2016 Author Share Posted February 9, 2016 Hi, and thanks for all the recent updates... A small problem in Windows 7 64-bit for the last couple of versions: a portion of the file/segment is selected upon opening. select.jpg Any chance you can send me that cartridge file? I can't find a file on my system that shows the same problem. You can send me a PM or email at feedback@playermissile.com Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 9, 2016 Author Share Posted February 9, 2016 (edited) Are the any CLI instructions or a mass extract for K-files.. My first effort named the extracted k-file Kboot executable.xex and I was hoping for an extracted file name similar to the input file name.. If you want a command line tool, you can install my small python library atrcopy, which is available here: https://pypi.python.org/pypi/atrcopy If you don't have python installed, you'll need python 2.7 first, then do: `pip install atrcopy` and you'll get a command line tool to look at stuff: $ atrcopy ANALOG52.XFD ANALOG52.XFD: XFD Disk Image (size=92160 (720x128b) Atari DOS Format: 707 usable sectors (40 free), 14 files File #0 (.2.u. 004) DOS SYS 037 File #1 (.2.u. 041) DUP SYS 042 File #2 (.2.u. 083) AUTORUN SYS 002 File #3 (.2.u. 085) MENU SYS 021 File #4 (.2.u. 106) DEVILS BAS 088 File #5 (.2.u. 194) RAMBUGIIOBJ 036 File #6 (.2.u. 230) DUMPMATEBAS 045 File #7 (.2.u. 275) VBI1 BAS 026 File #8 (.2.u. 301) VBI2 BAS 026 File #9 (.2.u. 327) VBI3 BAS 027 File #10 (.2.u. 354) RAMBUG M65 182 File #11 (.2.u. 545) DUMPMATEAMA 025 File #12 (.2.u. 570) MIDAS OBJ 109 File #13 (.2.u. 679) RAMBHI 001 $ atrcopy arkanoid2.atr arkanoid2.atr: ATR Disk Image (size=39312 (307x128b), crc=0 flags=0 unused=0) KBoot Format: 38911 byte executable File #0 (...u. 004) arkanoid2xex 304 and if you want to extract files within the disk image, you'd use the '-x' flag: $ atrcopy -x arkanoid2.atr arkanoid2.atr: ATR Disk Image (size=39312 (307x128b), crc=0 flags=0 unused=0) KBoot Format: 38911 byte executable File #0 (...u. 004) arkanoid2xex 304: copying to arkanoid2.xex Edited February 9, 2016 by playermissile Quote Link to comment Share on other sites More sharing options...
+MrFish Posted February 9, 2016 Share Posted February 9, 2016 (edited) Any chance you can send me that cartridge file? I can't find a file on my system that shows the same problem. You can send me a PM or email at feedback@playermissile.com It has nothing to do with that particular cartridge file; the same thing happens with any file (XEX, ATR, etc.). I just noticed something though. When I use <ENTER> to confirm my file choice, it doesn't happen. So it's when I use the mouse-pointer to confirm my file choice -- by double-clicking -- it happens, and the selection end-point is exactly where the mouse-pointer is when the file is opened. So it has something to do with interpreting mouse clicks, etc. Edited February 9, 2016 by MrFish Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 9, 2016 Author Share Posted February 9, 2016 So it's when I use the mouse-pointer to confirm my file choice -- by double-clicking -- it happens, and the selection end-point is exactly where the mouse-pointer is when the file is opened. So it has something to do with interpreting mouse clicks, etc. Ah! That error I can duplicate. Thanks for discovering that. Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 9, 2016 Author Share Posted February 9, 2016 So it has something to do with interpreting mouse clicks, etc. Yep, turns out on windows a mouse motion event can get sent without a mouse down event. That was confusing the highlighting, so I've got that fixed now. It'll be in the next version. 2 Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted February 10, 2016 Share Posted February 10, 2016 If you want a command line tool, you can install my small python library atrcopy, which is available here: https://pypi.python.org/pypi/atrcopy If you don't have python installed, you'll need python 2.7 first, then do: `pip install atrcopy` and you'll get a command line tool to look at stuff: and if you want to extract files within the disk image, you'd use the '-x' flag: I get an importerror: No module named numpy Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 10, 2016 Author Share Posted February 10, 2016 It's supposed to pull numpy in automatically, but looks like I made a mistake in the install script. Try `pip install numpy` and try again. Quote Link to comment Share on other sites More sharing options...
fujidude Posted February 10, 2016 Share Posted February 10, 2016 Everyone should have numpy! 2 Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 10, 2016 Author Share Posted February 10, 2016 I get an importerror: No module named numpy Turns out there is both a bug in my atrcopy install script and a bug in python. The latest atrcopy attempts to work around it, but probably you'll need to do the `pip install numpy` before `pip install atrcopy` 2 Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted February 10, 2016 Share Posted February 10, 2016 Turns out there is both a bug in my atrcopy install script and a bug in python. The latest atrcopy attempts to work around it, but probably you'll need to do the `pip install numpy` before `pip install atrcopy` I also had to install vcpython from Microsoft.. to get all the correct paths for the install. 1 Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted February 11, 2016 Share Posted February 11, 2016 Okay all installed numpy atrcopy and I open cmd box in the python27 folder and type atrcopy and receive error atrcopy not recongnized as an internal command operable program or batch file. pip is recognized but not atrcopy.. Quote Link to comment Share on other sites More sharing options...
fujidude Posted February 11, 2016 Share Posted February 11, 2016 Okay all installed numpy atrcopy and I open cmd box in the python27 folder and type atrcopy and receive error atrcopy not recongnized as an internal command operable program or batch file. pip is recognized but not atrcopy.. It has to be in the path, just like any other executable. 1 Quote Link to comment Share on other sites More sharing options...
Roydea6 Posted February 11, 2016 Share Posted February 11, 2016 Yes I got it now full filename is atrcopy.py -x Montezumas(k-file).atr 1 Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 12, 2016 Author Share Posted February 12, 2016 Basic SpartaDOS support should be in the next version. I've got to get more examples of disk images with subdirectories so I can test that. 1 Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 18, 2016 Author Share Posted February 18, 2016 New version! 0.9.0 available here: https://github.com/robmcmullen/omnivore/releases/tag/0.9.0 Multiple selection: select disjointed areas by holding down the Control key (Command on Mac). Operations on the selected regions will treat the data as a contiguous chunk of data even though there are gaps in the physical data. NOTE: Operations on multiple selection does not yet work in map edit mode. Also, ATR/XFD images in Atari DOS or SpartaDOS format will be parsed and files will appear as segments. These files appear as a linear string of bytes when viewed in segment mode (and can be operated on in that view, regardless of their sector arrangement in the disk image). Additionally, the Page Map view has been moved to a popup menu on the sidebar so it doesn't take up so much screen real estate. Fixed perspective restoring so it only happens once for each task type in each window Changed left click so it's now possible to set cursor position only, without a 1 byte selection Basic fix for rectangular paste; multi-selection not yet implemented Added preferences for map width, bitmap width Added cursor highlighting for FontMapScroller Moved memory map view into springtabs for hex edit mode Fixed selection adjustment upon switching segments Added SpartaDOS support as of atrcopy version 2.2 Added simple heuristic algorithm to invert the rectangular selection Added invert selection menu item Added multiple selection mode: ctrl to add new regions, select to extend the current region Workaround for windows: it's possible to get a mouse motion event without a mouse down when user double clicks on file open dialog Fixed selection dragging in grid that automatically started editing a cell Added filename to window title bar 4 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 19, 2016 Share Posted February 19, 2016 Would it be (reasonably) possible to flag illegal opcodes in the disassembly? We need a tool to make it easier to fix some of these badly behaved programs (and programmers). The former should be fairly easy, but, the latter is most likely a lost cause. Quote Link to comment Share on other sites More sharing options...
playermissile Posted February 19, 2016 Author Share Posted February 19, 2016 Would it be (reasonably) possible to flag illegal opcodes in the disassembly? Do you mean, for example, flagging the LAX undocumented instruction somehow? I've been thinking about adding other disassemblers, so maybe one for straight 6502 with no undocumented opcodes, and one with 6502 + all the undocumented mnemonics. Maybe illegal opcodes in the former case would be highlighted in red or something? I'm also going to add flags where you can tell it what bits of code are data sections so it won't try to disassemble those areas. And even more: I'm going to add comments where you can attach some documentation to ranges of addresses as you reverse engineer something. The locations with comments will be highlighted in a different color (in hex, bitmap & disassembly views) so you'll be able to see where your notes are. 2 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 19, 2016 Share Posted February 19, 2016 That sounds like a good start. I believe that LAX is one of the most commonly (ab)used illegals. I want the demos to work. All you illegal programmers listen up. Just think how nice it would be if I could show my old User Group buddies all your really cool demos. As it stands, I have to explain to them that there are some great demos, but I can't show them to you running fast off of my hard drive because the programmers chose to be assholes! With Rapidus and F7 about to be released, are you going to shit on Lotharek? I would hope not. Quote Link to comment Share on other sites More sharing options...
Fox-1 / mnx Posted February 29, 2016 Share Posted February 29, 2016 If I read this right, you're complaining about the fact that software, written for a specific CPU, doesn't run on a non-compliant CPU... 1 Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 29, 2016 Share Posted February 29, 2016 (edited) If I read this right, you're complaining about the fact that software, written for a specific CPU, doesn't run on a non-compliant CPU... The CPU is compliant, it's the programmers who are not. When the 6502 was first designed, there were certain opcodes that were unused. The designers did not publish them as valid opcodes. Later on people found that a few of them work, and can save a byte or two here and there in their code. That code works on the 6502, but not on the improved 65C02, which treats invalid opcodes as NOPs. Along comes the 65c802 and 65c816 chips that are completely compatible with the 6502, but have more instructions (opcodes) to choose from. All 256 opcodes have a meaning on these chips, so those invalid opcodes now do something completely different than the programmer intended. That's why the use of undefined, undocumented, invalid, illegal (there are many names) opcodes was discouraged by the original chip designers. They were reserved for future expansion from the very beginning. No software published by Atari (or any major software house) used these illegals. The 65c816 will run all Atari software just as the 6502 did. Edit: with very few exceptions. The Demo-scene is where you normally find the use of these illegal opcodes. The coders claim they are necessary for speed, but that is usually not the case. They have gotten in the habit of using as many illegals as possible in an attempt to obfuscate their code to make it difficult for those with disassemblers. If they would only run a simple test (just a few lines of code) to determine the CPU type, then they could write demos that also run on the 816, and have lots of new (and valid) opcodes to use. In other words: If it's a 6502, then use illegals (if you must), but if it's an 816, then use the new and more efficient instructions to make your demo better and faster than ever. The block move instructions alone can save many bytes of code and many CPU cycles. To learn more about the 816, read the link in my post here: http://atariage.com/forums/topic/249405-new-4mb-ram-expansion/page-4?do=findComment&comment=3453397 Edited February 29, 2016 by Kyle22 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.