Jump to content
IGNORED

RAMCart development anguish........


PacMan

Recommended Posts

Hi all,

A few months back I started to think and sketch on a RAM based development system for my A7800. I wanted to create something that would be as easy to use as most modern development tools available for embedded development.

 

The result became something I call the RAMCart and is described on my webpage www.x-game.se under projects.

 

The last couple of weeks though, I have found it increasingly difficult to master up the energy to get this project finnished, or even to update the web with the latest developments :|

 

I guess what I need is a kick in the rear to either just drop it and throw the garbage in the bin or get the project going again and conclude the last stages. Thus, the reason for my post.

 

If anyone has the energy to look into my pages and maybe throw some ideas, critique, rack down on the design or just cheer me on i would appreciate it. Any comments are welcome.

 

The current status is that I have the CPLD, FLASH and SRAM in place and the logic in the CPLD seem to do what it is supposed to do. The USB controller is soldered in but not tested yet. I have written code to test the separate blocks and have done some preliminary tests with a HLL debugger called NoIce.

 

OK guys (and girls) questions anyone ?

 

/P

Edited by PacMan
Link to comment
Share on other sites

This project somehow escaped my attention until now, but it definitely looks interesting! I've been retrofitting BallBlazer cartridges with SRAMs and using Eckhard Stolberg's DevOS, which has worked very well for me, but it limits me to 32K of onboard RAM. Having more memory is a definite plus, as is getting away from the parallel interface for uploading through the joystick port.

 

I would definitely encourage you to pursue it further; perhaps you simply need to set it aside for a while and take a break. The 7800 homebrewing "scene" is still pretty small and it may sometimes seem that there's no market, but as tools like yours become available, I think the 7800 will become a less-intimidating platform for game development and will get a lot of support.

 

EDIT: Here is a link to PacMan's site for anyone who wants to look it over; the RAMCart is in the "Projects" area.

Edited by jaybird3rd
Link to comment
Share on other sites

A few months back I started to think and sketch on a RAM based development system for my A7800. I wanted to create something that would be as easy to use as most modern development tools available for embedded development.

1023616[/snapback]

 

I use a Cuttle Cart 2 for development and find it's really nice. Would your device allow the cartridge to be accessed while connected to a PC? That would be really nice too.

Link to comment
Share on other sites

Just to give you all some input on the concept of the RAMCart. It is not something that tries to replace the Cuttle Cart. It's more of an complement to it. The RAMCart only has RAM for downloading and debugging code. The idea with the RAM is that it is easy to download code and manipulating the content of the RAM. This makes it easy to insert break points, update the code on the fly etc. The USB interface makes it possible to do all of this extremly fast.

 

The idea is to have an A7800 (or generic Atari) platform on the host computer (Windows/Unix/Apple) where you do all development, building and debug under the same framework. The framework could also provide templates for often required code, graphic editors for creating/editing sprites and a lot of other stuff to help in development.

 

My initial idea is to write the framework in Java to be able to be platform independant but I am open to any ideas that you may have.

 

/PacMan

Link to comment
Share on other sites

Just to give you all some input on the concept of the RAMCart. It is not something that tries to replace the Cuttle Cart. It's more of an complement to it. The RAMCart only has RAM for downloading and debugging code. The idea with the RAM is that it is easy to download code and manipulating the content of the RAM. This makes it easy to insert break points, update the code on the fly etc. The USB interface makes it possible to do all of this extremly fast.

1024972[/snapback]

 

Thanks for the explanation. Can the 7800's cartridge port be used to suspend processor execution, or is the Halt pin an output only? I can certainly see how a debugging cart could be useful, though finding the right balance of features and price could be tricky.

Link to comment
Share on other sites

Can the 7800's cartridge port be used to suspend processor execution, or is the Halt pin an output only?

1025023[/snapback]

The HALT pin is an output from MARIA so the cart can determine when MARIA is doing DMA accesses.

 

And although I haven't used it, doesn't the CC2 have a serial port to directly download code into RAM?

 

When I was developing SpaceWar! 7800 I used MESS for simple debugging, then copied it over to an MMC for testing on the CC2.

Link to comment
Share on other sites

