Jump to content
IGNORED

5200Basic compiler


calamari

Recommended Posts

  • 3 weeks later...

I know I promised 5200BAS 1.02a a while back, but I couldn't quit adding stuff, so now there is version 1.10a

 

I know there is a long way to go, but please try it out and tell me what you think!

 

I haven't yet updated the online documentation for 1.10a, but that will take some time.

 

calamari

Link to comment
Share on other sites

There are two examples included (dunno about 'em being exactly "interesting", but if they were I'd be releasing them as a cart instead ) There is a simple Hello World program, and a BF language interpreter (BF is an inefficient 8-instruction programming language, but it's fun ) I was working on converting a game, however, the games' code was a mess to begin with and it just got worse, so I'd have to do a total rewrite of that game, which I wasn't too excited about anyways.. Right now there isn't much in the way of graphics or sound.

 

Note: Some of my immediate plans include adding the Y2K title/copyright or allowing a custom title, making sure the joystick/keypad code is right, adding customizable rom/memory management (the current fixed placement situation is terrible!), PALETTE command. Some stuff that will come later are screen/graphics, and my custom music player (will allow for MIDI to Atari conversion .

 

If there is something that any of you would like to see, please mention it! I can't promise a time schedule or anything, but if you're using the program currently and need something added, it makes it more of a priority for me to help you out

 

Happy coding,

calamari

 

[ 12-14-2001: Message edited by: calamari ]

Link to comment
Share on other sites

  • 1 month later...

Hello!

 

Version 1.20 of the 5200BAS compiler is here! New features include ANTIC 4 graphics mode and memory copy routines. Sorry, still haven't fixed that title yet.

 

Using 1.20 I've written the foundations of a 1st-person maze game, I will probably make it a little better before releasing it tho. You can get other examples from the 5200BAS webpage.

 

Please drop me a line if you use 5200BAS. Definitely email me if you want new features added, have bug reports for me, questions, etc.

http://www.azstarnet.com/~jeffryj/5200bas.html

 

5200 forever,

calamari

  • Like 1
Link to comment
Share on other sites

I actually tried to make a 2600 game once. I got as far as being able to change the screen color by pressing the reset switch. It was very primitive and I have no idea if it would even work on a real Atari, hehehe.

 

After that experience, I decided 5200 was maybe more my style (besides I grew up playing the 5200). I may try the 2600 again, but I want to actually complete a 5200 game first.

 

There is plenty that still needs to be done with 5200BAS.. for example, while browsing the doc I realized I had restricted decimal/binary values to 32767 (hex is okay to $FFFF). I will be fixing that ASAP

 

BTW, I'm thinking that scrapping the built 5200 logo is the best way to go.. I'll still look into implementing that y2k logo as an option, tho.

 

Thanks for all your compliments and interest in this project!

 

calamari

Link to comment
Share on other sites

Quick note:

 

Version 1.21 is out.. there was a missing file in the 1.20 release, thank you to James Higgs for noticing this!

 

Also the range for decimal and binary values has been extended to the full 16-bit.

 

See 5200bas.txt for more details about this release.

 

Thanks,

calamari

Link to comment
Share on other sites

5200BAS version 1.30 is out!

 

* New/modified commands: SET, PUSHA, POPA, SUB, END, TITLE

* Title screen now optional (TITLE OFF)

* If the title is left on, the ASCII to ATASCII translation works better now.

* Memory/code layout management with the SET command.

* Improved keypad code (after fixes, thanks Cafeman for your help!)

 

The online documentation has also been updated to reflect the changes in this release.

 

Enjoy,

calamari

Link to comment
Share on other sites

  • 2 weeks later...

5200BAS version 1.40 is here!

 

The most notable change in this release is the preliminary sprite support.

 

* New/modified commands: SPRITES, SET SPRITES=, INTERNAL, PUT, JOYTRIG,

PUSH, POP, DLIST, PRINT {}

* Fix: Removed the DLI token

* Fix: Bug in FLAG style IF...EXIT DO/FOR

* Revised docs for SCREEN function

* Added "Index" and "Registers Changed" sections to the online docs.

 

The online documentation has also been updated to reflect the changes in this release.

 

Download from: http://www.azstarnet.com/~jeffryj/5200bas.html

 

calamari

Link to comment
Share on other sites

ALong with the above new 1.40 version of 5200BAS I've put a 3-D Maze 5200BAS example program on the website. It's been gathering dust for a while and is still in the early stages, but it should be fun to mess around with.

 

Full source is included, along with a Antic4 graphics file and test compile/binary.

 

calamari

 

[ 02-09-2002: Message edited by: calamari ]

Link to comment
Share on other sites

  • 4 weeks later...

After almost a month 5200BAS version 1.50 is here! I was still not able to include everything I wanted to this time around. I have been busy with school and I get side-tracked with other projects!

 

* New/modified commands: ATTRACT, KEYPAD FIX, INKEY, INPUT, PRINT

* Fix: OR / XOR typo bug

* Fix: SCREEN(var,var) was multiplying the line by 0 instead of 40

* Added keypad repeat fix via VBI.. can still use improvement

* Internal MOVEUP command now clears the bottom screen line on scroll

(affects PRINT)

* Error reporting routine now displays the line in question

* Added /16 swtich for creating 16k ROMs (sets $8000 starting addr.)

 

The online documentation has NOT yet been updated to reflect the changes in this release, but will be shortly!

 

Download from: http://www.azstarnet.com/~jeffryj/5200bas.html

 

calamari

Link to comment
Share on other sites

  • 2 months later...

Here is 5200BAS Version 1.60. This release adds quite a few useful commands and should result in more readable code.

 

Version 1.60, 05May2002

* Fix: END SUB bug

* Fix: Keypad repeat! KEYPAD FIX updated.

* Fix: More efficient string storage

* Added DIV8, DIV16, MUL8. Removed DIV.

* Added SELECT CASE, CASE/CASE_, END SELECT

* Added DO/DO_ WHILE/UNTIL, LOOP/LOOP_ WHILE/UNTIL

* Added multiline IF...THEN, ELSE, END IF

* Added expressions NFLAG, >>=, <<, TRUE/FALSE

 

All of the new commands have been added to the online documentation except SELECT CASE.

 

Download from: http://www.azstarnet.com/~jeffryj/5200bas.html

 

Best,

calamari

Link to comment
Share on other sites

again i am impressed!

 

i had a quick look into the asm & bas files of the examples...

 

this language could be good for beginners to start their own atari5200 game...

 

where do you had the idea to do a basic compiler for 5200???

 

keep on doing...

 

hve

Link to comment
Share on other sites

Yeah! Actually a couple people have e-mailed me with projects or questions, and of course I'm using it (for Solitaire). So maybe not a huge user base, but thats to be expected for a narrowly focused program like this.

 

Thanks for the nice posts! You all keep me motivated

 

calamari

Link to comment
Share on other sites

hi,

 

i was trying your 5200bas compiler, but i don't know how to compile the assembler outputfile with Tasm...

 

great that the commands are like gw-basic..when i was younger i programmed a lot with it, and later with qbasic. Great program !!

 

thanks, Thelen

Link to comment
Share on other sites

I intend to check out 5200BAS once I have some free time to pursue programming either a 2600 or 5200 game. While programming a game for the 5200 in assembly doesn't terribly frighten me (I did a fair amount of 8-bit 6502 programming many years ago), using a higher-level language that generates assembly would make putting together a game much easier. It could even be used to quickly prototype a game, and then hand-code individual routines where speed or timing is critical. I'm looking forward to Calamari's Solitaire, which is written using 5200BAS.

 

..Al

Link to comment
Share on other sites

Put this in a batch file, like assemble.bat to assemble:

 

tasm -65 -b -fFF -q %1.ASM %1.BIN

 

Then you could type:

 

assemble mygame

 

Also make sure you have Telemark TASM rather than Borland TASM.

 

If there is an error after trying the above, please let me know the details so I can look into it.

 

Thanks,

calamari

Link to comment
Share on other sites

  • 1 month later...

I've released 5200BAS version 1.70. :music: Here are the new features:

 

Version 1.70, 28Jun2002

* Added DASM assembler output support

* Fix: Checks any given numbers to make sure they are in range

* Added ++ and -- operators for add with carry/subtract with carry

* Added y2k compliant title screen and AUTHOR command

* Note: Moved default display list location from $BFC7 to $BFB4

 

One thing I should mention on the DASM support. DASM doesn't seem to like it when ORG's are out of numerical order. I'm not sure of a workaround except reorganizing the basic or assembled code.

 

calamari

Link to comment
Share on other sites

  • 2 weeks later...

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