Jump to content
IGNORED

Tiny BASIC on Atari 8-Bit?


Recommended Posts

Is there a version of "Tiny BASIC" for the Atari 8-bit computers? The 4K Bally Arcade/Astrocade uses this simple BASIC (1.8K is available for programming). Surely someone over the years has at least tried to port a 6502 version over to the good old Atari. Here is some more information about Tiny BASIC, just in case additional explanation sparks someone's memory about this neat BASIC interpreter:

 

1) Wikipedia's "Tiny BASIC" Article is actually a nice little overview:

 

http://en.wikipedia.org/wiki/Tiny_BASIC

 

2) Some information about a 6502 implementation of Tiny BASIC:

 

http://www.ittybittycomputers.com/IttyBitty/TinyBasic/

 

3) The manual for Bally BASIC (this second version is referred to as AstroBASIC). This is the 4K Tiny BASIC implementation for the Bally Arcade/Astrocade:

 

http://www.ballyalley.com/basic/Astro_BASIC_Manual_%28instructions%29%28bally%29%28color%29%28300%20dpi%29.pdf

 

I'd be interested in seeing Tiny BASIC on the Atari, even if it's limited

 

Adam

 

 

 

Link to comment
Share on other sites

Atari BASIC in 8K is tiny enough for most folks I would guess.

 

I understand that, and in some ways having Tiny BASIC on the Atari 8-bit is counter-intuitive. Why bother, right? Why would anyone have even bothered to have written the Tiny BASIC interpreter for the Atari? Atari BASIC was stored on an 8K ROM cartridge, so using it left most of the 8K free and a small version of BASIC wasn't required. There really was no need for a Tiny BASIC interpreter for the Atari in the 1980s. I should have been more specific. Has anyone, in the last few years, created a port of Tiny BASIC to the Atari? It seems that this would be a project just perfect for a homebrewer. I'm not suggesting that someone write this now-- I'm just wondering if it has been done already.

 

As an aside here is the z80 source code for Bally BASIC (this assembles to a 4K ROM):

 

http://www.ballyalley.com/ml/ml_source/AstroBASIC%20%28listing%29.asm

 

What? There are no Z80 programmers here and nobody is interested in that at all? Got it. Here is the lightly commented 6502 disassembly source code for the 1976 release of Itty Bitty Computers "Tiny BASIC." It consists of a minimal terminal monitor and Tom Pitman's Tiny Basic as a high-level programming language.

 

http://www.ittybittycomputers.com/IttyBitty/TinyBasic/TinyBasic.asm

 

I can't be the only one that thinks this is a neat project. I'd be really surprised if no one has persued this interesting topic in the past ten years.

 

Adam

  • Like 1
Link to comment
Share on other sites

There is a difference between interesting and 'pressing'. :)

 

Another BASIC considering all the alternatives is just not a pressing problem. If there were no BASICs available Tiny BASIC would be on everyone's hit list.

 

Yes it is neat to look at the source code. The down sides are it is console I/O based so none of the neat stuff built into the Atari like Sound and Graphics work natively, you would have to do everything with PEEKs and POKEs. It ends up whatever you gain by having going simple, you lose on the other end by having to jump through hoops to get any of Atari's built in features to work.

 

I can't think of a current application that would need it. There was a VERY short time when Atari computers were only 8k and BASIC cart was expensive. Lots of cassettes vs. disk drives during that period too. It would have made perfect sense for an Atari cassette version for the couple of months<sic> that was the case. Tiny BASIC missed its window of opportunity on the Atari. Getting it running on an Atari now that cassettes and rotating media like FDD have fallen out of favor with the mainstream users would need a rainy day and a really bored programmer. hehe

  • Like 2
Link to comment
Share on other sites

