Jump to content
IGNORED

New language to program Atari 2600


sunofman

Recommended Posts

Hi!

 

This is my first post here.

​I have created a new computer language, that makes 6502 code. ​Before I release it, it would like to test to make a Atari 2600 program.

​But as I don't have time to learn all about 2600 now, I wounder if there is a assembly program I can translate as a example. After that maybe someone would like to test it for writing their own programs. And I can provide the code for that program that i translate, as a programming example.

 

Does anyone know of some suitable assembly code for this? I worst case I could take some machine code, and translate that.

​Any ideas? And where can I find info about the used fileformat for Atari 2600 emulators?

 

 

 

Cool project! :)

 

You might like to use the ASDK (Abstract Assembly Development KIT) with your language. It's included with vwBASIC and the download is in my signature link.

 

vwBASIC populates just the gameloops (one for each vertical blank) and the init section (runs once) with compiled BASIC Assembly.

 

Your language compiler could be used to do the same thing (I tried this with bB compiler, it can also be used) and you'll have

access to a rich kernel with large virtual world scrolling, tile-mapping and a tracker-sequencer too.

Link to comment
Share on other sites

 

The biggest thing is going to be, for the display kernel, the ability for the programmer to have EXACT control over the timings of everything. For a game of any complexity, you need to carefully work out exactly when each machine instruction runs, which involves carefully counting the cycles of each instruction. Any language that abstracts that away is not going to work for the kernel. So to make your language viable, one of the following will probably have to be true:

 

1. Your language is meant to be used just in the game logic, and the programmers will still plan to use assembly for the kernel

2. Your language is just a different syntax but logically is just a different mapping of source to machine code. (ie like how different assemblers may have slightly different syntax)

3. You include pre-written display kernels (like batari basic) and your users will just use one of yours.

 

 

 

You are right. However the laguage is exact. So writing code for a display kernel can be done easily.

Link to comment
Share on other sites

 

Cool project! :)

 

You might like to use the ASDK (Abstract Assembly Development KIT) with your language. It's included with vwBASIC and the download is in my signature link.

 

vwBASIC populates just the gameloops (one for each vertical blank) and the init section (runs once) with compiled BASIC Assembly.

 

Your language compiler could be used to do the same thing (I tried this with bB compiler, it can also be used) and you'll have

access to a rich kernel with large virtual world scrolling, tile-mapping and a tracker-sequencer too.

 

 

Can it be used as binary "blobs" or would I translate some of that code to my language, to ba able to use it?

Link to comment
Share on other sites

@sunofman, look here for another new computer language that makes 6502 code, also with full control over the 650x instructions, which sounds a lot like what you are trying to do:

 

http://devkk.net/wiki/index.php?title=K65

 

It has been used for the VCS for several large demos already (http://devkk.net/wiki/index.php?title=Projects_using_K65) and also for C64 stuff (and I think for other Atari models, not sure). Maybe it can give you more ideas.

 

Link to comment
Share on other sites

 

 

Can it be used as binary "blobs" or would I translate some of that code to my language, to ba able to use it?

 

Yes, compiled binary blobs from your language or any compiled language could be dropped right in and they would run, but you would have to add hooks to your language for natively working with the kernel objects that are surfaced by the ASDK unless the wish the programmer to escape to Assembly to manipulate them:

 

The ASDK is a Framework that presents phantom hardware present on other systems; setting the large tile pixels, mapping the sprites, scrolling the screen around, etc. There are Assembly API's for these objects so if you didn't wish to integrate the API's into your language you could just let the programmer use them natively in escaped asm.

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