Jump to content
IGNORED

A Crazy Thought


SeaGtGruff

Recommended Posts

OK, so my old desktop computer died, my boss gave me one of his old ones that he wasn't using any more, and this weekend I'm getting it set up, like installing bB on it, emulators, etc. So I created a folder called C:\Atari, and under it I created folders called 2600, 5200, 7800, and 800, like on my old computer. I downloaded and installed the various versions on bB in a folder called C:\bB, but then decided it would be better to move the bB folder inside the \Atari\2600 folder. But as I was about to do that, I had this crazy thought...

 

bB is basically a high-level language to help create 6502 assembly source files that are then assembled into binary ROM images with DASM. Right now, bB is aimed at the 2600-- the header files, include files, and commands are specifically tailored for the 2600. But aside from the way the zero-page variables are defined, and the way the commands are currently tailored for the 2600 in particular, bB doesn't really know or care what machine the program is being written for. So wouldn't it be possible to create alternate header files, include files, and commands tailored for the other Atari machines? For example, maybe we could have a bB "machine" command, or "set machine=xxx" command, that would go at the beginning of a bB program, to specify which machine the program is being written for? Then, based on whatever that command is set to, the bB compiler could compile the source code using whichever header/footer/other include files are needed. After all, most of bB's commands (except the ones that are changed to assembly code by the bB compiler) are contained in routines located in the include files, so therefore any machine-specific routines (like drawing the playfield, the display kernel, etc.) could have their own separate include files. The resulting 6502 source code would then be assembled with DASM, and the final binary file could be run on the appropriate machine. In other words, we could use bB to write games for the 2600, or 7800, or 5200, or 800 et al.

 

Now, admittedly this would take a lot of work to accomplish, there are already very powerful languages available for the 800 et al, and I think we should worry about further developments and improvements of bB for the 2600 before thinking about adding any support for other machines. And I'd personally prefer seeing support for the 7800 added before any support for the 5200 and 800 et al (simply because there's currently nothing for the 7800, and quite a few languages for the 800 et al-- with the 5200 essentially being like the 800 et al, so I presume that games for the 5200 can be developed using languages for the 800 et al?). But it strikes me that it would be very cool if some day (probably at least no sooner than a few years from now) we could use bB to create games for the 7800, 800, etc., in addition to games for the 2600!

 

(I told you it was a crazy thought!)

 

Michael Rideout

Link to comment
Share on other sites

OK, so my old desktop computer died, my boss gave me one of his old ones that he wasn't using any more, and this weekend I'm getting it set up, like installing bB on it, emulators, etc. So I created a folder called C:\Atari, and under it I created folders called 2600, 5200, 7800, and 800, like on my old computer. I downloaded and installed the various versions on bB in a folder called C:\bB, but then decided it would be better to move the bB folder inside the \Atari\2600 folder. But as I was about to do that, I had this crazy thought...

 

bB is basically a high-level language to help create 6502 assembly source files that are then assembled into binary ROM images with DASM. Right now, bB is aimed at the 2600-- the header files, include files, and commands are specifically tailored for the 2600. But aside from the way the zero-page variables are defined, and the way the commands are currently tailored for the 2600 in particular, bB doesn't really know or care what machine the program is being written for. So wouldn't it be possible to create alternate header files, include files, and commands tailored for the other Atari machines? For example, maybe we could have a bB "machine" command, or "set machine=xxx" command, that would go at the beginning of a bB program, to specify which machine the program is being written for? Then, based on whatever that command is set to, the bB compiler could compile the source code using whichever header/footer/other include files are needed. After all, most of bB's commands (except the ones that are changed to assembly code by the bB compiler) are contained in routines located in the include files, so therefore any machine-specific routines (like drawing the playfield, the display kernel, etc.) could have their own separate include files. The resulting 6502 source code would then be assembled with DASM, and the final binary file could be run on the appropriate machine. In other words, we could use bB to write games for the 2600, or 7800, or 5200, or 800 et al.

 

Now, admittedly this would take a lot of work to accomplish, there are already very powerful languages available for the 800 et al, and I think we should worry about further developments and improvements of bB for the 2600 before thinking about adding any support for other machines. And I'd personally prefer seeing support for the 7800 added before any support for the 5200 and 800 et al (simply because there's currently nothing for the 7800, and quite a few languages for the 800 et al-- with the 5200 essentially being like the 800 et al, so I presume that games for the 5200 can be developed using languages for the 800 et al?). But it strikes me that it would be very cool if some day (probably at least no sooner than a few years from now) we could use bB to create games for the 7800, 800, etc., in addition to games for the 2600!

 

