Jump to content

Photo

What do YOU code on?


30 replies to this topic

#1 Metal Ghost OFFLINE  

Metal Ghost

    Stargunner

  • 1,273 posts

Posted Wed Jan 19, 2011 12:09 PM

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!

#2 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • 7,820 posts
  • Busy bee!
  • Location:North, England

Posted Wed Jan 19, 2011 12:12 PM

Modern PC using CC65, NMAKE, DASM (rarely now) and a variety of custom tools written either in Perl or C/C++ and a couple of art packages.

#3 Wickeycolumbus OFFLINE  

Wickeycolumbus

    River Patroller

  • 4,740 posts
  • Location:Michigan

Posted Wed Jan 19, 2011 2:57 PM

I used to use OS X with DASM and V7800 run through DOSBox. It was terribly slow...

#4 mellis OFFLINE  

mellis

    Chopper Commander

  • 224 posts
  • Location:Sarasota, FL

Posted Wed Jan 19, 2011 3:09 PM

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)

#5 Bakasama OFFLINE  

Bakasama

    Stargunner

  • 1,440 posts
  • Alcohol is Free

Posted Wed Jan 19, 2011 7:19 PM

Wow, I don't see too many programmers that use a Mac often.

#6 mellis OFFLINE  

mellis

    Chopper Commander

  • 224 posts
  • Location:Sarasota, FL

Posted Thu Jan 20, 2011 11:42 AM

Wow, I don't see too many programmers that use a Mac often.


Funny. The developers I work with the most all use Macs.

They're the best UNIX workstations around.

#7 SpiceWare ONLINE  

SpiceWare

    Quadrunner

  • 8,207 posts
  • Medieval Mayhem
  • Location:Planet Houston

Posted Thu Jan 20, 2011 4:10 PM

I do all my VCS development on a Mac. Someday I plan to try my hand at something for the 7800.

#8 DracIsBack OFFLINE  

DracIsBack

    River Patroller

  • 4,550 posts
  • Location:Toronto, Canada

Posted Thu Jan 20, 2011 4:55 PM

I've been at a number of developer conference (even though i've not a developer) with over 1000 attendees. The number of Devs with Macs is a lot more than it used to be.

#9 The Usotsuki ONLINE  

The Usotsuki

    Stargunner

  • 1,131 posts
  • Also called "Licca"

Posted Thu Jan 20, 2011 6:00 PM

I haven't been able to dev for Ataris yet, but for Apple (same basic cpu), I usually crossdevelop on a Linux box using cc65/ca65.

#10 Random Terrain OFFLINE  

Random Terrain

    Visual batari Basic User

  • 24,910 posts
  • Controlled Randomness
    Replay Value
    Nonlinear
  • Location:North Carolina (USA)

Posted Thu Jan 20, 2011 6:08 PM

In the year 2014, I use batari Basic 7800 with the bB 7800 IDE Visual batari Basic 7800. :D

#11 Bakasama OFFLINE  

Bakasama

    Stargunner

  • 1,440 posts
  • Alcohol is Free

Posted Thu Jan 20, 2011 7:52 PM

Funny. The developers I work with the most all use Macs.

They're the best UNIX workstations around.


I was talking about the programmers around here. I use xcode too but it's just to roll my own MacMAME.

#12 gdement OFFLINE  

gdement

    Stargunner

  • 1,766 posts
  • Location:Northern CA

Posted Thu Jan 20, 2011 9:16 PM

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.

#13 Metal Ghost OFFLINE  

Metal Ghost

    Stargunner

  • Topic Starter
  • 1,273 posts

Posted Fri Jan 21, 2011 7:12 AM

In the year 2014, I use batari Basic 7800 with the bB 7800 IDE Visual batari Basic 7800. Posted Image



I love it! Posted Image

#14 Metal Ghost OFFLINE  

Metal Ghost

    Stargunner

  • Topic Starter
  • 1,273 posts

Posted Fri Feb 4, 2011 8:55 AM

Do most of the 7800 programmers code in C and then complile their source?



#15 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • 7,820 posts
  • Busy bee!
  • Location:North, England

Posted Fri Feb 4, 2011 9:13 AM

Do most of the 7800 programmers code in C and then complile their source?


Alas no. That's just me at the moment.

#16 Metal Ghost OFFLINE  

Metal Ghost

    Stargunner

  • Topic Starter
  • 1,273 posts

Posted Fri Feb 4, 2011 9:17 AM

Then is coding in 6502 Assembly the de facto method? Please forgive me if I'm showing my noobness here....I'm just extremely curious.




#17 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • 7,820 posts
  • Busy bee!
  • Location:North, England

Posted Fri Feb 4, 2011 9:51 AM

There was a bit of "C" coding done some years ago on the 7800 too. It was for the Robot Kitten port. If you search the forums you'll find it.

6502 is pretty much the only solution on the 7800 at the moment.

#18 bomberpunk OFFLINE  

bomberpunk

    River Patroller

  • 2,071 posts
  • i hoard video games.
  • Location:new orleans

Posted Fri Feb 4, 2011 9:56 AM

i code in qbasic and html. :dunce:

#19 Metal Ghost OFFLINE  

Metal Ghost

    Stargunner

  • Topic Starter
  • 1,273 posts

Posted Fri Feb 4, 2011 10:08 AM

6502 is pretty much the only solution on the 7800 at the moment.



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

#20 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • 7,820 posts
  • Busy bee!
  • Location:North, England

Posted Fri Feb 4, 2011 10:14 AM

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.

#21 EricBall OFFLINE  

EricBall

    Dragonstomper

  • 765 posts
  • Location:Markham, Ontario, Canada

Posted Fri Feb 4, 2011 12:32 PM

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.

#22 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • 7,820 posts
  • Busy bee!
  • Location:North, England

Posted Fri Feb 4, 2011 1:41 PM

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.

#23 Metal Ghost OFFLINE  

Metal Ghost

    Stargunner

  • Topic Starter
  • 1,273 posts

Posted Fri Feb 25, 2011 2:35 PM

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

#24 GroovyBee OFFLINE  

GroovyBee

    Games Developer

  • 7,820 posts
  • Busy bee!
  • Location:North, England

Posted Fri Feb 25, 2011 3:01 PM

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.

#25 philipj OFFLINE  

philipj

    Moonsweeper

  • 336 posts
  • Location:Birmingham, Alabama

Posted Fri Feb 25, 2011 6:23 PM


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?




0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users