Jump to content
mksmith

Atari Dev Studio for Homebrew Development [Release]

Which language do you develop with using Atari Dev Studio?  

48 members have voted

  1. 1. Which language do you develop with using Atari Dev Studio?

    • batari Basic
      25
    • 7800basic
      14
    • dasm (assembly)
      17


Recommended Posts

2 minutes ago, Karl G said:

I don't think there are many Mac users that can run only 32 bit binaries at this point, and even if there were any,they could work around it by setting ADS to use a different installation of bB. I don't know if that would fix it, but it shouldn't hurt anything. 

 

Also, if it's only me that's seeing this, then feel free to not spend too much time on this, since I have an easy workaround as well. 

As said Stella only has the 64-bit version now so it probably makes sense in the end. Mike is releasing new builds of bB and 7800basic (either or both) shortly so might try x64 bB and see how it goes - easy enough to reverse 👍

  • Like 1

Share this post


Link to post
Share on other sites

I'm an outsider to the Mac experience, like you Matt, but my impression is that if you're the sort of person to semi-regularly install new software, you're pushed into keeping the OS up to date, and will likely have followed the recent dropping of 32-bit support. Common libraries change often enough that running software built on a newer release than yours is often problematic, though the newer releases seem to have no difficulty with software built on old releases. (except for the recent loss of 32-bit binary support, of course)

 

Anyway, I think 64-bit should cover the majority of cases, and Karl's suggestion of the user covering the gap if they need 32-bit code, is sensible.

  • Like 2

Share this post


Link to post
Share on other sites
On 2/17/2020 at 7:55 PM, mksmith said:

@Lillapojkenpåön

