So ECS apps will run on OCS hardware? Than what was the point for ecs?
OK there's a lot of misinformation in this thread! Here's the rundown:
ECS adds, to my knowledge, six new features:
WITH ONLY FAT AGNUS UPGRADE:
1. Supports larger Chip Memory (addressable by custom chipset). Old Agnus/Fat Agnus chips allowed only 512k to be addressable. ECS Fat Agnus supports 1MB in one version (most common -- shipped in late-model A500s), 2MB in the more expensive variation (this variation shipped stock in the A500+, A600, and A3000). This lets you have more audio/video data in memory without having to swap it out between fast RAM. It lets you have more and larger screens open, more windows, etc.
There are actually a small-but-significant number of games that supported improved audio quality and subtly improved graphics if you had at least 1MB of Chip (plus at least a small amount of other RAM). The improvements were small, but I've encountered some nonetheless that did do this.
Also, there's a VERY small number games (probably can count on one hand) that *require* more Chip RAM but don't require AGA. Like maybe 2-3. The only one I can remember right now is Dungeon Master II. These games were actually usually labeled as "AGA-only" by the publishers because they were worried that people with OCS systems (and people with ECS Agnus but still had only 512M Chip RAM) would be confused and not understand why it didn't work.
2. ECS Fat Agnus has a new blitter that supports blitting twice as much data in a single operation. To my knowledge, there is NO software that actually requires this feature. Also, I don't think there are any hardware-banging games that even take advantage of this feature. Software that uses OS function calls to move data around may get a small speedup from this.
3. Software programmable vertical sync. In OCS, your vertical refresh is permanently fixed at 50Hz or 60Hz, depending on whether or not you had a PAL or NTSC system. No games use this. It does, however, have the important benefit of letting you change your vertical refresh between 50Hz and 60Hz to support PAL/NTSC versions of games on opposite systems. If you have an NTSC system this lets you play PAL games without cutting off the bottom of the screen, and without vblank-timed effects (often music) from running too fast. On PAL systems it lets you run NTSC games without effects running too slow, and without "squashing" the screen onto the top of the display.
In addition, the programmable vertical refresh lets you create interesting screenmodes when you combine it with the ECS Denise (see below).
WITH BOTH ECS AGNUS *AND* ECS DENISE (shipped stock in A500+, A600, A3000):
4. Software programmable horizontal sync. OCS Denise has a fixed horizontal sync of approximately 15Khz. With ECS Denise you had full control of the sync timings, you can create arbitrary screenmodes with varying refresh rates and geometries. AmigaOS ships with a number of these -- my favorite being Euro72, which lets you have an interlaced display at 72Hz which helps reduce visible flicker.
5. High-frequency audio. Paula's maximum sample rates are determined by the rate of DMA fetches, which is determined based on the video horizontal sync rate. On the fixed OCS 15Khz sync, this allowed a maximum audio sample rate of 28Khz. With ECS Denise you can let Paula push over 56Khz audio rate if you run in a screenmode with 31Khz video horizontal sync. This is a side-effect of how Paula works, and Paula itself has no differences between OCS and ECS. For reference, audio CDs run at 44.1Khz and DAT runs at 48Khz. Coupled with the 14-bit channel-combining hack, you can get what is *almost* CD-quality audio (2 14-bit channels at 44.1Khz) on ECS.
6. Faster pixel clock. OCS and ECS share the same maximum DMA bandwidth. OCS supported two pixel clocks -- 140ns and 70ns (called low-res and high-res). Because DMA bandwidth does not actually go up, in 140ns you could have video up to 6 bits wide (64-color EHB mode, and HAM-6) and in 70ns you could have up to 4 bits (16-color mode). 140ns mode actually had enough bandwidth for 8 bits, but Denise can only handle 6 maximum. With a full ECS chipset, there is an additional 35ns pixel clock (called Super Hi-Res) that supports a maximum of 2 bits (4-color mode). At 35ns you could have 1280+ horizontal pixels at 15Khz horizontal refresh and 640+ horizontal pixels at 31Khz horizontal refresh, etc.
AmigaOS shipped with premade screenmode definitions that took advantage of the 35ns pixel clock. These included the "Dbl" modes, "Productivity", and the "Super72" 800x600 mode. Since you're limited to only 4 colors at 35ns pixels though, in practice not many people used these modes until AGA came out with increased DMA bandwidth (allowing 8 bits at all three pixel clock rates).
...
There is basically no software out there that requires the 3 features enabled by ECS Denise, though a lot of audio software benefited immensely from the higher-bitrate audio you could get.
Upgrading:
ECS Fat Agnus and ECS Denise are drop-in replacements that work out of the box on all OCS systems except for the A1000 (which used the "Thin" Agnus -- there is no ECS Thin Agnus). Dropping them in will enable all the extra features instantly except for the extra Chip Memory.
On the A500 and A1500/A2000/A2500, the Fat Agnus socket's address lines need to be slightly reconfigured in order for the system to map the second bank of 512k on the chipmem bus into the custom chipset address space (i.e. the range that Fat Agnus can address). On older mobo revisions this involved modifying circuit traces, but on newer ones they ran the traces to jumper pads to make it easier to change.
The physical memory on the bus exists by default on the motherboard on the A1500/A2000/A2500. On the A500 this can be added via a card in the trapdoor slot, although you can also solder the chips directly to the motherboard if you want. Older A500 revisions had no provision for this, but you could hack the chips onto the bus (usually by "piggybacking" them on top of the existing RAM chips). Newer A500s have extra solder points on the motherboard specifically to accommodate the extra RAM. Generally there isn't much point of this and you might as well use the trapdoor.
A note about the trapdoor expansions/motherboard RAM. This RAM exists on the Chip Memory bus, so when the custom chipset's DMA seizes the bus for operations, the CPU can't talk to it, regardless of whether the OS considers it Chip or Fast. This means that it's not "real" Fast Memory that the CPU has exclusive bandwidth to. Because of this, the community generally refers to this memory as "Slow Memory" when it's not mapped as Chip.
Also note that the Fat Agnus socket on the A500 and A1500/A2000/A2500 does not have enough physical address lines wired to it to support 2M of Chip, regardless of how much memory is on the Chipmem bus. If you drop a 2M Fat Agnus into this socket, it will work, but it will only ever be able to address 1M.
There are, however, expansion boards out there that provide the extra address line and onboard RAM to let the 2M Agnus have its full addressable space. One example is the DKB MegaChip. The board has the 2M Agnus mounted on it and then drops into the Fat Agnus socket.
....
Hopefully these explanations help! =D