I have to concur with rocortes on this, however I can see that you are really interested in if this has been done. I understand that nostalgia is not inhibited by practicality (and that's the way it should be), so I'll just respond directly: I am unaware of any such Tiny BASIC project on the Atari8. Your posting did inform me about the existence of Tiny BASIC, so I'm glad to have learned something. I'll keep an eye on this thread too, in case something does come to light.

Edited by fujidude
Link to comment
Share on other sites

I wasn't aware, assuming that we're taliking about Li-Chen Weng's 4K Tiny Basic, I wasn't aware that it had been translated into 6502, as it was originally written for the Intel 8080 microprocessor.

 

It is very doable. The result would essentially only have access to the editor (E:) as its method of interaction, as peek and poke are not available.

 

Other interesting things that I seem to remember:

 

* variable declaration is not implicit, it must be done with LET

* variables were single letters. Integer numbers only. No strings.

 

The code base is small enough that it can be hand translated to 6502 from the 8080 code, but your output machine code will be something closer to about 3.5 to 3.8 kilobytes, due to the decreased density of 6502 code (no multiplies, no divides, fewer registers which means some transfer instructions needed in places, etc.)

 

(The original code was approximately 1.77 kilobytes of binary data)

 

After it's translated, the calls for input and output can be routed to the editor, and you would have a completed port of Tiny Basic.

 

-Thom

Link to comment
Share on other sites

I wasn't aware, assuming that we're taliking about Li-Chen Weng's 4K Tiny Basic, I wasn't aware that it had been translated into 6502, as it was originally written for the Intel 8080 microprocessor.

 

It is very doable. The result would essentially only have access to the editor (E:) as its method of interaction, as peek and poke are not available.

 

Other interesting things that I seem to remember:

 

* variable declaration is not implicit, it must be done with LET

* variables were single letters. Integer numbers only. No strings.

 

The code base is small enough that it can be hand translated to 6502 from the 8080 code, but your output machine code will be something closer to about 6.5 to 7 kilobytes, due to the decreased density of 6502 code (no multiplies, no divides, fewer registers which means some transfer instructions needed in places, etc.)

 

After it's translated, the calls for input and output can be routed to the editor, and you would have a completed port of Tiny Basic.

 

-Thom

The Z80 doesn't have multiply or divide.

The difference is mostly due to 16 bit support.

The Z80 does have more registers but many opcodes only work on certain registers so it has less of an impact than it should.

Link to comment
Share on other sites

I had a thought, but it died of loneliness. :)

 

You could simulate Tiny BASIC by just not using the additional features of Atari BASIC! lol

 

Semi serious: Something that could be carted might be a decent app. ~4k of BASIC with 4k of program space burned into a cart. I know it was one of thing many people used to ask for. There's a new BASIC that has been developed, Lee Davison's EhBASIC. Daryl Rictor used it as one of the 'throw in' languages for his AVR/6502 emulator.

http://sbc.rictor.org/avr65c02.html

 

I haven't looked at any of the data for it so I don't know how it stacks up to something like Turbo BASIC.

Link to comment
Share on other sites

Thanks for the feedback on Tiny BASIC. This was exactly the sort of information that I was looking to hear about the subject. Once I cleared-up exactly what I was looking for, then people answered me with great success.

 

As an aside, even the 1978 Bally Arcade version of Tiny BASIC (Bally BASIC) uses many more features than were in the original Tiny BASIC. For instance, Bally BASIC supports graphic commands. I've always had a fondness for Tiny BASIC because of "The Arcadian" and "Cursor" newsletters for the Astrocade. These newsletters published or advertised hundreds of programs for the Astrocade. Without these newsletters, the Astrocade would be a boring little system with just a few dozen first-party-only game cartridges. Because of Bally BASIC and the newsletters, the Astrocade is quite an interesting little beast. Bally BASIC's roots are deeply extrenched in Tiny BASIC. Even though Bally BASIC is extremely limited, it can be quite fun to see what was accomplished with a mere 1.8K or RAM using a rather slow BASIC.

 

Unless someone can bring this topic back around to the 6502 or Atari, then I'd say I'm satisfied that no version of Tiny BASIC exists for the Atari 8-bits. With that said, I wonder if there is a version of it for the Atari ST based on Gordon Brandly's 68000 port of of Tiny BASIC published in Dr. Dobb's Journal 100'th issue?

 

http://members.shaw.ca/gbrandly/68ktinyb

 

