pcrow Posted March 16 Share Posted March 16 I've written a number of utilities for managing ATR files, binary load (.XEX) and BASIC file analysis, disassembler, and such. I'm between jobs right now, and would like to have an excuse to write something in a language I have less experience in. Are there any utilities that would be helpful that you haven't seen or where a new version might be useful? And note that while my coding is Linux-based, the programs can often also be compiled for Mac or Windows. 3 Quote Link to comment Share on other sites More sharing options...
baktra Posted March 18 Share Posted March 18 On 3/16/2024 at 6:24 PM, pcrow said: I've written a number of utilities for managing ATR files, binary load (.XEX) and BASIC file analysis, disassembler, and such. I'm between jobs right now, and would like to have an excuse to write something in a language I have less experience in. Are there any utilities that would be helpful that you haven't seen or where a new version might be useful? And note that while my coding is Linux-based, the programs can often also be compiled for Mac or Windows. Would you happen to have a comprehensive list of utilities you already have? 1 Quote Link to comment Share on other sites More sharing options...
+x=usr(1536) Posted March 18 Share Posted March 18 5 hours ago, baktra said: Would you happen to have a comprehensive list of utilities you already have? This would be very helpful. I have number that I'm using installed, but would like to see a wider range so that the obvious gaps stick out a bit more. Quote Link to comment Share on other sites More sharing options...
pcrow Posted March 18 Author Share Posted March 18 6 hours ago, baktra said: Would you happen to have a comprehensive list of utilities you already have? Everything is on github: https://github.com/pcrow/atari_8bit_utils You'll find there: ATRFS: Mount Atari disk images as native file systems (uses FUSE for user-space file systems; works on Linux and Mac) disasm: Disassembler focusing on boot sectors and binary load files; traces execution to avoid disassembling data blocks atr2unix/unix2atr: Extract or create ATR files from a set of local files (inspiration for ATRFS above) binload: Binary load file analyzer basicanalyzer: Parse BASIC files sio2linux: Serve ATR files over an SIO2PC cable (I used this with an original RS232 cable) DISK: BASIC/ASM sector editor and more (mostly written in the 80s) basic autorun: Another autorun file for BASIC programs; enables BASIC on XL; only one sector long mydos_bmenu: binary load menu for large MyDOS images (compiled BASIC; uses joystick) I know some of these are redundant with other utilities that are probably better (like sio2linux). Several have there own threads here (ATRFS, disasm, and basic_autorun). 5 2 Quote Link to comment Share on other sites More sharing options...
+x=usr(1536) Posted March 18 Share Posted March 18 From the Mac side, I can confirm that a number of the utilities I'm using are straight builds from the Linux sources. None of these exist in package managers (Homebrew, in particular), so I'm having to hunt for the ones that are rarely-used yet still somewhere on the disk that haven't already been mentioned. Note that as I run multiple OS platforms, not all of these are specific to use on MacOS. lsatr & mkatr - https://github.com/dmsc/mkatr turbodis - https://github.com/dmsc/turbo-dis a8rawconv - https://forums.atariage.com/topic/231835-a8rawconv-a-new-raw-disk-conversion-utility/ fujinet-pc - https://github.com/FujiNetWIFI/fujinet-firmware There are almost certainly others, but, as mentioned previously, they need to be ferreted out. And on the subject of package managers, I would absolutely love to see some or all of these make it into package management. That's an entire other conversation unto itself, but it would help immensely with knowing what's installed and what isn't. Management, in other words 1 Quote Link to comment Share on other sites More sharing options...
Geister Posted March 18 Share Posted March 18 As a beginner Linux user who has just managed to get Altirra to run on wine in Linux Mint, I'd love more information on running Atari on Linux. I'd like a video on setting up a developer load of tools for Linux and Atari as I intend to never run Windows again after I get that done. Well that and proving that I can do my taxes on a Linux machine as well. This is well under way. Quote Link to comment Share on other sites More sharing options...
Irgendwer Posted March 18 Share Posted March 18 (edited) If you like to have a challenge, what about natively executing (Turbo-)Basic in a console window? Of course supporting all hardware bells and whistles is likely unsupported (and USR/6502 emulation too), but it would be nice to have for e.g. data transformation tools or prototypes the possibility to just run the BASIC tokens natively (without emulation) very fast in a standard shell... Edited March 18 by Irgendwer Quote Link to comment Share on other sites More sharing options...
pcrow Posted March 18 Author Share Posted March 18 40 minutes ago, Irgendwer said: If you like to have a challenge, what about natively executing (Turbo-)Basic in a console window? Of course supporting all hardware bells and whistles is likely unsupported (and USR/6502 emulation too), but it would be nice to have for e.g. data transformation tools or prototypes the possibility to just run the BASIC tokens natively (without emulation) very fast in a standard shell... That's an interesting idea. My basic analyzer can already generate a full listing from the save file (including several BASIC variants). If I start with just doing text (GR.0), it might not be too insane. Another related project would be a BASIC compiler, though I don't know how far I would get in that. What I would find interesting would be to track variable usage to determine the range of values for each variable so that it would be clear what data type to use (uint8, int16, uint16, float, etc.). I like to imagine a variant of BASIC with execution support for different data types where an external optimizer could convert types appropriately. 2 Quote Link to comment Share on other sites More sharing options...
Irgendwer Posted March 18 Share Posted March 18 2 hours ago, pcrow said: Another related project would be a BASIC compiler, though I don't know how far I would get in that. @dmsc once had this plan, with "Fast Basic" as outcome. 1 Quote Link to comment Share on other sites More sharing options...
Irgendwer Posted March 18 Share Posted March 18 2 hours ago, pcrow said: If I start with just doing text (GR.0), it might not be too insane. Yes, that sounds feasible. Using SDL you could even go later for support of the graphics commands or sound... Quote Link to comment Share on other sites More sharing options...
pcrow Posted March 18 Author Share Posted March 18 17 minutes ago, Irgendwer said: @dmsc once had this plan, with "Fast Basic" as outcome. I hadn't seen that, so I looked it up: https://github.com/dmsc/fastbasic Fascinating project. Quote Link to comment Share on other sites More sharing options...
sanny Posted March 19 Share Posted March 19 17 hours ago, Irgendwer said: If you like to have a challenge, what about natively executing (Turbo-)Basic in a console window? You could do this with the atari800 emulator. You have to compile your own version with special settings, though. Quote Link to comment Share on other sites More sharing options...
sanny Posted March 19 Share Posted March 19 @pcrow, how about a Mac/65 file analyzer. Or is it covered by the basicanalyzer? Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted March 19 Share Posted March 19 14 minutes ago, sanny said: @pcrow, how about a Mac/65 file analyzer. Or is it covered by the basicanalyzer? Does anyone use this on Linux, as it's processing HTML, it should work, might try pi my Pi5 later It decodes all sorts of Atari type files, MAC/65 included and has the option to download files from .ATR's etc. GitHub - pvbestinfoo/Atari_8-Bit_Rom_Image_File_Explorer: Atari 8-bit Rom Image File Explorer based upon ATR Image Explorer Quote Link to comment Share on other sites More sharing options...
ascrnet Posted March 19 Share Posted March 19 22 hours ago, pcrow said: Everything is on github: https://github.com/pcrow/atari_8bit_utils You'll find there: ATRFS: Mount Atari disk images as native file systems (uses FUSE for user-space file systems; works on Linux and Mac) disasm: Disassembler focusing on boot sectors and binary load files; traces execution to avoid disassembling data blocks atr2unix/unix2atr: Extract or create ATR files from a set of local files (inspiration for ATRFS above) binload: Binary load file analyzer basicanalyzer: Parse BASIC files sio2linux: Serve ATR files over an SIO2PC cable (I used this with an original RS232 cable) DISK: BASIC/ASM sector editor and more (mostly written in the 80s) basic autorun: Another autorun file for BASIC programs; enables BASIC on XL; only one sector long mydos_bmenu: binary load menu for large MyDOS images (compiled BASIC; uses joystick) I know some of these are redundant with other utilities that are probably better (like sio2linux). Several have there own threads here (ATRFS, disasm, and basic_autorun). Good tools. As a good idea to unify them and make a user interface. Also you can install it easily from a package so that people with little knowledge can use it without compiling. 1 Quote Link to comment Share on other sites More sharing options...
pcrow Posted March 19 Author Share Posted March 19 5 hours ago, sanny said: @pcrow, how about a Mac/65 file analyzer. Or is it covered by the basicanalyzer? Mac/65 is a macro assembler https://atariwiki.org/wiki/Wiki.jsp?page=Mac65 I haven't used it, but wouldn't it just be assembly text files? Or am I missing something (like a different project with the same name)? Quote Link to comment Share on other sites More sharing options...
TGB1718 Posted March 19 Share Posted March 19 (edited) 33 minutes ago, pcrow said: I haven't used it, but wouldn't it just be assembly text files? No, it tokenizes the code much like BASIC see here:- You can however "LIST" the file as text and "ENTER" if required. Edited March 19 by TGB1718 Quote Link to comment Share on other sites More sharing options...
leech Posted March 19 Share Posted March 19 On 3/18/2024 at 9:03 AM, x=usr(1536) said: From the Mac side, I can confirm that a number of the utilities I'm using are straight builds from the Linux sources. None of these exist in package managers (Homebrew, in particular), so I'm having to hunt for the ones that are rarely-used yet still somewhere on the disk that haven't already been mentioned. Note that as I run multiple OS platforms, not all of these are specific to use on MacOS. lsatr & mkatr - https://github.com/dmsc/mkatr turbodis - https://github.com/dmsc/turbo-dis a8rawconv - https://forums.atariage.com/topic/231835-a8rawconv-a-new-raw-disk-conversion-utility/ fujinet-pc - https://github.com/FujiNetWIFI/fujinet-firmware There are almost certainly others, but, as mentioned previously, they need to be ferreted out. And on the subject of package managers, I would absolutely love to see some or all of these make it into package management. That's an entire other conversation unto itself, but it would help immensely with knowing what's installed and what isn't. Management, in other words Yes! Not sure if we have anyone around that is a debian maintainer, but getting a package of 'atari8-utils' or something built and submitted to Debian would be awesome. And that'd spread out to all of the other Debian based distributions, like Ubuntu and cover the vast majority of users. An RPM for Fedora would help as well. 1 Quote Link to comment Share on other sites More sharing options...
pcrow Posted March 19 Author Share Posted March 19 46 minutes ago, TGB1718 said: No, it tokenizes the code much like BASIC Interesting. I don't know how useful extracting those would be. I suppose it would be the first step to support using MAC/65 source code with a cross-assembler. Quote Link to comment Share on other sites More sharing options...
+x=usr(1536) Posted March 19 Share Posted March 19 14 minutes ago, leech said: Yes! Not sure if we have anyone around that is a debian maintainer, but getting a package of 'atari8-utils' or something built and submitted to Debian would be awesome. And that'd spread out to all of the other Debian based distributions, like Ubuntu and cover the vast majority of users. An RPM for Fedora would help as well. I've been doing some light massaging on getting them included in Homebrew for the Mac. Haven't tried for a while; perhaps it's time to pick that up again. BTW: @pcrow: I should clarify that I do use some of the utilities in the atari_8bit_utils repo; the ones that I named above were chosen because they cover use cases differently to the tools you've been building as well as filling in a couple of blank spots. fujinet-pc was a toss-in because it's a good missing link to have on hand for tnfs server access. 1 Quote Link to comment Share on other sites More sharing options...
mr_gw454 Posted March 19 Share Posted March 19 (edited) Not sure if there would be much demand for this, but what about Linux command line utilities to build and populate APT based images for use with SIDE2/SIDE3/U1MB systems and/or Altirra? Edited March 19 by mr_gw454 Quote Link to comment Share on other sites More sharing options...
pcrow Posted March 19 Author Share Posted March 19 5 minutes ago, mr_gw454 said: Not sure if there would be much demand for this, but what about Linux command line utilities to build and populate APT based images for use with SIDE2/SIDE3/U1MB systems and/or Altirra? ATRFS has some support for that already. It doesn't create APT images, but it will parse them, and you can mount the file systems within them (some require a second invocation of ATRFS if they're smaller sector sizes that don't map linearly). Quote Link to comment Share on other sites More sharing options...
mr_gw454 Posted March 19 Share Posted March 19 1 minute ago, pcrow said: ATRFS has some support for that already. It doesn't create APT images, but it will parse them, and you can mount the file systems within them (some require a second invocation of ATRFS if they're smaller sector sizes that don't map linearly). I should have done some more research before asking. Thanks for that info! Quote Link to comment Share on other sites More sharing options...
pcrow Posted March 19 Author Share Posted March 19 2 hours ago, mr_gw454 said: I should have done some more research before asking. Thanks for that info! Where's the fun in that? (I do the same thing all too often.) Quote Link to comment Share on other sites More sharing options...
foft Posted March 20 Share Posted March 20 How about an sio protocol analyzer? https://support.saleae.com/protocol-analyzers I guess more useful if you have the hardware though there are cheap clones. 2 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.