Jump to content

Recommended Posts

I started similar topic on Polish Atari Area.

http://www.atari.org.pl/forum/viewtopic.php?id=13760

 

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:

 

GITHUB

https://github.com/BigEd/a6502

 

"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
  • Like 1

Share this post


Link to post
Share on other sites

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.

  • Like 2

Share this post


Link to post
Share on other sites

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

https://github.com/BigEd/a6502

Edited by Matej

Share this post


Link to post
Share on other sites

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
  • Like 1

Share this post


Link to post
Share on other sites

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.

 

Robin

  • Like 1

Share this post


Link to post
Share on other sites

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.

Agreed.

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 :)

  • Like 1

Share this post


Link to post
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...