(Don't bother looking into it. As "ricortes" said (above), "There is a difference between interesting and 'pressing.")

Link to comment
Share on other sites

Thanks for the feedback on Tiny BASIC. This was exactly the sort of information that I was looking to hear about the subject. Once I cleared-up exactly what I was looking for, then people answered me with great success.

...

Unless someone can bring this topic back around to the 6502 or Atari, then I'd say I'm satisfied that no version of Tiny BASIC exists for the Atari 8-bits.

...

 

There is no Atari version, but as I just said, there is a 6502 version.

 

A quick trip to my favorite search engine turned this up in the first few links:

http://www.ittybittycomputers.com/IttyBitty/TinyBasic/index.htm

A direct link to the disassembly pointed to on that page.

http://www.ittybittycomputers.com/IttyBitty/TinyBasic/TinyBasic.asm

The code looks like it can be assembled as is so it could easily be ported to any 6502 machine.

 

Edited by JamesD
Link to comment
Share on other sites

Not quite the same thing, but remember the Integer Basic from the Analog Extra? Of course, it was still 8K, and it actually just put the OS in ram and substituted an integer math pack. I remember that it sped up Atari Basic quite a bit. And like most of the neat stuff in Analog, it has the source code. I tired to get the patch to work with Basic XL, but it would not work -- just locked up IIRC. I'll have to try it with Altirra Basic.

 

The Extra is at Atarimania in the Books section:

http://www.atarimania.com/documents-atari-400-800-xl-xe-books_1_8.html

 

-Larry

Link to comment
Share on other sites

Not quite the same thing, but remember the Integer Basic from the Analog Extra? Of course, it was still 8K, and it actually just put the OS in ram and substituted an integer math pack. I remember that it sped up Atari Basic quite a bit. And like most of the neat stuff in Analog, it has the source code. I tired to get the patch to work with Basic XL, but it would not work -- just locked up IIRC. I'll have to try it with Altirra Basic.

 

Eh, don't bother. I just looked at the listings and there's no way this hack will work with Altirra BASIC. It breaks the FP math pack in ways so fundamental that I don't think ATBasic's subtract operator will even work.

Link to comment
Share on other sites

  • 2 weeks later...

Thanks for the feedback on Tiny BASIC. This was exactly the sort of information that I was looking to hear about the subject. Once I cleared-up exactly what I was looking for, then people answered me with great success.

 

As an aside, even the 1978 Bally Arcade version of Tiny BASIC (Bally BASIC) uses many more features than were in the original Tiny BASIC. For instance, Bally BASIC supports graphic commands. I've always had a fondness for Tiny BASIC because of "The Arcadian" and "Cursor" newsletters for the Astrocade. These newsletters published or advertised hundreds of programs for the Astrocade. Without these newsletters, the Astrocade would be a boring little system with just a few dozen first-party-only game cartridges. Because of Bally BASIC and the newsletters, the Astrocade is quite an interesting little beast. Bally BASIC's roots are deeply extrenched in Tiny BASIC. Even though Bally BASIC is extremely limited, it can be quite fun to see what was accomplished with a mere 1.8K or RAM using a rather slow BASIC.

 

Unless someone can bring this topic back around to the 6502 or Atari, then I'd say I'm satisfied that no version of Tiny BASIC exists for the Atari 8-bits. With that said, I wonder if there is a version of it for the Atari ST based on Gordon Brandly's 68000 port of of Tiny BASIC published in Dr. Dobb's Journal 100'th issue?

 

http://members.shaw.ca/gbrandly/68ktinyb

 

(Don't bother looking into it. As "ricortes" said (above), "There is a difference between interesting and 'pressing.")

I didn't see a response after posting a link to 6502 code that could be ported to the Atari.

Are we to assume you were just interested in a version that was already ported?

*edit*

I was just curious where you were going with this.

 

Edited by JamesD
Link to comment
Share on other sites

In my opinion the only new Basic that makes sense is something like batariBasic for Atari 2600.

Thanks to IDE, multicolor virtual sprites, graphics, speed, awesome games are possible.

On the superior A8 machine those results are achievable only by Assembler.

  • Like 1
Link to comment
Share on other sites

I didn't see a response after posting a link to 6502 code that could be ported to the Atari.

Are we to assume you were just interested in a version that was already ported?

 

Unless I overlooked a link, the link to Itty Bitty Computers 6502 code that you provided is the same link that I put in my first post. I would have no idea how to port that 6502 code over to the Atari.

 

I was just curious where you were going with this.

 

I was curious if this had been done already. There are so many projects in the Atari community today that it would be easy to overlook a Tiny BASIC port on the Atari, as its audience would be extremely limited. I also didn't discount that this had been done at some point in the past. It doesn't look like this has happened (and I can understand perfectly well why it hasn't). If a convertion does (or ever did) occur, then I'd try it out and type-in/convert some Bally BASIC code that didn't use any machine language routines.

 

On the opposide side of the coin, I could always port a Bally BASIC (i.e. Tiny BASIC) game over to Atari BASIC. I'd say my favorite Bally BASIC game is called "The Pits" by Rex Goulding. I first played it in 2011. The graphics are nothing but squares scrolling up the screen. You play as a small dot trying to avoid the squares (the "pits"). It doesn't sound like much, but it sure is fun. It was printed in:

 

"Arcadian," Vol. 3 , No. 10, Page 108 (August 1981)

 

The program listing and the very short instructions can be viewed in the "Arcadian" newsletter, here:

 

http://www.ballyalley.com/newsletters/arcadian/arcadian_vol_3/arcadian_vol_03_issue_10.pdf#page=8

 

If you actually have a Bally Arcade/Astrocade, then you can download the digitally archived version of the game, here:

 

http://www.ballyalley.com/program_downloads/2000_baud_programs/arcadian/programs_i-p/pits,_the_%5Brex_goulding%5D.zip

 

(The only Astrocade emulator, part of MESS, doesn't support loading BASIC programs.)

 

"The Pits" is the kind of game that will have you cursing it and it will also make you want to throw your controller far across the room (even though when you die you know full well that it's your very own fault!). Yet you keep coming back for more. That makes a game a winner!

 

This is a 34-year-old game and it had me really going crazy trying to avoid the pits when I played it. It's great that the Bally System with only 1.8k of RAM available for programming could make such a fun game. This is a primary reason why Tiny BASIC intrigues me on the Atari. If it did exist, and it used Atari's graphic modes, then what could be done on the Atari 8-Bit in say, 4K of RAM? Certainly nothing more than could be done in Atari BASIC... but still, for comparison purposes, I'm intrigued by the idea using an Atari Tiny BASIC.

 

  • Like 1
Link to comment
Share on other sites

 

 

... my favorite Bally BASIC game is called "The Pits" by Rex Goulding. I first played it in 2011. The graphics are nothing but squares scrolling up the screen. You play as a small dot trying to avoid the squares (the "pits"). It doesn't sound like much, but it sure is fun. It was printed in:

 

"Arcadian," Vol. 3 , No. 10, Page 108 (August 1981)

 

The program listing and the very short instructions can be viewed in the "Arcadian" newsletter, here:

 

http://www.ballyalley.com/newsletters/arcadian/arcadian_vol_3/arcadian_vol_03_issue_10.pdf#page=8

 

If you actually have a Bally Arcade/Astrocade, then you can download the digitally archived version of the game, here:

 

http://www.ballyalley.com/program_downloads/2000_baud_programs/arcadian/programs_i-p/pits,_the_%5Brex_goulding%5D.zip

 

(The only Astrocade emulator, part of MESS, doesn't support loading BASIC programs.)

 

"The Pits" is the kind of game that will have you cursing it and it will also make you want to throw your controller far across the room (even though when you die you know full well that it's your very own fault!). Yet you keep coming back for more. That makes a game a winner!

 

This is a 34-year-old game and it had me really going crazy trying to avoid the pits when I played it. It's great that the Bally System with only 1.8k of RAM available for programming could make such a fun game. This is a primary reason why Tiny BASIC intrigues me on the Atari. If it did exist, and it used Atari's graphic modes, then what could be done on the Atari 8-Bit in say, 4K of RAM? Certainly nothing more than could be done in Atari BASIC... but still, for comparison purposes, I'm intrigued by the idea using an Atari Tiny BASIC.

 

 

Well this is a much easier goal to achieve, quickly... just start a new thread asking for help converting this game to Atari BASIC, and I'm sure that you'll be playing it, on an Atari, within the space of a day.

Link to comment
Share on other sites

Well this is a much easier goal to achieve, quickly... just start a new thread asking for help converting this game to Atari BASIC, and I'm sure that you'll be playing it, on an Atari, within the space of a day.

 

It isn't just "The Pits" that interests me. Converting the Bally BASIC of "The Pits" wasn't even on my mind when I made this post originally. However, I love the idea; I'd never thought of doing that! Is this kind of port request often? Can you show me an example? I'd love to see this game ported, but it seems like asking someone to make "The Pits" for the Atari is like handing them busy work. Even if someone is willing, without being able to play the game, wouldn't it be quite hard to do this? Maybe I can post some footage of the game (from a real Astrocade) by the end of the week? Where would I start a thread about this? In the Atari 8-Bit Programming Section?

Link to comment
Share on other sites

 

It isn't just "The Pits" that interests me. Converting the Bally BASIC of "The Pits" wasn't even on my mind when I made this post originally. However, I love the idea; I'd never thought of doing that! Is this kind of port request often? Can you show me an example? I'd love to see this game ported, but it seems like asking someone to make "The Pits" for the Atari is like handing them busy work. Even if someone is willing, without being able to play the game, wouldn't it be quite hard to do this? Maybe I can post some footage of the game (from a real Astrocade) by the end of the week? Where would I start a thread about this? In the Atari 8-Bit Programming Section?

It's not "busy work", just post it in this section, there are plenty of BASIC programmers here. It's a short program, it won't be a hard conversion, at all.

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