Author Topic: ROM board with a tiny DMA engine  (Read 16846 times)

0 Members and 2 Guests are viewing this topic.

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #100 on: 18:48, 12 December 20 »
And finally added the programming guide, explaining how CPC developers can program the thing. Read it here:

https://gitlab.com/doragasu/romba/-/blob/master/PROGRAMMING.md


BTW, support for RetroVM emulator was added some time ago, but I do not know if the code hit the public releases. Time to talk to the author to see if it is supported.

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 946
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1718
  • Likes Given: 952
Re: ROM board with a tiny DMA engine
« Reply #101 on: 19:01, 12 December 20 »
Looking at my RVM looks like there's support for X-Mem and Dandanator, and that's it.

Is not essential, but having at leas one emulator supporting this would be very beneficial. I don't know what was 4Hz using for development, may be a private version of RVM with ROMBA support?
« Last Edit: 19:03, 12 December 20 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse and Brick Rick for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #102 on: 19:21, 12 December 20 »
4MHz have never used (as far as I know) my cart. The only people that are working with it are Augusto Ruíz and Rhino from Batman Group (but there is a lot of time since I talked to him, so I do not know how development is going).

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 906
  • Country: fr
    • urban exploration
  • Liked: 1237
  • Likes Given: 765
Re: ROM board with a tiny DMA engine
« Reply #103 on: 19:41, 12 December 20 »
4MHz have never used (as far as I know) my cart. The only people that are working with it are Augusto Ruíz and Rhino from Batman Group (but there is a lot of time since I talked to him, so I do not know how development is going).
that's some serious news!
use RASM, the best assembler ever made :p

I will survive

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #104 on: 20:08, 12 December 20 »
that's some serious news!
Well, I do not know if they will use my cart though. I think Augusto most likely will, but about Rhino, I am not that sure.

Offline reidrac

  • Supporter
  • 6128 Plus
  • *
  • Posts: 946
  • Country: gb
  • Trying to gamedev!
    • index.php?action=treasury
    • usebox.net
  • Liked: 1718
  • Likes Given: 952
Re: ROM board with a tiny DMA engine
« Reply #105 on: 20:14, 12 December 20 »
My bad then!

I kind of recall someone mentioning DMA re: Lady Phoenix and scroll, so I assumed it was based on your ROMBA. I'm probably wrong and it wasn't even using DMA :D