And although I haven't used it, doesn't the CC2 have a serial port to directly download code into RAM? 

 

When I was developing SpaceWar! 7800 I used MESS for simple debugging, then copied it over to an MMC for testing on the CC2.

1025351[/snapback]

 

You are absolutely correct, the CC2 has a 115200 baud serial port which can be used for downloading and running software. I guess that this is how many developers test their code, this is certainly how I have done with my test shoots. There is however no way (yet !?) that you can insert, monitor and manage break points, look at register content, single step your code etc. through that interface. The RAMCart is specifically designed for that purpose.

 

Having said that I am almost sure that the CC2 could be programmed to do that as well if someone wanted to.

 

/P

Link to comment
Share on other sites

Got the USB port to work tonight. The VSP driver nicely connects to the module and I was able to stream data from the PC virtual serial port down to the A7800. Seems I will be able to download a lot of data very quickly. More to come.

 

/P

Link to comment
Share on other sites

Got the USB port to work tonight. The VSP driver nicely connects to the module and I was able to stream data from the PC virtual serial port down to the A7800. Seems I will be able to download a lot of data very quickly. More to come.

 

/P

1027129[/snapback]

Impressive! :)

 

BTW, how are you testing your code in the flash? It looks like you've got a 100% surface mount design, and I can't see any way to remove the flash to a programmer without soldering and desoldering.

 

Also, any consideration to bringing the HALT line into the memory bank controller? That would allow the programmer to have the video chip see different memory than the CPU. I'm sure someone could come up with some use for that!

Link to comment
Share on other sites

Basically yes,

 

Although I am not to familiar with the original dev.kit this is probably similar in basic functionality.

 

/PacMan

1025228[/snapback]

 

Here is my page about the original 7800 dev kit. :)

 

Mitch

1025430[/snapback]

 

Has anyone ever successfully assembled a RAM card...? and if so, what was the results of it? :?:

Edited by philipj
Link to comment
Share on other sites

BTW, how are you testing your code in the flash?  It looks like you've got a 100% surface mount design, and I can't see any way to remove the flash to a programmer without soldering and desoldering.

1027135[/snapback]

 

In-circuit programming of flash devices is pretty common.

Link to comment
Share on other sites

Maybe I should have mentioned that I have created a special version of DevOS which can download and FLASH the monitor FLASH device on the RAMCart.

 

This special DevOS also makes use of the X-Board which has 128KRAM, much easier to work with rather than having to squeeze everyting into 4K, But that's just me, I'm lazy.....

 

/P

Edited by PacMan
Link to comment
Share on other sites

You are absolutely correct, the CC2 has a 115200 baud serial port which can be used for downloading and running software. I guess that this is how many developers test their code, this is certainly how I have done with my test shoots. There is however no way (yet !?) that you can insert, monitor and manage break points, look at register content, single step your code etc. through that interface.
Well, there is a way, but it's not easy. I wrote my own monitor debugger (after successfully porting the Apple II monitor and deciding I didn't like it!) that works through the right joystick port at 2400 baud. And it had to be assembled into the code I was working on, especially because I had to turn off the #@%@#! Maria when using the joystick serial port. (I had a conditional assembly that would take it out when not needed.) It was enough to let me properly debug the chain-detect algorithm in Tubes.

 

I'm pretty sure that at this time there is no banker file which will leave the UART mapped into the 7800 address space, and it would have to be done on a case-by-case basis with each banking scheme anyhow.

Link to comment
Share on other sites

I'm pretty sure that at this time there is no banker file which will leave the UART mapped into the 7800 address space, and it would have to be done on a case-by-case basis with each banking scheme anyhow.

 

A while back I posted a 78scser.bnk or something along those lines which is a supercart bankswitching file with the serial port active. It's in the CC2 discussion thread.

 

It was made by request, but I don't think anyone has actually used it though.

 

Chad

Link to comment
Share on other sites

Finally got a complete system together and operating. Currently I am using the NoIce debugger (NoIce) to download code and debug with. So far most operations seem to work although NoIce seem to freeze up completely from time to time. Will try to post some pictures next time I get around to play with the system.

 

/P

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