Jump to content
IGNORED

ColecoVision BASIC?


Recommended Posts

I remember hearing someone (PixelBoy?) mention that he was making a version of BASIC for ColecoVision game development. Did anything come of that?

 

Alternately, I certainly wouldn't mind if the dialect of PASCAL used to design the ColecoVision launch titles surfaced somewhere...

Edited by Jess Ragan
  • Like 1
Link to comment
Share on other sites

Pixelboy is going to work on his basicvision project all next year instead of games. He has put it on hold until next year.

 

Yep, what Dan said. :)

 

I'm doing my very best to get all the outsourced projects (listed on the Team Pixelboy web site) released this year, so that I can devote all of 2013 to working on BasicVision.

 

Thank you for your enquiry. ;)

Link to comment
Share on other sites

But your language isn't really a dialect of BASIC. It is more a stack based language, like PostScript and others.

 

I have a BASIC compiler for the Coleco Adam that could be used to make Super Games, but it hasn't been customized for making ColecoVision games. I have been thinking about it. But I don't have anything to offer quite yet. My project is called the Express Basic Compiler. And I think that there is a need for a BASIC cross compiler, but ideally it would be delivered with an IDE and a debugger. Still, it would be possible to make something more like Daniel's C offering for BASIC with less effort.

 

If other people are interested in contributing, I could release the source to the compiler with GPL or Modified BSD license and solicit contributions.

Link to comment
Share on other sites

Sounds tempting. By "contributions," do you mean assistance with the development or plain old cashola? Because... uh, I can't offer either at the moment. :P

 

Just out of curiosity, could the language be adapted for Eduardo Mello's upcoming Super Game Module? I'm not familiar with the architecture of the ADAM; if it significantly changes the ColecoVision hardware or just stacks a lot of extra RAM and I/O on top of it.

Link to comment
Share on other sites

I meant code, and not money.

 

Yeah, from what I understand the SGM offers more RAM and maybe enhanced audio.

 

The Adam is really identical base hardware, but with 64k of RAM instead of 1k of RAM, and more peripherals. So it would be a reasonable change to move from RAM to ROM for the code, support the memory map of the ColecoVision or ColecoVision with SGM, and change the built in functions to be focused on games instead of applications.

Link to comment
Share on other sites

But your language isn't really a dialect of BASIC. It is more a stack based language, like PostScript and others.

 

Well, BasicVision does offer convenient ways to use the stack, but it's not really stack-based. You could write an entire game with BasicVision without using the main stack in RAM, if you only use variables defined in the RAM block. Of course, it doesn't mean that the final ColecoVision ROM will never use the stack, but then, even BASIC can use the stack under the hood, for resolving complex arithmetic equations for example.

Link to comment
Share on other sites

Hmm...what I remember from your BasicVision presentation you couldn't do things like:

a=45*b-3*c

but instead would have to use the stack, more like PostScript:

45
b
mul
3
c
mul
sub
'a'
assign

Edited by hardhat
Link to comment
Share on other sites

Just out of curiosity, could the language be adapted for Eduardo Mello's upcoming Super Game Module? I'm not familiar with the architecture of the ADAM; if it significantly changes the ColecoVision hardware or just stacks a lot of extra RAM and I/O on top of it.

 

I know your question was directed at Dale, but in the case of BasicVision, I will be including a new "PROJECT" block in the language which will allow the programmer to define general stuff, including the RAM setup. You won't find any reference to this in the docs I posted on the Team Pixelboy web site, by the way, this is a new addition.

 

For example, a regular 32K game would be defined like this:

 

PROJECT
RAM SETUP REGULAR   : Only one RAM block
BANKSWITCHING NONE   : regular 32K game
BOOTSUB boot_init	 : Name of SUB function to call only once at boot
BOOTLOOP title_screen	: Name of GAME LOOP block to call at boot (after BOOTSUB function)
ENDPROJECT

RAM
  DEFINE score AS UINT = 0
ENDRAM

 

But for an SGM game, you can have multiple RAM blocks:

 

PROJECT
RAM SETUP SGM16K   : Requires SGM to be plugged in
BANKSWITCHING NONE   : regular 32K game, just using extra RAM in SGM
BOOTSUB boot_init   : Name of SUB function to call only once at boot>
BOOTLOOP title_screen   : Name of GAME LOOP block to call at boot (after BOOTSUB function)
ENDPROJECT

RAM   : Defined in the usual adressing range of the CV's original 1K RAM chip.
  DEFINE score AS UINT = 0
ENDRAM

RAM 2000 5FFF   : Variables defined within the range of the SGM's extra RAM
 DEFINE space_buffer AS BYTE ARRAY SIZE 100,100   : Define a two-dimensional array of bytes
ENDRAM

