Jump to content
IGNORED

IntyBASIC on MacOS Help Needed


Recommended Posts

Hi everyone!

 

I am thinking about getting started with IntyBASIC to put together a homebrew. I've done coding in BASIC, Swift (casually), TI BASIC, Amazon Alexa Kit (casually), and HTML. I feel comfortable that I can learn IntyBASIC and add value to the homebrew community in this way.

 

Here's where I need a bit of help. I'm exclusively on Mac. Not one PC at home. I downloaded the most recent version of IntyBASIC (1.2.9, I believe) and see the PC exe file and the Linux file. I don't, however, see a MacOS file in the usual .dmg file format. What do I need to do to get it going on MacOS, if at all possible? Also, what's the best emulator for MacOS to run the compiled work from IntyBASIC to see how it's coming along?

Thanks for taking the time to help! I'm sure these types of questions get asked a lot by FNGs, but I just didn't see a clear answer to the MacOS path.

 

Thanks!
Blaine

Link to comment
Share on other sites

There should be executables for all three in the archive: the IntyBASIC.exe is for Windows, the intybasic_linux is for Linux and the intybasic without any additional suffixes is for OSX. See also manual.txt which describes what's included and how to install. I'll admit I don't know what a DMG file means, perhaps it corresponds to the suffixless binaries?

Link to comment
Share on other sites

Hi everyone!

 

I am thinking about getting started with IntyBASIC to put together a homebrew. I've done coding in BASIC, Swift (casually), TI BASIC, Amazon Alexa Kit (casually), and HTML. I feel comfortable that I can learn IntyBASIC and add value to the homebrew community in this way.

 

Here's where I need a bit of help. I'm exclusively on Mac. Not one PC at home. I downloaded the most recent version of IntyBASIC (1.2.9, I believe) and see the PC exe file and the Linux file. I don't, however, see a MacOS file in the usual .dmg file format. What do I need to do to get it going on MacOS, if at all possible? Also, what's the best emulator for MacOS to run the compiled work from IntyBASIC to see how it's coming along?

 

Thanks for taking the time to help! I'm sure these types of questions get asked a lot by FNGs, but I just didn't see a clear answer to the MacOS path.

 

Thanks!

Blaine

I have a Mac OS version of the SDK ready but unreleased. It requires some minor setup on the user's part since the installation package is not ready.

 

It should make using IntyBASIC on a Mac an easy job. :)

 

Send me a PM and I'll hook you up with it this week.

 

dZ.

Link to comment
Share on other sites

Wow! These are some quick, great answers already. Much appreciated!

 

I can see the IntyBasic (no file extension) in the package, but it just goes to Terminal and terminates since there's nothing to compile. I can't see how to run the MacOS version of the SDK itself - the part where I type in the BASIC code before compiling. If it's not Mac ready yet, understood. Just making sure I'm not overlooking something on my end.

 

Thanks!
Blaine

Link to comment
Share on other sites

Wow! These are some quick, great answers already. Much appreciated!

 

I can see the IntyBasic (no file extension) in the package, but it just goes to Terminal and terminates since there's nothing to compile. I can't see how to run the MacOS version of the SDK itself - the part where I type in the BASIC code before compiling. If it's not Mac ready yet, understood. Just making sure I'm not overlooking something on my end.

 

Thanks!

Blaine

You need to create a folder for your programs, for example in Documents/intybasic

 

In that folder you need to copy the intybasic executable and intybasic_prologue.asm and intybasic_epilogue.asm files.

 

From the jzintv distribution bin folder, copy as1600 and jzintv into same folder.

 

You can edit your programs using TextEdit (use the Format/Convert to text without format option) and save your program as example1.bas

 

You need the Terminal icon that's available in the Launchpad Others folder, once you open it, type:

 

cd Documents
cd intybasic
./intybasic example1.bas example1.asm
./as1600 example1.asm -o example1
./jzintv -z1 example1
Link to comment
Share on other sites

Ok, there's hope for me yet. I have jzintv up and running on the Mac and tested it with the Astrosmash int file (I own the cart CIB). Also got the GUI for jzintv up and running. I think the thing I wasn't tracking was that the BASIC code is just written into a text file with unformatted text. I was thinking it was a blinking cursor on a "ready" screen like older BASIC programs used to do. I'm starting to understand now. I'll definitely take the SDK for MacOS, anything that makes it easier to make games for our beloved consoles is good with me! At least I'm seeing the larger picture now in terms of how things are done for writing Inty games. I will go over the study materials on the AA site, go through the examples, and see about starting with something small to get my feet wet. Based on the great AA community and the folks here in the dev forum, I know y'all have got my back on helping with the learning curve as needed.

 

