14 March 2019, 17:16 | #21 | ||
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
Quote:
Quote:
we do not know how Denise exactly works internally, but planar modes in general work like layers on top of each other. So for Denise with 2 bitplanes it might work like looking at the first bit, if 0 it has to be one of only two registers, if 1 it must be one of two other registers ... the second bit than decides which of them even if this second bit only arrives a clock cycle later... In a chunky mode the ram-dac chooses the value stored on the position given by the 8-bit value. But that is just my personal theory why Commodore never managed to include a chunky mode.... The other reason is of course, that most Blitter operations are pretty useless on chunky pixels in RAM ... ok, copying blocks still works. |
||
14 March 2019, 17:42 | #22 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
Encoding is described in later HRM editions ECS chapter. Quote:
(Why does everyone always want to decap chips that have very little unknowns. OCS or A1000 Agnus would be best candidate, less complex than later models which added features that are easy enough to understand without decapping. Even Paula's full internals would be more interesting than Denise!) |
||
14 March 2019, 17:54 | #23 | ||
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
Quote:
Still not entire clear why the chip internal ram is so slow... MOS was able to produce faster chips like the VDC in the C128 @16Mhz in 85. Quote:
of course all of them should be done! Thank you for your insight! Always great! Anything you would consider as missed opportunity? |
||
14 March 2019, 18:21 | #24 |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
An other nice idea, again from the IIgs (but my also available on other platforms):
A "sticky color" mode. You define one entry (eg value 0000) that will not change the previous color, but repeat it until some other value comes along. So putting "red" in the fist pixel of a line followed by zero in all other pixels would make the whole line red. This gives you a kind of automatic fill mode. Imagine a vector graphic game or demo, where you only have to draw the wireframe and all in between gets filled for free. To change the frame, you only have to zero out the previous wireframe and drop a new one, since all pixels in between stay at zero in RAM. |
15 March 2019, 15:05 | #25 | ||
WinUAE developer
Join Date: Aug 2001
Location: Hämeenlinna/Finland
Age: 49
Posts: 26,505
|
Quote:
"Culprit" was most likely the usual: MOS/CSG was (very?) good in early to mid 1980s but when chip technology improvements started to accelerated quickly, they didn't keep up. Quote:
Blitter and DMA slot priority/sequencer schematics are the main thing that I really want to see someday.. |
||
15 March 2019, 15:45 | #26 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
|
No need for too complicated things with very special case modes. A charmode somehow would have been useful in games coming from C64, bitplanes was quite demonstrably the right choice in 1985 paired with the hardware performance, and AGA should have come in 1990 with a couple extra chunky mode resolutions, and that alone would have covered all the needs for the future.
Dreaming up a future graphics card is a different thing, although since RTG cards you'd be looking at a Denise mod. But the problem that has plagued expansions and mods is if they aren't adopted by enough people they die and if two major standards appear, platforms and platform support in software are divided for each. So the problem for new cards is adoption. And chunky you can get, "just by putting in an RTG card in your A4000" When that combo is easy to get and not too expensive, a common driver feature level can be supported for the many. |
15 March 2019, 15:59 | #27 | ||
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quote:
Quote:
Also I keep my eye on Visual6502, they have an Agnus and plan to recap it! |
||
15 March 2019, 17:23 | #28 | ||
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
Quote:
OCS with max. 14 MHz is 1985 like the VDC with 16Mhz So yes: the VDC is faster. And according to the previous comment only the max. pixel-clock was doubled in ECS, leaving most of the chip untouched running on lower frequency, what leads to the insufficient bandwidth within it. the point here: a chunky 8-bit mode would not have worked on OCS/ECS even with more color-registers. a chunky 4-bit mode with 16 colors could have been done, but would it been useful? Quote:
Any thoughts? Last edited by Gorf; 15 March 2019 at 17:44. |
||
15 March 2019, 17:39 | #29 | |||
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
Quote:
It would have allowed for even cheaper conversions without any progress... A tilemap mode is something people are wishing for here from time to time and it is a little bit different to a charmode ... but I do not see how a classical tile map mode would fit into the design easily. That said, I do have an idea that comes quite close and that I would call "stitcher mode", as it could stitch multiple parts of a screen together without blitting. more later. Quote:
Quote:
|
|||
15 March 2019, 18:38 | #30 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
|
Well I do mention Denise mods, and they would have the same struggle for adoption as graphics card.
As an example of a special case mode, back in the day when I started coding filled vectors, I dreamed up a mode where I sacrificed black and made it repeat the previous color. This would make fills completely free and linedraw selective at any bitplane depth, the opposite of HAM vectors. But I knew almost nothing about electronics then, so I couldn't have made one, let alone "modify a chip". You could have said it to me twenty times and got a blank stare or a wild cry of, "Liar!" back... chips were magical products that came from chip manufacturers But we can dream. It's always allowed to dream, because some dreams become reality. We've seen this, we just don't know which ones will. |
15 March 2019, 19:01 | #31 | ||
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quote:
Quote:
|
||
15 March 2019, 19:09 | #32 |
Moderator
Join Date: Nov 2004
Location: Eksjö / Sweden
Posts: 5,602
|
The ST used bitplanes, they just wanted to skimp on bitplane pointers cos registers cost money So you have 4 bitplanes on all the time and they interleave the words with the plane bits sequentially instead (a very 16-bit design thought(!)).
|
15 March 2019, 19:11 | #33 | |||
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
Quote:
The Apple IIgs (1986) had such a mode. Quote:
FPGAs are still kind of magical, aren't they? Quote:
Somehow I find it more interesting what was and what could have been done with the limited technology back than ... modern hardware has not enough restrictions and does not need such clever tricks anymore. But we are not the only ones ... modern computers and hardware did become only easier on the surface, while the systems itself did become impossible to understand and manage for a single person. And more and more people long for things that bring back the joy of computing of the early days. Last edited by Gorf; 15 March 2019 at 19:28. |
|||
15 March 2019, 19:14 | #34 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
Quote:
Only really useful for ST compatibility, or am I missing some other features? |
|
15 March 2019, 19:18 | #35 |
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Hmmm, I don’t really understand the ST, it seems like an 8bit machine with a 68000
|
15 March 2019, 19:20 | #36 | |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
Quote:
To get the first pixel of a 16 colour screen you still have to read 4 words (64 bits) first. A 4bit chunky mode is different, storing a pixel in 4-bit nibbles. (I think the Neo-Geo used this mode...) |
|
15 March 2019, 19:46 | #37 |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
next idea, that would be "easy" to implement: mirrored sprites.
As sprites are (line-wise) read before the other display data and stored in buffers, it should be not too hard to change the endianness of that buffer and read a sprite-line from the end. normal: 0-1-2-...-14-15 reversed: 15-14-...-2-1-0 and allow 32 pixel wide symmetrical sprites: 0-1-2-...-14-15 | 15-14-...-2-1-0 there was an interesting thread here about using sprites as a third playfield in the background. It works, but is somewhat complicated. It could be assisted by allowing self repeating sprites (without copper interaction) So next to the sprite position you would tell Denise to mirror and/or repeat a sprite until this is overwritten by an other sprite (or store a number how many times the sprite should be repeated) Last edited by Gorf; 15 March 2019 at 19:51. |
15 March 2019, 21:15 | #38 | ||
Registered User
Join Date: Jan 2017
Location: London, UK
Posts: 433
|
Quote:
Quote:
|
||
15 March 2019, 21:41 | #39 |
Registered User
Join Date: May 2017
Location: Munich/Bavaria
Posts: 2,294
|
the benefit of this ST way of fetching data is simply that you do not need to jump around in memory and only need one pointer to the start of your screen.
All is read in a consecutive way... This scheme would then also be beneficial for 32bit or 64bit wide fetches (as in AGA). Where our Lisa has to fetch up to eg. 4x64bit -> 256 bits into buffers before showing the first pixel of a 4-bitplane screen this could be done in just one single fetch with interleaved bitplanes. A disadvantage is of course more complicated Bllitter operations. So the transistors one would save by getting rid of the buffers would need to be spent on a more complex Blitter (or more instructions in code). Last edited by Gorf; 15 March 2019 at 22:04. |
16 March 2019, 00:21 | #40 |
Registered User
Join Date: May 2013
Location: Grimstad / Norway
Posts: 839
|
I never got why the Copper is every other access slot. Logic timing limits?
And the Blitter could have had a mode where it used hw sprite data as input. Or is that actually possible for 2bpl mode with the right minterm? (Do you want more from my list of "missed opportunities in OCS"? :-) |
Currently Active Users Viewing This Thread: 1 (0 members and 1 guests) | |
Thread Tools | |
Similar Threads | ||||
Thread | Thread Starter | Forum | Replies | Last Post |
Indivision AGA all Display modes test and problems | doble07 | support.Hardware | 9 | 03 December 2009 08:56 |
Multisync CRT monitors that will display all Amiga modes? | mingle | support.Hardware | 7 | 21 December 2008 19:08 |
Problem with display modes (VGA) | Zombie13 | New to Emulation or Amiga scene | 4 | 01 July 2005 18:12 |
Custom display modes with RivaTuner | §ane | support.WinUAE | 6 | 02 October 2002 06:54 |
Custom Display Modes... | P-J | support.WinUAE | 3 | 15 July 2001 11:23 |
|
|