EDIT: that's right, they were using the Dandanator, as explained here: https://www.retromaniac.es/2018/04/tres-juegos-para-tres-grafistas.html
« Last Edit: 20:21, 12 December 20 by reidrac »
Released The Return of Traxtor, Golden Tail, Magica, The Dawn of Kernel, Kitsune`s Curse and Brick Rick for the CPC.

If you like my games and want to show some appreciation, you can always buy me a coffee.

Offline XeNoMoRPH

  • Supporter
  • 6128 Plus
  • *
  • Posts: 910
  • Country: es
  • " ... in space no one , can hear you scream ... "
  • Liked: 2019
  • Likes Given: 1449
Re: ROM board with a tiny DMA engine
« Reply #106 on: 22:04, 12 December 20 »
Well, I do not know if they will use my cart though. I think Augusto most likely will, but about Rhino, I am not that sure.
Vespertino, the next game from Batman Group game will surely use cartridge ... according to these words of the Rhino himself

https://www.cpcwiki.eu/forum/games/new-game-from-bg-games-it-will-be-announced-tonight/msg174201/#msg174201
your amstrad news source in spanish language : https://auamstrad.es

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.196
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 1010
  • Likes Given: 2456
Re: ROM board with a tiny DMA engine
« Reply #107 on: 22:33, 12 December 20 »
Well, who will build a batch of this great card?
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.12.29)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.28)

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #108 on: 18:41, 13 December 20 »
I do not own the equipment required for producing these in series, so that's the reason I have absolutely no problem if anyone wants to produce the carts and take the money.
But if nobody wants to make them, I can try building a batch. But for that to happen, it needs to pick interest, so I can send the PCBs to an assembler without the cost getting too high (as you might know, cost scales down with volume, making a few boards is very expensive, making a lot of them is cheap). And that is the reason I wanted a game released for these beauties. Because it might not be very interesting buying one if you have nothing special to run on it.

It would also be interesting to know how much people is willing to pay for the cart, so I can have an idea of how many boards I need to assemble to meet the price point.

Offline Bryce

  • The Hardware Guy.
  • Supporter
  • 6128 Plus
  • *
  • Posts: 11.969
  • Country: wf
  • It's not broken, it just hasn't been fixed yet.
    • index.php?action=treasury
  • Liked: 4351
  • Likes Given: 456
Re: ROM board with a tiny DMA engine
« Reply #109 on: 10:32, 14 December 20 »
I have all the equipment to build these. If there is enough interest I could run a small batch.

Bryce.

Offline XeNoMoRPH

  • Supporter
  • 6128 Plus
  • *
  • Posts: 910
  • Country: es
  • " ... in space no one , can hear you scream ... "
  • Liked: 2019
  • Likes Given: 1449
Re: ROM board with a tiny DMA engine
« Reply #110 on: 12:07, 14 December 20 »
I have all the equipment to build these. If there is enough interest I could run a small batch.

Bryce.
OK, here we go !! .. 1  Romba for me, please  :D
« Last Edit: 12:52, 14 December 20 by XeNoMoRPH »
your amstrad news source in spanish language : https://auamstrad.es

Offline valfac

  • Speccy
  • *
  • Posts: 2
  • Country: es
  • Liked: 6
  • Likes Given: 1
Re: ROM board with a tiny DMA engine
« Reply #111 on: 12:54, 14 December 20 »
Hi,


Im interested too. Please one for me.


Thanks!




Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.196
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 1010
  • Likes Given: 2456
Re: ROM board with a tiny DMA engine
« Reply #112 on: 00:10, 15 December 20 »
And finally added the programming guide, explaining how CPC developers can program the thing. Read it here:

https://gitlab.com/doragasu/romba/-/blob/master/PROGRAMMING.md

Eventually I had time to look at the documentation, it's great. But maybe I did miss a bit...

Missing:
- Is it possible to copy from RAM to RAM
- How do I program the ROM content (8 MB of ROM)
« Last Edit: 00:21, 15 December 20 by GUNHED »
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.12.29)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.28)

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #113 on: 20:00, 15 December 20 »
@GUNHED Thanks for looking to the docs.

It is not possible to copy from RAM to RAM, currently you can only copy from ROM to RAM, or from ROM to DAC (for sound playback).To program the ROM you need two things:
* The cartridge programmer that is plugged to the USB port of your PC.
* The programmer software (romba-cli).


The programmer software has a separate README.md file explaining how to read and write from the ROM, you can read it here:https://gitlab.com/doragasu/romba/-/blob/master/src/romba-cli/README.md

EDIT: Above I wrote "it is not possible to copy from RAM to RAM", but it is not true. It is in fact possible, but it is not implemented. It could be done with a bigger CPLD, but that would increase the price, and also speed would be half the one on ROM to RAM copy: instead of copying one byte per microsecond, you would get one byte copied each two microseconds.
« Last Edit: 20:19, 15 December 20 by doragasu »

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #114 on: 17:42, 27 December 20 »
Today I have good news and bad news.

The good news is that ROMBA has reached version 1.0. I have implemented a new register (CONF) with the bits needed to be able to write to the flash chip from the CPC itself. And with this, the CPLD usage has reached 100%, it's filled to the brim. You can read the details in the programming documentation.


The bad news is that today I checked the CPLD at Digikey (LAMXO256C or the compatible LCMXO256C) and they have raised the price from near 2 Eur to 7 Eur. That's a f*cking 3.5x price increase!!! I have been buying these CPLDs since 2017 and they always costed less than 2 Eur! I hope this is temporal due to COVID or other problems, and they go back to their old price, the new one does not make sense. For 7 Eur you can put there a Spartan 3 FPGA with a whole lot more logic.
« Last Edit: 17:49, 27 December 20 by doragasu »

Offline roudoudou

  • 6128 Plus
  • ******
  • Posts: 906
  • Country: fr
    • urban exploration
  • Liked: 1237
  • Likes Given: 765
Re: ROM board with a tiny DMA engine
« Reply #115 on: 19:01, 27 December 20 »
Ok for spartan 3 ans more fonctions like
Dma
2 more AY
1 sid chip
FPU unit for CPC
...
 :P
use RASM, the best assembler ever made :p

I will survive

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.196
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 1010
  • Likes Given: 2456
Re: ROM board with a tiny DMA engine
« Reply #116 on: 00:42, 28 December 20 »
The good news is that ROMBA has reached version 1.0. I have implemented a new register (CONF) with the bits needed to be able to write to the flash chip from the CPC itself.
This is awesome!!!  :) :) :)
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.12.29)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.28)

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.196
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 1010
  • Likes Given: 2456
Re: ROM board with a tiny DMA engine
« Reply #117 on: 16:48, 28 December 20 »
Ok for spartan 3 ans more fonctions like
Dma
2 more AY
1 sid chip
That already exists, use the PlayCity and the SpeakSID.
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.12.29)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.28)

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.196
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 1010
  • Likes Given: 2456
Re: ROM board with a tiny DMA engine
« Reply #118 on: 16:50, 28 December 20 »
The bad news is that today I checked the CPLD at Digikey (LAMXO256C or the compatible LCMXO256C) and they have raised the price from near 2 Eur to 7 Eur.
Well, maybe then it's better to use the bigger FPGA and enable RAM to RAM DMA. Even with 2 us per byte this is super awesome. Most software does use copy/move of RAM blocks way more often than from ROM to RAM.  :)
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.12.29)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.28)

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #119 on: 20:46, 28 December 20 »
With an FPGA I should be able to implement RAM to RAM copy and more DMA channels. And I could make DMA channels more complex. For example the current DMA engine is linear, but I could easily implement a 2D engine able to copy rectangular zones. I have not investigated if it is possible to map the screen RAM to external RAM. If possible, adding also some RAM to the cart could allow the DMA to implement some masking capabilities (e.g. skip copying a pixel according to a bitmap mask). Without the on-cart RAM some masking could also be added, but it would be byte per byte instead of pixel per pixel (i.e. on mode 0 each mask bit would be applied to two pixels, while on mode 1 it would be applied to four pixels).

Anyway I do not think I will be developing this, at least in a short time frame. In my experience, the more complex I make a cart, the less people interested in using it! A bit out of topic, but in addition to this CPC cart, I have developed a WiFi enabled Megadrive cart with a well documented API to ease its usage, three different NES cartridges (one of them still not public, the others can be found here and here) and a GameBoy/GameBoy Color cartridge with MBC5 support. Only the most simple designs (the NES cartridge without mapper, the NES cartridge with discrete mapper and the Megadrive cartridge without the WiFi parts assembled) have been used so far. The Megadrive cart with WiFi has not picked a lot of interest from devs, and the same goes for the NES cart with MMC3 support (extended up to 128 megabits) and the MBC5 Gameboy cart. So with each cart I complete, I feel less push to spend time making complex carts!
« Last Edit: 20:50, 28 December 20 by doragasu »

Offline GUNHED

  • 6128 Plus
  • ******
  • Posts: 2.196
  • Country: de
  • Reincarnation of TFM
    • FutureOS - The quickest OS for the CPC and Plus
  • Liked: 1010
  • Likes Given: 2456
Re: ROM board with a tiny DMA engine
« Reply #120 on: 02:08, 29 December 20 »
With the CPC the Gate Array / CRTC can only use the first 64 KB for video memory. That's hardwired.

The Z80 can access lots of KB's, but the Video-RAM must be inside the first 64 KB main memory.


Anything else: Awesome!!!
http://futureos.de --> Get the revolutionary FutureOS (Recent update: 2020.12.29)
http://futureos.cpc-live.com/files/LambdaSpeak_RSX_by_TFM.zip --> Get the RSX-ROM for LambdaSpeak :-) (Updated: 2019.08.28)

Offline doragasu

  • CPC664
  • ***
  • Posts: 56
  • Country: es
  • Liked: 67
  • Likes Given: 18
Re: ROM board with a tiny DMA engine
« Reply #121 on: Yesterday at 21:12 »
Well, this might be the cause for the price of the CPLD I am using to skyrocket: https://hackaday.com/2021/01/18/pandemic-chip-shortages-are-shutting-down-automotive-production/
I am using an automotive part (LAMXO256C) so this could be perfectly the cause. I suppose things will get back to normal eventually.