Jump to content
Gemintronic

What's the state of C development for the 7800?

Recommended Posts

A few years back I saw someone make "Robot Loves Kitten" for the 7800. I've heard cc65 has some support but my impression is that it was incomplete and or unstable?

 

Does anybody know anything about C dev for the 7800 and what the best setup is?

Share this post


Link to post
Share on other sites

GroovyBee was working on a C complier for the 7800 some time ago, but I think it's been a couple of years since there was any news on it. I suppose, sadly, we could call it 'deadware' now. :( As far as I know, that was the only C development library made for the 7800 - which saddens me immensely.

Share this post


Link to post
Share on other sites

I don't know, today I'm in the mood where words in quotes such as 'deadware' make me mad.

 

I'm pretty sure cc65 was the compiler 'GroovyBee was working on'. Ok, so Ullrich von Bassewitz has stopped maintaining it, but it's still available. That's all you need, as far as the toolchain is concerned.

The rfk7800 source is here: http://sourceforge.net/projects/rfk7800/files/rfk7800/. It can get you nicely started. It's using cc65 and gives you startup code and a linker script that produce Atari 7800 ROMs with cc65. I can't remember, but I can't believe GroovyBee didn't make his stuff available. And then there's the technical information made available by people such as Dan Boris, and the official programmer's manual has been available for quite some time as well.

 

 

 

As far as I know, that was the only C development library made for the 7800 - which saddens me immensely.

 

Sorry, but that's just the usual whining. Documentation, tools and example sources are available, people just have to make use of them. Instead of crying.

 

Besides, I have no idea what you expect from a 'C development library made for the 7800'. Atari 7800 programming is all about putting together display lists and display list lists. This is all explained in the programmer's manual, which you simply have to read until you understand it. There's no way around this. And then your display management code is highly specific to your game and probably you'll end up writing it in assembly anyway.

Edited by Tom
  • Like 1

Share this post


Link to post
Share on other sites

It sounds like you're familiar with the toolchain Tom. If I run into problems with the build process could I hit you up for advice?

Share this post


Link to post
Share on other sites

What build process? Do you want to build cc65 yourself or what?

 

Actually, I'm just getting started in C. I do have familiarity with batch files and whatnot. I was going to try and get a simple "hello world" compiled with cc65 and your library. Just wondered if you were OK with me asking you some questions if I get stuck.

Share this post


Link to post
Share on other sites

I never made a library. I can't remember in all details what I did years ago. Either I downloaded cc65 binaries or compiled my own. Then I read ist documents and figured out how to build startup code and a linker script. Lazy how I am I figured it wasn't necessary to build a special C standard library for the 7800. rfk7800 links to the c64 library and I simply paid attention not to use any function that actually does C64 specific stuff. That's usually the IO related functions. Also, I didn't set up a heap, so malloc/free won't work either. I don't consider this much of a problem. You just don't want to use a heap on something with as little RAM as the 7800.

 

If you have questions, ask them on the forum. There are People hanging around here who know a lot.

Share this post


Link to post
Share on other sites

I never expected this much information! This pretty much sums up the current state of things. I especially appreciate Toms input. I've admired robot finds kitten 7800 for a long time :)

Share this post


Link to post
Share on other sites

Its really hard to write a good compiler for 6502, and even if you find one, you would have to be so careful that it is easier and quicker (honestly ;) to write in assembler.

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