Due to the way VSCode handles highlighting (ie. seach, bracket matching etc) the background colors cannot yet be set (https://github.com/microsoft/vscode/issues/3429). 

 

 

It's still helpful using only foreground colors, that's how I originally implemented it.

839545656_ScreenShot2020-03-06at9_18_50AM.thumb.png.e15379f093071c0d103d62c10fbdf56d.png

 

 

  • Like 3

Share this post


Link to post
Share on other sites

@SpiceWare Ah good suggestion thanks - will see if I can do something along those lines 👍

Share this post


Link to post
Share on other sites
7 hours ago, RevEng said:

I'm an outsider to the Mac experience, like you Matt, but my impression is that if you're the sort of person to semi-regularly install new software, you're pushed into keeping the OS up to date, and will likely have followed the recent dropping of 32-bit support. Common libraries change often enough that running software built on a newer release than yours is often problematic, though the newer releases seem to have no difficulty with software built on old releases. (except for the recent loss of 32-bit binary support, of course)

 

Anyway, I think 64-bit should cover the majority of cases, and Karl's suggestion of the user covering the gap if they need 32-bit code, is sensible.

Sounds good - will replace with only 64-bit next release 👍

Share this post


Link to post
Share on other sites

A new release (v0.3.6/v0.3.7) is now available with the following changes:

  • Updated to latest batari Basic release v1.5 (Windows, Linux, macOS)
  • Updated to latest 7800basic release v0.8 (Windows, Linux, macOS)
  • Updated internal dev packages
  • #19 [Done] Fix for macOS - attempt to mark Stella as an execute

Note: this doesn't yet contain the macOS 64-bit only build of bB - need to do a bit more work to get that in.

  • Like 4

Share this post


Link to post
Share on other sites

A new release (v0.3.8) is now available with the following changes:

  • #22 [Fixed] Fixed issue identifying ChMod files for batari Basic and 7800basic where the architecture was hard-coded to x86 (Linux and macOS)
  • #19 [Fixed] Added full ChMod permissions to Stella on macOS (same as compilers)

Thanks to those of you who reported and assisted with the compilation issues on macOS 64-bit version 👍

  • Like 2

Share this post


Link to post
Share on other sites

I stumbled on this and thought I'd give it a go. Lovely work to all involved. There are some very nice touches.

I have one question - possibly already answered but I haven't been through all the comments - and a search turned nothing.

I have an assembler project with multiple files. The build is done from a makefile.

My question - how can I configure the "project" to use "make" to do the assembly for me, when I'm viewing/editing any of the source files.

Share this post


Link to post
Share on other sites
11 minutes ago, Andrew Davie said:

I stumbled on this and thought I'd give it a go. Lovely work to all involved. There are some very nice touches.

I have one question - possibly already answered but I haven't been through all the comments - and a search turned nothing.

I have an assembler project with multiple files. The build is done from a makefile.

My question - how can I configure the "project" to use "make" to do the assembly for me, when I'm viewing/editing any of the source files.

Hi Andrew,

 

I'm sure I could look at that for you - I should be able to add a compiler variation to call a "make" no problem.  The question is what constitutes (files) the "make" process, can it be included in the extension or can we just reference what's installed on a users computer.  Any info here on setup would be appreciated and we can go from there!  

Share this post


Link to post
Share on other sites
47 minutes ago, mksmith said:

Hi Andrew,

 

I'm sure I could look at that for you - I should be able to add a compiler variation to call a "make" no problem.  The question is what constitutes (files) the "make" process, can it be included in the extension or can we just reference what's installed on a users computer.  Any info here on setup would be appreciated and we can go from there!  

 

Thanks for the quick reply.
Well the *nicest* thing I guess would be to reflect what happens on the command line.
And that is, use the system path to find "make".
But failing that, I have no issues with specifying what to do on a build, and that (on MacOS for me) is just to run /usr/bin/make
 

Share this post


Link to post
Share on other sites
2 minutes ago, Andrew Davie said:

 

Thanks for the quick reply.
Well the *nicest* thing I guess would be to reflect what happens on the command line.
And that is, use the system path to find "make".
But failing that, I have no issues with specifying what to do on a build, and that (on MacOS for me) is just to run /usr/bin/make
 

I should add - one of the reasons I do this is that the "make" does a whole lot more than assemble.

It runs various tools/utilities to do graphics conversion if any of the source graphics have been "touched". I get a fully automatic build - modify a pixel in source graphics, then "make" and I am running stella and the new pixel is there without me even having to think about it.

 

Share this post


Link to post
Share on other sites
2 hours ago, Andrew Davie said:

I should add - one of the reasons I do this is that the "make" does a whole lot more than assemble.

It runs various tools/utilities to do graphics conversion if any of the source graphics have been "touched". I get a fully automatic build - modify a pixel in source graphics, then "make" and I am running stella and the new pixel is there without me even having to think about it.

 

It definitely give a bit more power and flexibility to users.  One of the reasons I created the extension is the ease of use for things to just be done and not have to worry.  If you have a small sample project you could send me to get started with that would be appreciated - just to show the basics. I can also incorporate Stella as I do now to save you that one.

Share this post


Link to post
Share on other sites
48 minutes ago, mksmith said:

It definitely give a bit more power and flexibility to users.  One of the reasons I created the extension is the ease of use for things to just be done and not have to worry.  If you have a small sample project you could send me to get started with that would be appreciated - just to show the basics. I can also incorporate Stella as I do now to save you that one.

 

Not quite sure what you're after here. 

Here's a very basic makefile (in min.zip) that runs dasm from the local directory.

You call "make" to get this to do its stuff.  Hopefully when you modify test.asm, it will assemble it.

Generally I have it call stella after the make.

My "real" makefile is extra-messy as I haven't bothered to be correct with it. It does the job.

I'll attach that too, but be warned... somewhat incorrect.

 

min.zip Makefile

Share this post


Link to post
Share on other sites
1 hour ago, Andrew Davie said:

 

Not quite sure what you're after here. 

Here's a very basic makefile (in min.zip) that runs dasm from the local directory.

You call "make" to get this to do its stuff.  Hopefully when you modify test.asm, it will assemble it.

Generally I have it call stella after the make.

My "real" makefile is extra-messy as I haven't bothered to be correct with it. It does the job.

I'll attach that too, but be warned... somewhat incorrect.

 

min.zip 39.11 kB · 0 downloads Makefile 650 B · 0 downloads

Thanks Andrew! That should help me work something up over the weekend - I just need something simple to help confirm the process will work as expected. 

Without looking at it yet, I'll probably look to add a new setting to allow you to set the make path and use the existing Stella configuration (use the built-in one or provide your own path) for that part. Also perhaps an option to turn Stella off for this process so you can still use your scripting.

Share this post


Link to post
Share on other sites
2 minutes ago, mksmith said:

Thanks Andrew! That should help me work something up over the weekend - I just need something simple to help confirm the process will work as expected. 

Without looking at it yet, I'll probably look to add a new setting to allow you to set the make path and use the existing Stella configuration (use the built-in one or provide your own path) for that part. Also perhaps an option to turn Stella off for this process so you can still use your scripting.

Thank you.

Yes, disabling both the dasm options and the stella options would be handy.

That's where I purely want to do everything in the makefile (including run stella), and just want to use the IDE for the... editor and nifty things.

One thing I'd like to see added...

if there's a symbol table in the project directory (or the bin directory, wherever it ends up...) then parse it and use it to show values of labels and variables/symbols like the excellent way it does for 6502 ops. That is, a hover over a symbol - could we have it so that it shows the value if that value appears in the .sym file.  Wishful thinking perhaps, but thought I'd ask :)

Thanks for helping out on this!

 

  • Like 1

Share this post


Link to post
Share on other sites
19 minutes ago, Andrew Davie said:

Thank you.

Yes, disabling both the dasm options and the stella options would be handy.

That's where I purely want to do everything in the makefile (including run stella), and just want to use the IDE for the... editor and nifty things.

One thing I'd like to see added...

