Jump to content


STM32 Cartridge

Turbo STM32 ARM 800XE 65XE 130XE 800XL

9 replies to this topic

#1 Matej OFFLINE  



  • 429 posts

Posted Wed Feb 10, 2016 6:02 AM

I started similar topic on Polish Atari Area.



I have crazy idea. What about STM32 cartridge. It will make faster only some of CPU instructions so
Atari will stays Atari. For demos or to have hundred sprites on screen...?
Why STM32? Its cheaper than ATMEL and more common than PIC. It is 32bit... Bigger EEPROM, RAM in MCU.
There will be no new graphics, no new sound. Only massive CPU upgrade but only for some instructions. For example 256 sprites,

fast 3d or vector, game with 128 sprites and sample playback on pokey (as you know MOD on Pokey eats CPU).

Or I can image pictures in lot of colors (multiple pages switching). So they will be not blinking...


I know there is Veronica. It is beautiful but price of 65816 is higher than STM32 (few cents max to 10 dollars).

I know there is very nice Tomek8 but as I wrote PIC is not so powerful as same priced STM32...


And as bonus you can get STM32 in huge quantities...


I somewhere read something exactly same exists for ColecoVision or 2600...


For example 6502 emulator on STM32:





"On that dev board, the CPU runs at 168MHz and the emulated speed of the 6502 is 18MHz."


Thats almost 10x+ faster as original Atari.


And there is also 180MHz model STM32...


Price is 10Euro... for  STM32F407VGT6:

32 Bit Microcontroller, Ethernet MAC, Camera Interface, ARM Cortex-M4, 168 MHz, 1 MB, 196 KB, 100


Maybe we can have Ethernet too on that cartridge for multiplayer games.


I can imagine NUMEN engine shooter and LANPARTY! like QUAKE!

Or DUNE2 / Settlers 2 game !!! Multiplayer / online...


This will adds new dimension to our ATARIs... Playing games together. New speed for CPU.

Lot of sprites, pokey sample playback etc etc... So it will be turbocard but also will accelerate graphics and sound.

Plus online multiplayer gaming or local LAN party as bonus.


Bad or good idea?

Lets brainstorm this.


I can imagine games in hires with huge sprites. Or 160x200 games with ultra fast scrolling (space shooter) for example.

Or vector game with samples. Or 3D demo looking almost like from Amiga 500...

When price of cartridge will be 20-30Euro. Everyone will be able to buy it.

Edited by Matej, Wed Feb 10, 2016 6:12 AM.

#2 Rybags OFFLINE  



  • 15,990 posts
  • Location:Australia

Posted Wed Feb 10, 2016 6:09 AM

Dunno... there is Veronika, there is F7, Bob's XL accelerator and probably others.

What would be nice is for an existing one to get a high adoption rate at an affordable price.

Throwing more in muddies the waters and makes it harder for those already out there.


And as nice as it'd be to have a cartridge with 200 MHz RISC which can run it's own program and present the Atari with near unlimited objects mapped to memory that Antic just displays and the 6502 can run a kernal for colour and PM changes - it just becomes a case of the Atari itself becoming a peripheral of something bigger.

#3 Matej OFFLINE  



  • Topic Starter
  • 429 posts

Posted Wed Feb 10, 2016 6:15 AM

As I wrote better will be to STM32 act as second 18mhz (17,9 NTSC or 17,7 PAL) 6502 emulator build into that MCU.

So no ARM RISC coding or atari becoming peripherial...

It will be second 6502 but with higher speed...


Edited by Matej, Wed Feb 10, 2016 6:16 AM.

#4 mono OFFLINE  


    Chopper Commander

  • 102 posts

Posted Wed Feb 10, 2016 7:15 AM

The main trouble to reach big amount of sprities, colours and samples simultaneously on Atari is main CPU clocking (1.77MHz).

Tomek-8 cartridge resolves this trouble by pushing screen data through $D5 page on ANTIC request (screen memory is set up to $D500).

Veronica has banked RAM in cartridge memory area, but all work with addressing I/O is still 6502 task (and it is bottleneck).

VBXE has own VRAM, but it generates video signal independently of Atari.

