chunkypixel / atari-dev-studio

Homebrew game creation for the Atari 8-bit consoles (VS Code Extension)
http://atariage.com/forums/topic/290365-atari-dev-studio-for-homebrew-development-release/
GNU General Public License v3.0
77 stars 8 forks source link

M1 Mac compatibility #42

Closed thinkyhead closed 1 year ago

thinkyhead commented 2 years ago

Add Arm64 builds of both bAtari-Basic and dasm, plus a link to the x86 build of Stella — until a Universal build is available.

thinkyhead commented 2 years ago

Note that there is a JavaScript / node.js version of the bAtari-Basic compiler that includes DASM available at https://github.com/haroldo-ok/batari-basic-js. It runs on all platforms with a single codebase, so it may be worthwhile to replace all the platform-specific binaries with that instead. The batari-basic-js compiler might not be a hand-coded port, but just a translation of the binary using a cross-compiler. I'll have to take a closer look soon, as I've been working on converting the bAtari-Basic codebase from sloppy C to a somewhat less sloppy C++. The aim is to have a codebase that is more easily portable to Javascript and/or TypeScript so that bAtari-Basic compilation can be embedded more easily.

chunkypixel commented 2 years ago

Wow thanks! I'll take a look at this very soon!

chunkypixel commented 2 years ago

Hi @thinkyhead - apologies for not getting to this yet (i'd forgetten TBH and have been flatout with real life). This actually just popped up as an issue on AtariAge (https://atariage.com/forums/topic/333127-ataribasic-will-it-run-on-the-m1-mac) so you may be prvented this if i'd done something about it 😢 It will require me to determine how to identify M1 within Typescript so I can launch the appropriate compiler files so will need to investigate very soon.

thinkyhead commented 2 years ago

It will require me to determine how to identify M1 within Typescript

If you query the system, the OS will be identified as "darwin" and the architecture will be "arm64."

thinkyhead commented 2 years ago

Even better than the Javascript version of DASM (or as a good companion) there is also a Javascript Atari 2600 emulator at https://github.com/ppeccin/javatari.js which could be embedded inside the extension, removing the need for Stella or another emulator to be installed on the user computer, and the game could run right inside the WebView, with full access to the running state.

chunkypixel commented 1 year ago

Thanks @thinkyhead for the ARM versions!