True 16MHz Mode

New sub forum for version 2 of the STF remake board.
Post Reply
User avatar
exxos
Site Admin
Site Admin
Posts: 7643
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: True 16MHz Mode

Post by exxos » Mon May 27, 2019 11:55 am

Smonson wrote:
Mon May 27, 2019 11:45 am
Med res with 16 colours is just mode 0 at double speed,
ah yes of course is it.
Smonson wrote:
Mon May 27, 2019 11:45 am
and 640x400x16 is mode 0 at quadruple the speed, which is pushing your luck a bit :lol:
Once we get the FPGA core running... ;)
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Cyprian
Posts: 131
Joined: Fri Dec 22, 2017 9:16 am

Re: True 16MHz Mode

Post by Cyprian » Mon May 27, 2019 12:02 pm

exxos wrote:
Mon May 27, 2019 11:55 am
Smonson wrote:
Mon May 27, 2019 11:45 am
Med res with 16 colours is just mode 0 at double speed,
ah yes of course is it.
Smonson wrote:
Mon May 27, 2019 11:45 am
and 640x400x16 is mode 0 at quadruple the speed, which is pushing your luck a bit :lol:
Once we get the FPGA core running... ;)
should be memory clocked at 64MHz for 640x400x16 progresive?
Lynx II / Jaugar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Steem SSE / Aranym / Saint
http://260ste.appspot.com/

User avatar
Smonson
Posts: 275
Joined: Sat Oct 28, 2017 10:21 am

Re: True 16MHz Mode

Post by Smonson » Mon May 27, 2019 12:04 pm

The FPGA core for the Cyclone-II can in theory go up to nearly 1GHz. For example, the HDMI generation runs at 320MHz. It's the rest of the system that I'm worried about - the pixel clock for 640x200 is 32MHz, and for mode 0 you need 4 shifter words every 16 pixels, so that's a decently fast rate.

User avatar
exxos
Site Admin
Site Admin
Posts: 7643
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: True 16MHz Mode

Post by exxos » Mon May 27, 2019 1:03 pm

Cyprian wrote:
Mon May 27, 2019 12:02 pm
should be memory clocked at 64MHz for 640x400x16 progresive?
Yeah, Troed did a table of all this somewhere in his tread. Of course it needs the bandwidth to RAM to output the data fast enough, but also needs a shifter capable of using the bandwidth.

AFAIK, if the pixel clock on the shifter stays the same, then we are locked to 640px horizontal (not including overscan) . Really we don't want to increase that so much as the vertical, I mean 1024x200x4 would be a bit silly for example.

So we basically go from 320x200x16 to 640x200x16 which is double bandwidth needed. So 640x200x16 would need double bandwidth again. At these points the shifter pixel clock is still running at stock speeds.

Or we put the bandwidth into colours and have 320x200x256 for example. Of course if we had double bandwidth again, we could have 640x200x256 for example.

In terms of "mono" 640x400x2, double bandwidth would be 640x400x4 , or x4 bandwidth 640x400x16.. Of course this is why we really need a good shifter to allow all these funky modes.. but we are a long way off x4 bandwidth (32Mhz system) as we only just started with double bandwidth (16mhz system).

Long long long term idea.. if we had a 32bit system and a shifter to match, we could transfer the data double speed again ( in effect a 64MHz system). In that case 640x400x256 would be possible.. but its only a dream of getting that far with the project.

There may be other 16bit options of just running RAM/MMU at 100MHz with the shifter, and using a 50MHz CPU.. but would need a lot of fast RAM to keep up as well. But I think going to 32bit after 50MHz is probably a better direction to go in.. but I think it will be unlikely the project will ever get that far.
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
Smonson
Posts: 275
Joined: Sat Oct 28, 2017 10:21 am

Re: True 16MHz Mode

Post by Smonson » Mon May 27, 2019 1:22 pm

You can only double the horizontal or vertical rate though - and 640x800 seems just as silly as 1280x200. Although 1280x400 in mono might be alright, it'd have the same weird aspect ratio as medium rez, only with a font that isn't designed for it.

If you really wanted to get an 800-line mode, it could possibly be done on the HDMI mod board by generating 2 physical lines from the two halves of each software line. Hsync from the ST is ignored in the HDMI mod anyway.

Cyprian
Posts: 131
Joined: Fri Dec 22, 2017 9:16 am

Re: True 16MHz Mode

Post by Cyprian » Mon May 27, 2019 1:23 pm

If I'm not wrong, every write (CPU/DMA/BLiTTER) to the ST ram goes via the CPU data bus .
Maybe the FPGA would intercept every write to the CPU bus, and mirror it in its internal ram. That allows serve any video data from that FPGA ram.
Lynx II / Jaugar / TT030 / Mega STe / 800 XL / 1040 STe / Falcon030 / 65 XE / 520 STm / SM124 / SC1435
SDrive / PAK68/3 / Lynx Multi Card / LDW Super 2000 / XCA12 / SkunkBoard / CosmosEx / SatanDisk / UltraSatan / USB Floppy Drive Emulator / Eiffel / SIO2PC / Crazy Dots / PAM Net
Hatari / Steem SSE / Aranym / Saint
http://260ste.appspot.com/

