Jump to content
Sign in to follow this  
Fort Apocalypse

Any interest in web-based bB/2600 asm IDE?

Recommended Posts

This is a project I've been wanting to do for a while, and am now thinking- what the heck.

 

I'm thinking of writing a web-based IDE that could be used to compile either bB or 6502 asm code and then use JStella to emulate the 2600 game.

 

It might be *extremely* no-frills in the beginning, may never make it to the level of sophistication of Visual bB or other editors, and maybe I won't have time to be able to do any of it at all, but I like the idea of being able to just develop bB/asm games anywhere without having to worry about setup.

 

The thought was to either do it in Java or perhaps JRuby using Google App Engine.

 

I think I've seen some Java based 6502 asm compilers and maybe with JNI or more likely just exec I could call the bB compiler.

 

Let me know what you think.

Share this post


Link to post
Share on other sites

Hmm. Looks like wouldn't be possible to call bB via Runtime.exec or JNI:

http://code.google.com/p/googleappengine/i.../detail?id=1513

http://code.google.com/appengine/docs/java/overview.html

An app also cannot use JNI or other native code.

 

Would be nice to have a Java version of the bB compiler, but I guess I'd just aim for a web-based asm compiler in the beginning.

Edited by Fort Apocalypse

Share this post


Link to post
Share on other sites

It would be cool for those who can't get bB or VbB to work or who don't want to download anything. We might attract more bB users.

 

I probably wouldn't use it since I can't get a thing done without VbB. I wanted an IDE with all of the features of VbB from the start and now we finally have it.

Edited by Random Terrain

Share this post


Link to post
Share on other sites

Maybe the whole tool could be written in Java and then deployed like a java webstart application?

It will run like a normal application, but installed just with a click on a link.

Share this post


Link to post
Share on other sites

I don't know if that is possible, and have absolutely no idea how it could eventually be done, but if the proper bB environment is not possible, then maybe something similar to playfieldpal and playerpal, but combining both - including let's say possibilty to add standard movement/animation/jumping routines to the players, that lets you view the result in the browser and export the code? And if it could support all kernels included in bB. well, would something like that be possible?

Share this post


Link to post
Share on other sites

I wouldn't be interested, but I feel you're asking the wrong target audience. A lot of us already use VbB. You need to find people interested enough, but not interested enough to figure out how to install the software. Maybe in another forum.

Share this post


Link to post
Share on other sites

I would be very interrested. Until someone makes an installer program that might be my only way to use bB (i cant set up the darn thing).

Share this post


Link to post
Share on other sites
I would be very interrested. Until someone makes an installer program that might be my only way to use bB (i cant set up the darn thing).

I'm thinking about trying to throw together an installer program in Visual Basic. What operating system are you using? If it isn't Windows, then I guess you'll have to wait for someone else to make a Unix/Linux or Mac installer.

 

Michael

Share this post


Link to post
Share on other sites

my computer runs on windows xp =]. i would be VERY greatful if you were to make an installer.

I want to program the atari 2600 sooooo badly. lol

Share this post


Link to post
Share on other sites
Maybe the whole tool could be written in Java and then deployed like a java webstart application?

It will run like a normal application, but installed just with a click on a link.

 

Yep, that would be find to install a Java app as an editor, but I'm not really sure whether it would support the separate bB files and compilers being part of that and called via JNI.

 

This started when I reformatted my computer and never went back to setup bB again. I thought "if all of this was online somewhere then not only would I still have it setup, but people with Macs, Linux, etc. could develop also" (Edit: that was before I knew it was available already in OS X and Linux! How cool is that?!!). In addition, I want to be able to work on development while I'm away on a trip if I wanted without having to set it up or have my own laptop (because I've had work laptop HDs die before).

 

Setting up bB for me was not just the standard stuff- I had a 2-4 score minikernel, possibly some other minikernel (I forget), and it had some patches applied. I have also wanted to also be able to use the Yar's "neutral zone" effect kernel at some point that Fred wrote, as well as the new platform stuff.

 

