Mr SQL Posted November 7, 2016 Share Posted November 7, 2016 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. Quote Link to comment Share on other sites More sharing options...
sunofman Posted November 8, 2016 Author Share Posted November 8, 2016 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. Quote Link to comment Share on other sites More sharing options...
sunofman Posted November 8, 2016 Author Share Posted November 8, 2016 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? Quote Link to comment Share on other sites More sharing options...
Kylearan Posted November 9, 2016 Share Posted November 9, 2016 @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. Quote Link to comment Share on other sites More sharing options...
Mr SQL Posted November 9, 2016 Share Posted November 9, 2016 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. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.