I'll probably start with just displaying a title screen, an image, and some music. Hmm... I've always been partial to hearing and Inty play the Tron theme from the grid bugs screen, and I am a musician...

 

Thanks!
Blaine

  • Like 2
Link to comment
Share on other sites

You need to create a folder for your programs, for example in Documents/intybasic

 

In that folder you need to copy the intybasic executable and intybasic_prologue.asm and intybasic_epilogue.asm files.

 

From the jzintv distribution bin folder, copy as1600 and jzintv into same folder.

 

You can edit your programs using TextEdit (use the Format/Convert to text without format option) and save your program as example1.bas

 

You need the Terminal icon that's available in the Launchpad Others folder, once you open it, type:

 

cd Documents
cd intybasic
./intybasic example1.bas example1.asm
./as1600 example1.asm -o example1
./jzintv -z1 example1

 

Ok, I'm learning, but also struggling. I've tried assembling four of the included samples, but none will assemble or convert to rom format without errors. For example, the sprites.bas file gives me the following from Terminal:

Last login: Tue Nov 13 20:35:20 on ttys000

Blaines-MacBook-Pro:~ blainelocklair$ cd documents

Blaines-MacBook-Pro:documents blainelocklair$ cd intybasic

Blaines-MacBook-Pro:intybasic blainelocklair$ ./intybasic sprites.bas sprites.asm

IntyBASIC compiler v1.2.9 Nov/07/2017

© 2014-2016 Oscar Toledo G. http://nanochess.org/

Error: INCLUDE not successful in line 11

Warning: variable 'DEF00' read but never assigned

Warning: variable 'SPR00' read but never assigned

Warning: variable 'SPR01' read but never assigned

Warning: variable 'SPR02' read but never assigned

Warning: variable 'SPR03' read but never assigned

Warning: variable 'SPR04' read but never assigned

Warning: variable 'SPR_BLUE' read but never assigned

Warning: variable 'SPR_GREEN' read but never assigned

Warning: variable 'SPR_RED' read but never assigned

Warning: variable 'SPR_TAN' read but never assigned

Warning: variable 'SPR_WHITE' read but never assigned

Warning: variable 'VISIBLE' read but never assigned

Warning: variable 'ZOOMX2' read but never assigned

Warning: variable 'ZOOMY2' read but never assigned

Warning: variable 'ZOOMY4' read but never assigned

18 used 8-bit variables of 228 available

0 used 16-bit variables of 47 available

Compilation finished

Blaines-MacBook-Pro:intybasic blainelocklair$ ./as1600 sprites.asm -o sprites

ERROR SUMMARY - ERRORS DETECTED 0

- WARNINGS 0

I wasn't able to get the AS1600 to reproduce error codes on this file, but it, along with the others, don't work in jzintv. They just flash a few colored screens quickly at the beginning then go to a black screen. I have the Astrosmash ROM file (and original game cart), and it works fine in jzintv.

Any idea why IntyBASIC is being so fussy about the sample .bas files it comes with? I've attached a screenshot with the files I have in the documents/intybasic folder.

Thanks!

Blaine

post-65909-0-58160400-1542160280.png

Link to comment
Share on other sites

And so they do! Got it. The music player music.bas converted correctly and played music. Good deal. I'm gong to start project #1 by modifying the music player to play the Tron theme. I fully understand the ABCDEFG + octaves + sharps thing as a musician and the S and - as sustain and no sound from a coding standpoint. I can do this!

 

Thanks to everyone for helping me along so far. I'm still on day one, but I've got the core stuff in place to get started.

 

By the way, is constants.bas required for each project in some form, whether the prewritten one or a custom one?

 

Thanks!
Blaine

post-65909-0-45911600-1542162839.png

Edited by blainelocklair
Link to comment
Share on other sites

Two more questions for now: how do I change the tempo of the pre-existing music? I see the MUSIC SPEED const command but cannot understand how to use it. Is that the correct command to change the song's tempo? Also, what does the DATA command mean immediately before a list of music notes? For example, the sample song has tune_1: DATA 7 before the list of notes.

 

I think once I get these two things settled, I'll be good for a while. It'll just be punching in music notes, sustains, and whatnot until my first attempt and doing something original with an Inty is complete!

 

Thanks!
Blaine

Link to comment
Share on other sites

OK, I prepared a quick-and-dirty installer for the MacOS version of the SDK. The Mac version is ready to roll (and even better than the Windows one!) and even includes the latest version of the compiler and assembler, but I haven't been able to prepare an idiot-proof installer that will set up the environment correctly.

 

I've sent blainelocklair a PM with the installer and instructions on how to set up the environment variables. He can be the guinea pig in testing it and if it works, I'll post the full thing publicly later today.

 

