Jump to content
IGNORED

What do YOU code on?


Metal Ghost

Recommended Posts

Hi all. Just a random thought going through my head yesterday, but nonetheless I thought it was kind of an interesting question to post out to the community.

 

When working on 7800 projects, what type of machine/set-up do you work on? Classic Atari foundation? Or a modern PC? Or something in between!

 

Computer: Mac Pro, eight-core

Assembler: CA65 (the assembler bundled with CC65)

IDE: Xcode (configured to compile and link using the CC65 toolchain)

Video capture: EyeTV PVR-250 (S-video/composite in)

Link to comment
Share on other sites

An old x86 workstation with CentOS linux installed.

HP Kayak dual Xeon 450mhz, 1.5GB RAM, semi-modern IDE drives as the old SCSI finally died. It also runs a more modern video card, the original card was ridiculous. It's my general linux desktop box.

 

That machine has a GUI but I prefer using vim in text mode (not a GUI window). dasm to assemble, sign7800 for the signature (great program, compiles easily with no dependencies).

For testing that machine has XMESS, but I don't use it much. I usually use Prosystem from my Windows machine over the network.

 

The main reason I prefer to use linux for 7800 coding is because symlinks come in very handy with some files being shared between projects. Windows has 3 separate imitations of that concept but I didn't find any of them to work as conveniently as a real symlink.

Link to comment
Share on other sites

  • 2 weeks later...
Are more tools necessary than CC65 is able to provide in order to facilitate coding in C??

 

For the 7800 you need a78sign to put the signature in the ROM image. I'm assuming that you have your own favourite text editor, art package and the like. I also use NMAKE to control the build process. Many programmers write their own custom tools to help out with certain tasks as well.

Link to comment
Share on other sites

Are more tools necessary than CC65 is able to provide in order to facilitate coding in C??

 

It all depends on what "coding in C" means. Obviously the 7800 doesn't have I/O which would fit stdio.h, so that's kinda out. The C compiler would also have to do the following (off the top of my head):

1. Provide a peek & poke to modify the TIA, MARIA and RIOT registers. (Although I guess this could be done with pointers.)

2. Handle the 7800 memory map (zero page $40-$FF, RAM space, ROM space)

3. Put code & data on the correct ROM addresses (for holey DMA)

 

But it's certainly possible to use C to develop for the 7800. Much of 7800 code is basically data movement. And it's certainly possible to describe the Display List as a C structure.

 

Of course, it's tough to match the space & speed of hand coded assembly.

Link to comment
Share on other sites

1. Provide a peek & poke to modify the TIA, MARIA and RIOT registers. (Although I guess this could be done with pointers.)

 

This is where my game library comes into the equation. Its written in 6502 assembler which allows the game's logic and AI to be handled in "C". The library handles sprite positioning and animation, sound, joystick input and the like. It also has functions to print to the screen, BCD score handling, high score handling and so forth.

 

2. Handle the 7800 memory map (zero page $40-$FF, RAM space, ROM space)

 

CC65 has a zero page segment.

 

3. Put code & data on the correct ROM addresses (for holey DMA)

 

In conjunction with appropriate start up code, segment declarations and ROM building script any initialised RAM data is handling correctly as is the BSS. Specifically aligned ROM segments for holey DMA can also be handled.

 

But it's certainly possible to use C to develop for the 7800. Much of 7800 code is basically data movement. And it's certainly possible to describe the Display List as a C structure.

 

Agreed.

 

Of course, it's tough to match the space & speed of hand coded assembly.

 

Agreed. However, flat out speed isn't always needed.

Link to comment
Share on other sites

  • 3 weeks later...

Is ProSystem (V13e??) the 'best' 7800 emulator currently available?

 

Its OK for legacy games. For implementing interesting tricks/quirks its a pain, so that sort of development I do on my CC2 and real hardware. It has no debugger so it's hard going in that respect too.

 

What kind of hardware do you use to program the 7800?

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