You will not be able to post if you are still using Microsoft email addresses such as Hotmail etc
See here for more information viewtopic.php?f=20&t=7296
BOOKMARK THIS PAGE !
https://www.exxosforum.co.uk:8085/IP_CHECK/
You can unban yourself if needed. It also sends me reports to investigate the ban.
DO NOT USE MOBILE / CGNAT DEVICES WHERE THE IP CHANGES CONSTANTLY!
At this time, it is unfortunately not possible to whitelist users when your IP changes constantly.
You may inadvertently get banned because a previous attack may have used the IP you are now on.
So I suggest people only use fixed IP address devices until I can think of a solution for this problem!

Using an RA8876 (LCD controller) as a Hi-res graphics card?

General discussions or ideas about hardware.
keli
Posts: 97
Joined: 22 Aug 2017 13:34

Using an RA8876 (LCD controller) as a Hi-res graphics card?

Post by keli »

I recently found this Arduino shield that can achieve hi-res HDMI output: http://www.techtoys.com.hk/BoardsKits/H ... shield.htm



It works by using a smart LCD controller to generate the graphics and then another chip that encodes the RGB data into a HDMI signal.
The microcontroller connected tot he shield can send high level commands to the RA876 chip such as draw line, copy raster and render text, so the performance is not limited by the slow controller.

The RA8876 allows communicating with it through different means. The Arduino boards use SPI, but it also provides 8 and 16-bit parallel interfaces (6800 and 8080 bus protocols.) -- The makers of the shield even added a header for accessing these alternative communication interfaces.

So in theory, one could use the shield directly in combination with an Atari ST. In order to do that, one would have to create an additional board that:
  • Does address decoding for accessing the registers on the RA8876.
  • Contains level converting buffers for the data bus, as the RA8876 signals are 3.3V only.
  • Optional: I2C chip to talk to the HDMI converter, as otherwise the resolution is hardcoded at the default setting stored on the board's serial ROM.
  • Write a driver for fVDI to use the card.
The biggest challenges for a driver is that the frame buffer will not be directly mapped into the address space of the 68k processor. Everything will have to go through the registers of the RA8876, but then high level drawing operations can be implemented using only a few writes. (Set coordinates and color registers, then tell the RA8876 to draw a primitive, etc.) -- One could even think of this as "VDI implemented in hardware" ;)

The chip even has an internal blitter for copying data around on the board's SDRAM chip (and even from flash ROM.)
It has a mode where the operation is started, and the controller supplies the source data through the interface -- All shifting and palette lookups will be handled by the RA8876.

Is this something people would be interested in?
User avatar
Cyprian
Posts: 538
Joined: 22 Dec 2017 09:16
Location: Warszawa, Poland

Re: Using an RA8876 (LCD controller) as a Hi-res graphics card?

Post by Cyprian »

keli wrote: 08 Aug 2019 12:32 Everything will have to go through the registers of the RA8876, but then high level drawing operations can be implemented using only a few writes.
what about bitmap graphics? is it possible to push it somehow to the RA8876 RAM? and how fast?
ATW800/2 / V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
keli
Posts: 97
Joined: 22 Aug 2017 13:34

Re: Using an RA8876 (LCD controller) as a Hi-res graphics card?

Post by keli »

Cyprian wrote: 09 Aug 2019 17:54 what about bitmap graphics? is it possible to push it somehow to the RA8876 RAM? and how fast?
Yes you basically either set up a memory destination or a bitBlit operation with one source set to "MCU", and then just write consecutive words to the data register. The RA8876 increments the destination address automatically, so it should be possible to push data pretty fast.

Edit: I found a link to an API spec for the chip: http://www.raio.com.tw/data_raio/RA8876 ... .2_eng.pdf
User avatar
Cyprian
Posts: 538
Joined: 22 Dec 2017 09:16
Location: Warszawa, Poland

Re: Using an RA8876 (LCD controller) as a Hi-res graphics card?

Post by Cyprian »

nice, we can use then the BLiTTER to copy data to the data register.
I have one concern about the price:
https://www.buydisplay.com/default/seri ... 76-for-due
$68 only for that module and probably should be added/buy an interface between ST and that module
ATW800/2 / V4sa / Lynx I / Mega ST 1 / 7800 / Portfolio / Lynx II / Jaguar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
DDD HDD / AT Speed C16 / TF536 / SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
http://260ste.atari.org
keli
Posts: 97
Joined: 22 Aug 2017 13:34

Re: Using an RA8876 (LCD controller) as a Hi-res graphics card?

Post by keli »

Cyprian wrote: 10 Aug 2019 22:11 nice, we can use then the BLiTTER to copy data to the data register.
I have one concern about the price:
https://www.buydisplay.com/default/seri ... 76-for-due
$68 only for that module and probably should be added/buy an interface between ST and that module
That's a different module that includes an LCD screen. The one I linked to is $49 and has a HDMI encoder instead.

And yes as I mentioned in the first post, someone needs to design an adapter board for the ST.
keli
Posts: 97
Joined: 22 Aug 2017 13:34

Re: Using an RA8876 (LCD controller) as a Hi-res graphics card?

Post by keli »

I've attached a schematic of what I have done so far.

I still need to add capacitors and a way to get power to the adapter board. (Which needs 3.3V as well as 5V)

... and then there is the issue of laying things out and soldering everything. Sadly my ST and soldering iron is in storage, as I don't have room for it at the moment. SIgh, some day I'll get myself a litte retro-lab :)

Note that I designed this as a board that can be plugged into the Mega ST extension port, but since that is basically the pinout of the 68000 it could also be the basis for an adapter board that piggibacks on top of the CPU.
You do not have the required permissions to view the files attached to this post.

Return to “HARDWARE DISCUSSIONS”

Who is online

Users browsing this forum: CCBot and 10 guests