I could possibly write it as an open source project (so people could add to it if they wanted) and then host it on someone's server that they'd be willing to share (if they didn't mind running a Tomcat instance fronted by apache, or similar). But I was thinking Google App Engine would be highly reliable and would stay online even after whoever else I would be borrowing space from lost interest. However, Google App Engine doesn't support JNI or native calls.

 

Basically before I were to get much further, I would like to have a proof of concept app that allows login, has an editor, and "saves files" online. Then next step would be to try to integrate a compiler (although I might spike that early on) and then integrate (use) Jstella. After that, who knows?

Edited by Fort Apocalypse

Share this post


Link to post
Share on other sites
I would be very interrested. Until someone makes an installer program that might be my only way to use bB (i cant set up the darn thing).

I'm thinking about trying to throw together an installer program in Visual Basic. What operating system are you using? If it isn't Windows, then I guess you'll have to wait for someone else to make a Unix/Linux or Mac installer.

 

Michael

 

For the mac, vmware fusion is nice or parallels, then just install it in windows. Linux- maybe wine or maybe vmware?

 

Edit: no way! I didn't know bB was available for Mac and Linux. That's awesome! That is one less reason to have a web-based editor, but still awesome.

Edited by Fort Apocalypse

Share this post


Link to post
Share on other sites
I don't know if that is possible, and have absolutely no idea how it could eventually be done, but if the proper bB environment is not possible, then maybe something similar to playfieldpal and playerpal, but combining both - including let's say possibilty to add standard movement/animation/jumping routines to the players, that lets you view the result in the browser and export the code? And if it could support all kernels included in bB. well, would something like that be possible?

 

That sounds neat. It would be good thing to ask for in visual bB I think. Right now I'm just trying to think about getting started. :)

Share this post


Link to post
Share on other sites

There are some C-to-Java converters out there. I'm not sure how well they work, but arguably, not a lot needs to be changed to the C code to make it compile in Java.

 

Alternatively, one might be able to run bB as a CGI, and feed source to the compiler with HTML forms and echo output to another form, and run jStella in another window. It may be hard to find a server that will let you do that, though :)

Share this post


Link to post
Share on other sites

more i think about it, easier it sounds. although someone with a skill in web design and batari basic is needed to do it. oh, plus a lot of spare time ;)

 

here we go:

 

- selectable list of kernels possible - that's just exporting a simple code at the beginning.

- player design - like in playerpal height of up to twentysomething, width 8 obviously - export to subroutine

- animation of player - again like in playerpal, - export to subroutine, plus add a standard moving in direction whenjoystick presses to the loop

- playfield - like in playfieldpal - export to subroutine

- levels - just playfields, export to subroutine, and add something like "for level a goto 10 20 30..." to the loop

 

and so on, player1, missiles, ball. obviously some kernel choices make missiles unavailable, like in basic batari kernels.

 

done. :)

 

standard procedures on collisions, export.

 

at the end export full code, so designer can tweak in some places if necessary, and voila!

 

making games for 30 years old system available to designers, without the programming skills. i bet we could expect some innovative games, even with that limited environment.

 

that probably would not happen, but would be nice tool. and some of us could at least play a bit with batari basic at work, when we are not allowed to install the programming environment on the employer computers ;)

Share this post


Link to post
Share on other sites
There are some C-to-Java converters out there. I'm not sure how well they work, but arguably, not a lot needs to be changed to the C code to make it compile in Java.

 

Alternatively, one might be able to run bB as a CGI, and feed source to the compiler with HTML forms and echo output to another form, and run jStella in another window. It may be hard to find a server that will let you do that, though :)

 

Do you think I should start on a Java port of bB first then? That would be pretty fun! I've used a C-to-Java converter before and totally agree that there would be a lot of remaining work, but perhaps that might be the best way to start. Let me know.

Share this post


Link to post
Share on other sites

Altough technically cool, and maybe a nice teaser for those who want to look at bataribasic, I don't see the point of running bataribasic on a server. If the problem is installing, maybe that should be solved first. A webinterface will only provide a worse working gui (compared to standard applications) at best.

 

I was just wondering, could JStella also run on a Blu-Ray player? These have Java. The button-layout of the atari is simple enough for a remote control right?

Share this post


Link to post
Share on other sites
Altough technically cool, and maybe a nice teaser for those who want to look at bataribasic, I don't see the point of running bataribasic on a server. If the problem is installing, maybe that should be solved first. A webinterface will only provide a worse working gui (compared to standard applications) at best.

 

I was just wondering, could JStella also run on a Blu-Ray player? These have Java. The button-layout of the atari is simple enough for a remote control right?

 

With current technology webapps are much better. You might be surprised.

Share this post


Link to post
Share on other sites
Altough technically cool, and maybe a nice teaser for those who want to look at bataribasic, I don't see the point of running bataribasic on a server. If the problem is installing, maybe that should be solved first. A webinterface will only provide a worse working gui (compared to standard applications) at best.

 

