Jump to content

Creating games for the Atari Jaguar with JagStudio

Clint Thompson

Recommended Posts

Just in case any of you aren’t already aware, JagStudio (a package that you can code in basic, assembly or even C) exists for the PC to create games for the Jaguar.

It is derived from Rb+ (raptor basic plus) and adapted / updated with newer features and ongoing support. 

If you’ve ever punched in a program on your TRS-80, Commodore, Atari or any other BASIC machine, it’s sort of like that only far more powerful. When it first released, it was BASIC only, but BASIC on steroids and unlike any other basic I’ve used before. 

There’s also a little bit more of a learning curve to it as a result  (if you’ve ever created a website, it’s sort of like that) but being someone who could never wrap his head around assembly with minimal C exposure, BASIC is home. If you’ve used BASIC before, you also very clearly remember the limitations it came with. But surprisingly, not with this package. 

I highly recommend anyone who has tinkered with programming in the past and looking to mess around with it again to give JagStudio a proper chance to create something on the Jaguar, just for fun or a learning exercise even:


In the near future, there will be full SD support to access and utilize a ton of storage from the GameDrive so you’ll have a seemingly endless amount of space for your creations!

From time to time, I tend to deviate from one of my already started long laundry list of projects and in a single night, created a fully functional foundation for a graphic text adventure game where you can move, interact, hear the sounds, read the text and more with some animations. In reality, I spent about 3 1/2 hours on the programming side and about 3 hours on other asset stuff so just under 7 hours and this is running:



A graphic based text adventure along the lines of what Sierra Games did with their 80s/90s styled text games? I didn’t think it would be a good idea at first but others have continued to push the idea so I gave it a shot and much to my surprise, can see it working out ok as long as you’re not expecting 20 different actionable items to choose from. Keeping it simple and streamlined should allow it to work while still being an entertaining experience. 

Go on! Bring out your inner child and re-live the BASIC dream days to finally create something you’ve always wanted to on the open Atari Jaguar platform! It’s kind of unreal this kind of support is even available in 2022 really but hobbyists to an extreme make it possible. 

7800 - 130XE - XEGS - Lynx - Jaguar - ISO: Atari Falcon030 | STBook |STe


Link to comment
Share on other sites

1 hour ago, DegasElite said:

I have a question. Is the BASIC in JagStudio like any other previous forms of BASIC for the older Atari computer systems and game consoles, or is it totally different?

It is different indeed. It’s BCX Basic at the core and then uses the Raptor API for your graphics side and your choice of sound modules to play sound (zero is best for mp3 or wav files for example) and (u235 is best for MODs) 

Best to check out the examples and quick getting started guide, all that’s included or available to view online through the site.

For example, if you want to playback an mp3 sample you simply use an audio program to record and edit your sounds through Audacity, export to desired frequency as mp3 and in your basic file you’ll just place a single line like:

zeroPlaySample(channel,start_address, len, frequency, params) - it sounds like a lot but you can use use a built in example to poke around through to copy from and test things out. 

and make sure the file points to where you placed it in the assets text file. 

Edited by Clint Thompson

7800 - 130XE - XEGS - Lynx - Jaguar - ISO: Atari Falcon030 | STBook |STe


Link to comment
Share on other sites

15 minutes ago, DegasElite said:

Really! I thought the Jag was unable to play MP3s. Unless, it needs to be converted to something else. Interesting…

JagStudio / ZeroSquare simply converts your mp3 snippets on the fly so that they’re playable on the Jag. Of course you run into size limitations due to space but still useful for shorter 22khz clips for example. 

7800 - 130XE - XEGS - Lynx - Jaguar - ISO: Atari Falcon030 | STBook |STe


Link to comment
Share on other sites

8 hours ago, DegasElite said:

With that being said, what is the best setting for an MP3 and what length should it be at, taking into account size limitations? Curious.


8 hours ago, DegasElite said:

As an example, I mean…

It really depends on what you're doing but I tend to use 22Khz for everything I do as it's a good balance of quality and not too high on the bandwidth or space side

As far as an example, I use the ZeroPlayer module (which I do believe is default when you create a new project anyways)

In the BASIC file (before the DO loop), I would put something like:

zeroPlay(2, strptr(NIGHT), strptr(NIGHT_end), (46168/22080), Zero_Audio_8bit_muLaw|Zero_Audio_8bit_muLaw)

with the NIGHT being the file that links to the sound you're playing in assets... so in the ASSETS file, I have it setup like this:


So that plays the file from RAM and is only like 5 seconds long... just sounds of crickets outside and night ambience

To set it up in a usable way for you to jump right in, say you want to have that sound play only when you press B, this is the BASIC code:


pad1 = jsfGetPadPressed(LEFT_PAD)

IF pad1 BAND JAGPAD_B then
zeroPlay(2, strptr(NIGHT), strptr(NIGHT_end), (46168/22050), Zero_Audio_8bit_muLaw|Zero_Audio_Looping)




So that would play the MP3 you have set up and loop the sound. If you want it to only play once, you can just remove the audio_looping portion on the end so that it plays a single time:

zeroPlay(2, strptr(NIGHT), strptr(NIGHT_end), (46168/22050), Zero_Audio_8bit_muLaw)




Edited by Clint Thompson

7800 - 130XE - XEGS - Lynx - Jaguar - ISO: Atari Falcon030 | STBook |STe


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.

Reply to this topic...

×   Pasted as rich text.   Restore formatting

  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.

  • Create New...