Jump to content

Join the World of Atari!

Sign In or Create Your Atari I/O Account to join the party! Membership is always free! Gain full access to an amazing new retrogaming community with UNLIMITED member features, weekly high score championships, and prizes. Join other friendly retrogamers as we celebrate nostalgia & classic games, from Atari to Nintendo, Sega, TurboGrafx-16 and beyond!

Photo

I did the math(s). It checked out.


  • Please log in to reply
6 replies to this topic

#1 dgrubb

dgrubb

    New Member

  • Member
  • 14 posts

Posted 25 November 2017 - 05:11 PM

Hello, Atari IO!

I'm a long-time fan of retro computing, but pretty new to Atari. I don't have very much in the way of personal experiences with Atari or arcades, as many here do, in fact I suck at playing video games, but came to it through another route. I'm an embedded software developer so I enjoy learning about different platforms, CPU architectures and clever electronics.

I got started on a project to emulate a 2600 in a micro-controller (currently lacking a TIA, but the 6507 mostly works ;) ) and came to really appreciate the elegance of it considering the cost restrictions in place, along with the creativity of the developers tasked with creating engaging games.

I'm also very interested in the Jaguar. Despite its Hindenburg-esque history it remains a fascinating console: custom ASICs, weird co-processor architecture, love it. I hope to learn a lot more about it (I decided to sign up after coming across the thread with the JagDuo PCB and listening to a few of Shinto's game-by-game podcasts) and maybe even enough to be able to try my hand at a bit of homebrew hardware and software.

Cheers,
Dave.

Edited by dgrubb, 26 November 2017 - 12:40 AM.

  • Justin, MaximumRD, RickR and 1 other like this

#2 Justin

Justin

    The Shah of Atari

  • Administrator
  • 1,690 posts

Posted 25 November 2017 - 11:17 PM

Welcome to Atari I/O Dave! We're happy to have you here! Shinto's podcasts are wonderful, we need to send him a big thank you for leading you here! Hope you enjoy your time in the forums  :atari_jaguar:  :Nolan_Bushnell:


  • dgrubb likes this

#3 nosweargamer

nosweargamer

    Banana Member

  • Member
  • 2,715 posts

Posted 25 November 2017 - 11:35 PM

Greetings!

 

I assume you have, but if you started in the middle, be sure to check out Shinto's first ep. It has a ton of tech stuff in it.


  • Justin and dgrubb like this

The No Swear Gamer on YouTube: https://www.youtube....0EOCTVziObIgVcg

Host of The Atari 7800 Game by Game Podcast on iTunes, Stitcher and YouTube


#4 Clint Thompson

Clint Thompson

    Apple Member

  • Member
  • 589 posts

Posted 26 November 2017 - 02:54 AM

Cool, hopefully you try your hand at some Jaguar programming even if it's using the Rb+, that thing is actually quite powerful for what it is.


  • Justin and dgrubb like this

2600 - 7800 - 800XL - 130XE - Lynx - Jaguar

cerka.weebly.com

 


#5 dgrubb

dgrubb

    New Member

  • Member
  • 14 posts

Posted 26 November 2017 - 12:50 PM

Thanks for the warm welcome, guys!

 

Cool, hopefully you try your hand at some Jaguar programming even if it's using the Rb+, that thing is actually quite powerful for what it is.

 

Yes, I'd like to go beyond Rb+ but that's probably a good place to start.


  • Justin likes this

#6 RickR

RickR

    The Don

  • Member
  • 4,840 posts

Posted 26 November 2017 - 01:04 PM

Welcome!  We'd love to know more about your 2600 emulation project.  Was that for a commercial product?  Pretty cool stuff.


  • Justin and dgrubb like this

#7 dgrubb

dgrubb

    New Member

  • Member
  • 14 posts

Posted 26 November 2017 - 02:48 PM

Welcome!  We'd love to know more about your 2600 emulation project.  Was that for a commercial product?  Pretty cool stuff.

 

Sure! It was a kind of research project, really. The schematics for the 2600 are very simple looking (three ICs!) so I figured it would be possible for somebody to understand it top-to-bottom. If you can write a good emulator of a system then you can reasonably claim to have a good knowledge of it. I'm also interested in uCs and the idea of fitting an entire console into the computational power of a single IC or two tickled me a bit.

Having said that, embedded stuff is usually more I/O bound so raw processing power is less of an issue than some other architecture characteristics (see below).

There are a few related and experimental projects on my GitHub:

HiFive-2600: https://github.com/dgrubb/HiFive1-2600

My first attempt. This is based around a new RISC-V uC which is very performant and can be clocked at a massive 300MHz+ so I thought it would be a great platform. Unfortunately, it only has 16kb of scratch memory, supplemented by an external SPI flash chip. The SPI flash is memory mapped, but the access time is comparatively slow and causes a cache flush. The result is that a lot of the massive processing power is wasted unless you can fit the whole program in 16kb, which isn't going to be the case here. Still, on this version you can load a cartridge and step through each processor tick, while printing the 6507 state on a console.

STM32-RIOT-6502: https://github.com/d...STM32-RIOT-6502

Similar to the above on a slower uC, but one with enough RAM to fit the whole program and run at full-speed. I can just about get the 6507/memory/cartridge state emulation to execute within a 1.19MHz period, enough to run those parts at the the same speed as a real 2600. The TIA is out of the question though, as it uses an NTSC colour clock of 3.58MHz. As with the other project you can step through the emulation state, or run it at full-speed. The TIA has a very simple state machine, but the timing requirements are quite strict. To finish this project off and get some actual video out going I'm planning on implementing the TIA in a separate uC. That's a work-in-progress for the time being.

I was pretty chuffed just to get the 6507 emulation (mostly ;) ) working, probably quite a few bugs and mistakes which will need correcting which I'll find as I flesh out the unit tests. It got the point where I was seeing 6502 op-codes in the license plates of other cars during my commute!


Edited by dgrubb, 26 November 2017 - 02:52 PM.

  • Justin and RickR like this




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users