I was just wondering, could JStella also run on a Blu-Ray player? These have Java. The button-layout of the atari is simple enough for a remote control right?

 

With current technology webapps are much better. You might be surprised.

 

Ok, I don't mind being proven wrong :)

I was more being the "Devil's advocate". I'm programming web-applications/site for 5 years now and I just wanted to hear some valid points for deciding to make something web-based.

Share this post


Link to post
Share on other sites
Altough technically cool, and maybe a nice teaser for those who want to look at bataribasic, I don't see the point of running bataribasic on a server. If the problem is installing, maybe that should be solved first. A webinterface will only provide a worse working gui (compared to standard applications) at best.

 

I was just wondering, could JStella also run on a Blu-Ray player? These have Java. The button-layout of the atari is simple enough for a remote control right?

I've only run it as an applet, but I think it works as standalone too. Look it up.

 

With current technology webapps are much better. You might be surprised.

 

Ok, I don't mind being proven wrong :)

I was more being the "Devil's advocate". I'm programming web-applications/site for 5 years now and I just wanted to hear some valid points for deciding to make something web-based.

 

I've been in IT/web dev stuff since the mid 90's, Java dev about 10 years, about 8-9 of those being at least partially (sometimes in whole) webapp dev or at the very least services powering web apps. I've seen quite a bit as I'm sure you have. Since Ajax and "web 2.0" started, even without flash ;) things can be pretty nifty. Now with more client-side javascript UI stuff taking off recently, there is a pretty good base for web-based apps these days. Yes, client-side non-browser based stuff like iPhone apps have also taken the spotlight recently, but even Google is quite big on the browser as a app platform.

 

That said here are the main pros and cons, IMO.

 

Pros:

* Can theoretically run in an modern browser, and browsers are available for most modern OSes.

* Can save files and state server-side without additional configuration that is typically local environment specific.

* Can theoretically run that webapp almost anywhere and have same application environment/state (like a hotel, kiosk, etc.) - ok maybe this and the last point are the same.

 

Cons:

* Javascript and modern browsers needed to view/use webapps may actually be slower on older computers (like the PIII ~400Mhz I'm writing this on!) than older editor apps (I'm thinking Crimson Editor + bB here- that would probably work on the computer I'm on now quickly enough). I can use Gmail on the computer I'm on now though, and it is usable. Just dog slow. ;)

* People may feel more comfortable keeping their stuff locally.

 

I've probably done a pretty sorry job at making my case, but there you go.

Edited by Fort Apocalypse

Share this post


Link to post
Share on other sites

This idea may not be the thing for the users that do developing now, but would be an excellent way to get new people into the scene. When anyone starts something new, the more hoops one has to go through to reach the goal, the more tired/burned out and quicker so one gets. setting up preferences and settings during the installs of native pc software seems so custom even when the task is simply so strait forward, and the more work that has to be done to port to other OSes rather than general web browsers seems like it could be a waste now-a-days.. see, to me It just seems the way to go as long as you have a computer and net access, your're good to go!

Share this post


Link to post
Share on other sites

you must have internet access and a computer. how else would you have gotten bB? lol

thats why this is a great idea.

Share this post


Link to post
Share on other sites
you must have internet access and a computer. how else would you have gotten bB? lol

thats why this is a great idea.

 

True, but at one point the thought was that might not always be the case. At one point Curt/Legacy Engineering was considering packaging it with Atari Flashback 2 Portables, but then Atari flaked out and dropped the FB2 portable project. Now Marty and Curt are still working on getting investors for it, so it's not totally out of the question, but not quite as likely as it might have been.

 

Thanks for the kind words though. So far Fred has done most of the work on the C to Java port of bB. I'm hoping to take a look this weekend to see what I can do.

Share this post


Link to post
Share on other sites

If you want to get serious you really need the Stella debugger. Unless someone wants to write a debugger for JStella, it just won't be a very useful testbed.

Share this post


Link to post
Share on other sites
If you want to get serious you really need the Stella debugger. Unless someone wants to write a debugger for JStella, it just won't be a very useful testbed.

 

One step at a time! :)

Share this post


Link to post
Share on other sites

Finally, I got a command-line Java conversion of bB and DASM working. I've included two jar files for bB and DASM and a batch file and shell script to run them.

 

It still uses sed if it's there, so that should be changed for a web interface (sed isn't necessary anyway.)

 

I have no idea how to integrate command-line Java with a web page, however, so I'll leave that to Fort Apocalypse.

bBJava.zip

Share this post


Link to post
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.

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...
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...