blainelocklair, please make sure to comment out any environment variables you added for your current installation so that they don't collide with the SDK ones. The IntyBASIC SDK is a self-contained environment, which includes the compiler, assembler, emulator, and all necessary tools to run. :)

 

Anybody else wants to test the MacOS version of the IntyBASIC SDK?

 

-dZ.

Edited by DZ-Jay
  • Like 1
Link to comment
Share on other sites

To anybody reading this, the advantage of the IntyBASIC SDK was always intended to be easy, turn-key set up, without the mess of having to create special folders and muck with the environment. The Windows version works well that way, but since I am not a Mac programmer (only a regular Mac user), I do not know how to prepare a package to do the exact same thing on MacOS.

 

Even though you will have to set up your environment variables by hand on the Mac right now, it is still a one-time thing, and once you are set up, all you need to do is use the IntyBASIC SDK as always intended. It provides many tools to create new projects, compile and assemble in one go, and even build and test in the debugger in one go. It includes comprehensive documentation for each tool and all sorts of help. The MacOS version even installs "man pages" for each of the tools.

 

-dZ.

  • Like 1
Link to comment
Share on other sites

The irony is that I am a Mac user. You will find that the SDK for Mac is actually better than the one for Windows in that the tools are a lot more versatile in the way they handle arguments and even integration with the online "man pages" manual.

 

However, I was a Windows developer for many years but never developed on the Mac, so it was easy for me to create an easy to use installer for Windows that does *everything*, but the same eludes me on the Mac.

 

What it should do is: copy folder with all tools and documents; install the SDL framework; set the tools permissions; create 2 environment variables and add to the $PATH; then create an alias to the folder on the Desktop and a custom configuration for Terminal.app for debugging.

 

I got it to do step 1. :dunce: everything else has to be manual right now.

 

dZ.

Link to comment
Share on other sites

And I am indeed guinea pigging it (is that a real verb?). This is really good stuff. There are 100,000,000 active Mac users out there, so everything that contributes to both the Mac and classic gaming is a win!

 

I'll keep ya posted...

 

Blaine

By the way, you are "guinea piggying" the installation and manual setup. The SDK itself I've been using for several years and it works quite well. :)

 

Hopefully this week-end we'll have a public release of both Windows and MacOS versions of the IntyBASIC SDK.

 

dZ.

Link to comment
Share on other sites

Ok, taking a short break from coding Tron music. Quick question: how to I make a regular old title screen in IntyBASIC? There's a title.bas file sample, but it's for animated title text. I just want to show the good old title screen the games usually have. It just doesn't seem to be covered in the docs or samples.

 

Is there a sample for it, or can someone show me where the code is or just post it here?

 

Thanks!
Blaine

post-65909-0-63324000-1542228365.jpg

Link to comment
Share on other sites

Ok, taking a short break from coding Tron music. Quick question: how to I make a regular old title screen in IntyBASIC? There's a title.bas file sample, but it's for animated title text. I just want to show the good old title screen the games usually have. It just doesn't seem to be covered in the docs or samples.

 

Is there a sample for it, or can someone show me where the code is or just post it here?

 

Thanks!

Blaine

The SDK does it for you for free. ;)

 

Creating a new project with "intynew" will do that automatically if you provide a title and an author.

 

post-27318-0-42658000-1542235738.gif

There is also a sample project called "classic" that shows how to do it yourself.

 

-dZ.

  • Like 1
Link to comment
Share on other sites

Update!

 

I have the Mac SDK working, thanks to some tremendous, patient help from DZ-Jay, who has been absolutely awesome. I made a first ROM of the TRON music, based on the music.bas sample. I replaced the Beethoven song with the TRON Anthem. Turned out pretty good, considering I've only been at this for 2 1/2 days. You'd think I would have chosen something easy for a first music attempt, such as "Mary Had A Little Lamb". Noo... had to pick a song in 7/4 timing with triplets, written by a musical genius composer, with no sheet music or written notations for the arcade version of the song. Had to listen to the song, split the tracks apart in my head, then transpose the notes into code. Trial by fire! At least I am now very comfortable with coding music into an Inty.

 

By the way, I have some great games in mind for my first games: The first one is called "Space Paranoids". "Paranoids", "Matrix Blaster", "Vice Squad", a whole slew of them. I'm this close to starting my own little enterprise, man. :)

 

I'll drop in some updates again soon. I guess you can count me as a plus one for the homebrew community now. Just gotta keep learning along the way.

 

Thanks!
Blaine

  • Like 5
Link to comment
Share on other sites

Good job! The music meter isn't a big issue as long as the music format is tick based, however encoding triplets in a straight meter is. The smaller triplets, the worse and higher base resolution of the ticks is required, ending up with more lines of music doing pretty much nothing than wait for the next note.

Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...