(I told you it was a crazy thought!)

 

Michael Rideout

984667[/snapback]

 

that is an intresting idea, though i thought a member named Calimari made a 5200 basic compiler, i remeber reading about it but it seems to have gone 404 but i think Adventure 2 is written using it. but i agree i with you on the headers being made for diffrent machines sounds good. i would like to see a 7800 basic as well.

 

RA

Link to comment
Share on other sites

It's not so crazy.

 

But I think that bB could be ported to any 6502 platform, not just Atari. What I'd probably want to do first is separate the 2600-specific compilation into its own source file and keep the generic 6502 stuff apart from it. Then one could more easily add support for a different platform. I doubt it would be me, though, as I know basically nothing about the 5200/7800/800.

that is an intresting idea, though i thought a member named Calimari made a 5200 basic compiler, i remeber reading about it but it seems to have gone 404 but i think Adventure 2 is written using it. but i agree i with you on the headers being made for diffrent machines sounds good. i would like to see a 7800 basic as well.

985593[/snapback]

Calamari's compiler is viable, but he never posted any source code for it (which I didn't really understand, as the compiler is freeware.) It would have been nice to look at his code so I didn't have to reinvent the wheel in some cases. Though I did learn something from the asm libraries in 5200bas (I can't remember what, though.)

Link to comment
Share on other sites

Maybe by then we will have a good 7800 emulator. Last time I checked, there were no good, easy to use 7800 or 5200 emulators out there, so maybe the makers of Stella will branch out.

984670[/snapback]

You don't like the 7800 Pro System Emulator? You just run it, select the game and you're off. No fuss, no muss.

Link to comment
Share on other sites

bB is basically a high-level language to help create 6502 assembly source files that are then assembled into binary ROM images with DASM. Right now, bB is aimed at the 2600-- the header files, include files, and commands are specifically tailored for the 2600. But aside from the way the zero-page variables are defined, and the way the commands are currently tailored for the 2600 in particular, bB doesn't really know or care what machine the program is being written for.

984667[/snapback]

 

bB is of necessity limited in ways that would be annoying on other platforms. Even though it could be adapted for something like an Atari 800, I'd think it would be more useful to use a compiler that was designed to use a little more RAM for expression evaluation (and could thus support more complicated expressions).

Link to comment
Share on other sites

Maybe by then we will have a good 7800 emulator. Last time I checked, there were no good, easy to use 7800 or 5200 emulators out there, so maybe the makers of Stella will branch out.

984670[/snapback]

You don't like the 7800 Pro System Emulator? You just run it, select the game and you're off. No fuss, no muss.

988760[/snapback]

Thanks. Here is the link for it for anyone else who didn't know about it:

 

https://home.comcast.net/%7egscottstanton/

 

ROMs:

http://www.atariage.com/system_items.html?...&ItemTypeID=ROM

 

I see in the help file that it was released 02/14/2005, so I have not tried it before. I'll try it right now.

 

Any new Atari 5200 emulators?

 

[i tried the 7800 emulator and it's not hard to use, but it's not as easy to use as Stella. It looks like you can't use a controller and the screen doesn't look quite right no matter what resolution I use or how much or how little I stretch it. When you do full screen on the latest version of Stella, it looks like you have an Atari 2600 hooked up to your monitor. We need Atari 7800 and 5200 emulators that are that good and that easy to use, that also let you use a controller. It also helps if you can reassign the buttons on the controller.]

Edited by Random Terrain
Link to comment
Share on other sites

Can't you just use Atari800Win as a 5200 emulator? What are the issues with that? That's what I've been using, anyway, not that I emulate the 5200 that often; but I figured that since Atari800Win seems like a pretty darn good A8 emulator and the 5200 is *almost* an A8 that the 5200 emulator built in would be pretty good too. Am I wrong?

Link to comment
Share on other sites

Can't you just use Atari800Win as a 5200 emulator?  What are the issues with that?  That's what I've been using, anyway, not that I emulate the 5200 that often; but I figured that since Atari800Win seems like a pretty darn good A8 emulator and the 5200 is *almost* an A8 that the 5200 emulator built in would be pretty good too.  Am I wrong?

989324[/snapback]

Thanks. I don't think I have tried that. I'll have to look at the web page for it to be sure. If it looks like an Atari 5200 is hooked up to my monitor and it has support for a controller, I'll be glad to use it.

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