if there's a symbol table in the project directory (or the bin directory, wherever it ends up...) then parse it and use it to show values of labels and variables/symbols like the excellent way it does for 6502 ops. That is, a hover over a symbol - could we have it so that it shows the value if that value appears in the .sym file.  Wishful thinking perhaps, but thought I'd ask :)

Thanks for helping out on this!

 

I'm happy to put this together any way which suits you. It may actually be best to rely on the environment for the most but being flexible can help in the odd-situation. Will get the basics up and running and see where we get too 👍

 

I do want to add additional intellisense to the process which would add parsing of code - once I get that up and running that would certainly be possible. Detailed language servers in VS Code are quite complex but I would love to work something up eventually.

Share this post


Link to post
Share on other sites

A new release (v0.3.9) is now available with the following changes:

  • Added ability to use 'Make' to compile your game source code (Andrew Davie). Note: this feature is experimental and requires the user to have a fully configured environment to compile and launch emulation outside VS Code (tested only on macOS)
  • Added missing Command Palette option 'ads: Kill compile process'. This feature will kill any running compilation process across all available compilers. Note: this should not be required but is available if needed.

@Andrew Davie Try this release out - update via the extension tab in VS Code.  So all it does is call the make file and execute the process - the rest is up to your environment configuration (hopefully 🤞).  I guess it should just replicate the terminal process?? As I create a spawn process I set the working folder to the current file (makefile) location - hopefully that wont be a problem...

Share this post


Link to post
Share on other sites
35 minutes ago, mksmith said:

A new release (v0.3.9) is now available with the following changes:

  • Added ability to use 'Make' to compile your game source code (Andrew Davie). Note: this feature is experimental and requires the user to have a fully configured environment to compile and launch emulation outside VS Code (tested only on macOS)
  • Added missing Command Palette option 'ads: Kill compile process'. This feature will kill any running compilation process across all available compilers. Note: this should not be required but is available if needed.

@Andrew Davie Try this release out - update via the extension tab in VS Code.  So all it does is call the make file and execute the process - the rest is up to your environment configuration (hopefully 🤞).  I guess it should just replicate the terminal process?? As I create a spawn process I set the working folder to the current file (makefile) location - hopefully that wont be a problem...

 

Thanks. Have installed but can't see how to configure it to use the makefile....?

 

Share this post


Link to post
Share on other sites
1 minute ago, Andrew Davie said:

 

Thanks. Have installed but can't see how to configure it to use the makefile....?

 

Sorry just ensure your makefile is the active tab and click the compile or compile and run button on the bottom Atari Dev Studio toolbar 🤞🤞🤞

Share this post


Link to post
Share on other sites
Just now, mksmith said:

Sorry just ensure your makefile is the active tab and click the compile or compile and run button on the bottom Atari Dev Studio toolbar 🤞🤞🤞

OK, thanks... understood.

But that's not a workable solution, really...  because I could (and did) simply make sure the "top level asm" file was the active tab and click compile/run in the earlier version. And that worked. I'm trying to avoid having to do that.  That is, I would like to have whatever tab is active... I'm editing a "sub asm file" and click compile/run... and it runs the make process.  That's what would work.

Having to switch to the makefile... that would be a pain!
Is it possible to have the compile/run process check for a makefile, and then run make if present?

That way, would work for the use/case I need.

  • Like 1

Share this post


Link to post
Share on other sites

Ok so to confirm the process worked ok - did it launch Stella also?

 

Sure - that could be possible. I might need to do it in a way that it checks for a makefile in the working folder before doing the compile process. Currently it just looks at the active language ie. dasm, bB, 7800basic to determine what to do.

Share this post


Link to post
Share on other sites

Haha - I should read your whole summary before typing!

Share this post


Link to post
Share on other sites
1 minute ago, mksmith said:

Ok so to confirm the process worked ok - did it launch Stella also?

 

Sure - that could be possible. I might need to do it in a way that it checks for a makefile in the working folder before doing the compile process. Currently it just looks at the active language ie. dasm, bB, 7800basic to determine what to do.

It did run the makefile.

But python borked, so looks like the shell has a different version of Python than I need. That's a separate issue, really, and as yet unknown solution.

So, it never got to launching stella. I disabled the python tool calls, and it did run stella, although it was complaining about not being able to load/save the stellarc file.  
Thanks for your work on this.

 

 

Share this post


Link to post
Share on other sites

Yeah I'm a bit worried about the potential environment it creates in the spawn. If you try the terminal in VS code to run your make does that work ok??

Share this post


Link to post
Share on other sites
1 minute ago, mksmith said:

Yeah I'm a bit worried about the potential environment it creates in the spawn. If you try the terminal in VS code to run your make does that work ok??

Yes, it works OK when I type 'make' in terminal.

When I run via the icon, it does not. Here's a screenshot...

142489775_ScreenShot2020-03-14at12_02_06pm.thumb.png.d818236daad4d7d93ed590d21ad879e9.png

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...