Edited by Pixelboy
Link to comment
Share on other sites

Hmm...what I remember from your BasicVision presentation you couldn't do things like:

a=45*b-3*c

 

but instead would have to use the stack, more like PostScript:

45
b
mul
3
c
mul
sub
'a'
assign

 

Where did you get that idea? :P

 

Actually, the first version of the BasicVision parser/compiler will be designed to generate Z80 assembly code (which is why I will need to learn Z80 assembly some time next year). So the parser will take:

 

LET a = 45 * b - 3 * c 

 

and generate Z80 assembly code that will reproduce the PostScript stack code you listed above. In a later iteration of the compiler, I plan to offer the option of generating the ROM file directly. :)

Link to comment
Share on other sites

Actually SGM RAM is mapped to 2000h-7FFFh in default mode (BIOS enabled). The CV 1KB is no longer available, though you can of course use the upper 8KB to simulate it (which I believe was the idea with the sample code above).

It is also possible to disable the BIOS and have full 32KB of RAM (0000h-7FFFh). The interesting part of doing that is that you can point the NMI service routine to wherever you want.

Link to comment
Share on other sites

Actually SGM RAM is mapped to 2000h-7FFFh in default mode (BIOS enabled). The CV 1KB is no longer available, though you can of course use the upper 8KB to simulate it (which I believe was the idea with the sample code above).

 

That's interesting. :) Is the stack base pointer still set at the same address in RAM? Or is that set somewhere in the header of each cart ROM?

 

It is also possible to disable the BIOS and have full 32KB of RAM (0000h-7FFFh). The interesting part of doing that is that you can point the NMI service routine to wherever you want.

 

That much I knew about. :) In the PROJECT block, the valid values for the "BANKSWITCHING" option will be "NONE", "SGM16K", "SGM32K" or "TEAMPIXELBOY" (a.k.a. the Activision PCB). So I guess I can also add "SGM24K". ;)

Link to comment
Share on other sites

That's interesting. :) Is the stack base pointer still set at the same address in RAM? Or is that set somewhere in the header of each cart ROM?

 

Stack is set by the programer anywhere in the memory space using LD SP,xxxx. Of course you should set the stack to some address mapped with RAM.

  • Haha 1
Link to comment
Share on other sites

That's interesting. :) Is the stack base pointer still set at the same address in RAM? Or is that set somewhere in the header of each cart ROM?

 

Stack is set by the programer anywhere in the memory space using LD SP,xxxx. Of course you should set the stack to some address mapped with RAM.

 

Well then, I guess that's one more option to add to the PROJECT block. :D

 

Thanks for the info!

Link to comment
Share on other sites

  • 1 month later...

Whenever I see topics about tentative plans for console BASIC compilers I feel like a starving man overhearing a conversation about juicy, delectable hamburgers!

 

I've got some experience with software testing and an enthusiasm for console BASIC compilers including bB and BasiEgaXorz. I'm currently an alpha tester for SNES Game Maker. I've done a little testing for Scratchalan (Scratch/Atalan based NES development environment).

 

If anyone does get to the alpha testing phase you know where I'll be brothers!

 

P.S. Yeah, I know the last post was in May. But, I had to at least make it known I'm still excited about Coleco BASIC.

Edited by theloon
Link to comment
Share on other sites

Hey TheLoon, tell me more about those programs! I tried to look up SNES Game Maker but all the sites I found were supposedly insecure.

 

SNES Game Maker's forums have been erroneously marked as badware by Google. The development team is moving to a new website partially because of it. SNESGM started as a RAD tool that allowed the end user to easily edit program resources and code blocks. The script language was little more than assembly macros. Functions could be added from a separate utility. Version .5 is transitioning to a C compiler.

http://gbatemp.net/t...ker-version-03/

 

I think the technique of a really good rapid application development environment mixed with a low level language is a win-win for end-users and developers.

Edited by theloon
Link to comment
Share on other sites

  • 2 years later...

Hello ! dr Floyd from France, Coleco fanboy N°1

 

Question : The project of Colecovision Basic is cancelled or not ???

 

It will be great to have a basic like BATARI basic on Atari 2600.

BasicVision is not cancelled. This year I need to concentrate on my last series of Team Pixelboy releases. Once they have been released, I can invest my energies in BasicVision. So probably next year. :)

  • Like 1
Link to comment
Share on other sites

BasicVision is not cancelled. This year I need to concentrate on my last series of Team Pixelboy releases. Once they have been released, I can invest my energies in BasicVision. So probably next year. :)

What we will come first ?

 

BasicVision or SGM 2nd run delivery or DKA ?

 

Who bet?

Edited by youki
Link to comment
Share on other sites

  • 4 months later...
  • 9 months 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...