It will be best your device would have DMA to setup I/O and RAM because without this all power of your device will be limited by 6502 (as in Veronica).


Edit: Another possibility is to threat STM as slave device to generate all video and sound signal independent of Atari, and treat Atari as master device pusing samples, graphics and another data with STM will works.

Edited by mono, Wed Feb 10, 2016 7:20 AM.

#5 electrotrains OFFLINE  



  • 300 posts
  • Location:Scotland

Posted Wed Feb 10, 2016 10:01 AM

I'd been planning to have a go at a STM32F407 based cartridge but haven't got round to it yet.

My initial thought was to see if I could use it to make a cheaper version of the Ultimate Cart, using the STM32 instead of using an FGPA and SRAM. Its also 5V tolerant (if you use the correct GPIO banks), which is also a big plus.


However, its not clear to me that the STM32 will be able to keep up with the atari's bus speed, so I was planning to investigate that first.

It can keep up with a gameboy (see this for an interesting project) but the atari is about twice the speed.



#6 popmilo OFFLINE  



  • 1,569 posts
  • Location:Senta, Srbija

Posted Wed Feb 10, 2016 3:23 PM

And as nice as it'd be to have a cartridge with 200 MHz RISC which can run it's own program and present the Atari with near unlimited objects mapped to memory that Antic just displays and the 6502 can run a kernal for colour and PM changes - it just becomes a case of the Atari itself becoming a peripheral of something bigger.

Imho it's not about making something that will add more graphics modes, fpu, blitter or something like that.
Those things require new code to work. Based on my experience, new code doesn't create itself fast enough :)

What could work in my opinion is cpu accelerator that would for example speed up CPU-RAM part when raster is outside the visible part of screen. On Pal A8 'standard' 192 lines screen there remains 312-192 = 120 lines where cpu doesn't need to sync with Antic. Thats around 38% or cpu time. What if we could double or triple cpu speed in that part ? Anything above double speed of cpu in that part can push A8 over limit of "that's not possible".

I'm not so familiar with details of cartridge port, but if external cpu like in Tomek-8 project can wait for bottom of screen, halt 6502, take over control of ram and start emulating instructions in order like 6502 would read them, then it could work.

My question is - can Ram clock be controlled from outside and sped up, and can original Ram work at those higher speeds ?
As if I remember reading somewhere about some kind of 7-14 MHz limit ?

If not - can 6502 use only external ram as main memory (without need to pull out original chips) ?
In that case - 6502 would work with external ram at normal speed. When time comes fast external cpu takes over ram and does it's thing till it's time to let go of control. Hmmm.... Problem is maybe Pokey that can be hit at any time, not depending much on raster position.

Most important, there are two parts of high-adoption rate equation. One is low price and that is why I like idea of using something like STM processors.
Second is to make existing software work faster without change.

Rapidus fulfills second condition perfectly but fails terribly at first ... Yeah 100Eur is not much for uber-geeks but there are hundreds of them maybe. We need something good and cheap enough that at least a thousand people will buy it :)
Now that is a hard thing to solve :)

#7 Matej OFFLINE  



  • Topic Starter
  • 429 posts

Posted Thu Feb 11, 2016 6:18 AM

How stm32 is powerful?

Everything is generated by STM32 itself. Music, VGA etc...

#8 Jetboot Jack OFFLINE  

Jetboot Jack


  • 1,834 posts
  • Making Games
  • Location:Disconnected

Posted Thu Feb 11, 2016 7:03 AM

Still waiting for that Tomek-8, from my point of view the perfect solution!!



#9 Stormtrooper of Death OFFLINE  

Stormtrooper of Death


  • 428 posts
  • Location:The Netherlands

Posted Mon Dec 26, 2016 9:53 AM

Bump. any news about the STM32 option ?

#10 lemiel OFFLINE  



  • 279 posts
  • Location:Tychy, Poland

Posted Mon Dec 26, 2016 12:11 PM


Also tagged with one or more of these keywords: Turbo, STM32, ARM, 800XE, 65XE, 130XE, 800XL

0 user(s) are browsing this forum

0 members, 0 guests, 0 anonymous users