User avatar
exxos
Site Admin
Site Admin
Posts: 7643
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: True 16MHz Mode

Post by exxos » Mon May 27, 2019 2:11 pm

Smonson wrote:
Mon May 27, 2019 1:22 pm
You can only double the horizontal or vertical rate though - and 640x800 seems just as silly as 1280x200. Although 1280x400 in mono might be alright, it'd have the same weird aspect ratio as medium rez, only with a font that isn't designed for it.

If you really wanted to get an 800-line mode, it could possibly be done on the HDMI mod board by generating 2 physical lines from the two halves of each software line. Hsync from the ST is ignored in the HDMI mod anyway.
I didn't mention 800 lines, only 200 and 400...
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
exxos
Site Admin
Site Admin
Posts: 7643
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: True 16MHz Mode

Post by exxos » Mon May 27, 2019 2:23 pm

Cyprian wrote:
Mon May 27, 2019 1:23 pm
If I'm not wrong, every write (CPU/DMA/BLiTTER) to the ST ram goes via the CPU data bus .
Maybe the FPGA would intercept every write to the CPU bus, and mirror it in its internal ram. That allows serve any video data from that FPGA ram.
You would basically be the same as running the system from fast ram which is bolted on top of the CPU, you basically end up adding a graphics card on top of the CPU kinda thing.. But at that point you need drivers and the whole new system architecture, which would not really be compatible with the stock system any more.. But even so, the CPU is bottlenecked to 50MHz.. FPGA MMU & SHIFTER could run much faster assuming it had fast enough RAM.

The bus buffers/latches basically hold off the CPU from reading the bus.. Which are controlled by the GLUE & MMU.. they "Take priority" over the bus as video has to have data when it needs it. The CPU simply gets the time "left over" from those accesses. Of course if the video system is running many times faster than CPU, is in itself would actually cause issues, it may actually need "dual port ram" to work... Or if we was running the MMU at 100Mhz, the CPU may never never get any time to do anything... so the system would actually have to have some buffering where the data is output to a buffer at say 200MHz to allow the CPU 50% of the time to do something.. All this is just really just thinking out loud and speculation, it is unlikely we will ever need to discuss all this as we are really getting onto designing a completely new architecture , which I really don't want to start going down that road any time soon (and probably won't ever happen).

What we can however do is as we have already done, double the RAM speed to 16MHz, and when we get FPGA running, 32MHz. anything which comes after that would likely be several years down the road, at which point someone else can figure all that out as I don't want to be doing this stuff forever :)

Actually reminds me I should hook up the FPGA shifter to the 16MHz machine soon and do some more tests with the 256 colour stuff :)
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

User avatar
Smonson
Posts: 275
Joined: Sat Oct 28, 2017 10:21 am

Re: True 16MHz Mode

Post by Smonson » Mon May 27, 2019 3:02 pm

exxos wrote:
Mon May 27, 2019 2:11 pm
I didn't mention 800 lines, only 200 and 400...
Right, I was only mentioning it because you were talking about wanting to increase the vertical density rather than the horizontal. Since 400 lines is already possible, I assumed you meant 800 lines vertical.

User avatar
exxos
Site Admin
Site Admin
Posts: 7643
Joined: Wed Aug 16, 2017 11:19 pm
Location: UK
Contact:

Re: True 16MHz Mode

Post by exxos » Mon May 27, 2019 3:11 pm

Smonson wrote:
Mon May 27, 2019 3:02 pm
I mentioning it because you were talking about wanting to increase the vertical density rather than the horizontal. Since 400 lines is already possible, I assumed you meant 800 lines vertical.
No sorry, I was just meaning from 200 "doubling" to 400.... Mono can do 640x400, but I assume would need a new shifter to cope with moving that to 4 and 16 colours.

Either that or taking low res from 320x200x16 to 640x200x16 (16Mhz machine) then doubling that to 640x400x16 (32mhz machine) , but again I think it would need a new shifter. Video stuff is more your thing than mine :)
4MB STFM 1.44 FD- VELOCE+ 020 STE - 4MB STE 32MHz - STFM 16MHz - STM - MEGA ST - Falcon 030 CT60 - Atari 2600 - Atari 7800 - Gigafile - SD Floppy Emulator - PeST - HxC - CosmosEx - Ultrasatan - various clutter

https://www.exxoshost.co.uk/atari/ All my hardware guides - mods - games - STOS
https://www.exxoshost.co.uk/atari/last/storenew/ - All my hardware mods for sale - Please help support by making a purchase.

Post Reply