On 26 Apr 2011, at 14:38, Geoff Winkless <[email protected]> wrote: On 26 April 2011 14:23, Tommo H <[email protected]> wrote: > > The 25fps is based on a hypothetical chip having the same access as the CPU > does currently. >
But would still take up the majority of the bus time, meaning you couldn't do anything _else_. And at present, if you want to scroll the screen you can't do anything else and you also can't really scroll the screen. I forget the exact numbers, but you get about 79,000 memory access cycles a frame, don't you? So if a hypothetical device which uses every access cycle, that's enough bandwidth to read and write every byte on the display more than three times in a single frame. Doing it twice in two frames with time to do something else on actual hardware doesn't sound so impossible. > I also disagree about the significant amount of electronics on the grounds > that Zilog's native DMA part cost less than $10 even in 1989 > $10 in a unit costing £200 retail is a significant cost. And the official DMA chip is quite a bit more complicated than the de minimis functionality I was suggesting. I also thought the Sam didn't drop to £200 until after the first Christmas, but I'm probably confusing myself with when the disk drive started coming for free - meaning they'd found £70 (retail, admittedly, so a lot less than that really) of savings somewhere. Chuck it on the same board as the RAM expansion if you have an absolute minimum price of entry you need to hit. Filled vectors are going to be not a huge amount quicker unless you make the > hardware a lot smarter - you'd spend most of your time setting up the > external registers to fill objects one line at a time. > > Based on profiling my filled vector code (not the stuff I've released, > better stuff), something like 80% of the total cost is the filling, and > something like 50% of the cost of the filling is CPU logic rather than > memory bandwidth. So the difference would promote a game of Mercenary > graphical complexity from unplayable to playable. > Erm, so you're saying that 40% of cost would be LDIRs replaced by 4 OUT instructions (say) and a wait while the DMA does its job (at say 50% of the original t-states of the LDIR itself)? I still don't buy that it would be any faster. You'd have to be blitting lines of more than about 20 pixels just to break even. (figures based on thumb-in-the-air estimates, so I'm probably quite a lot out, but you get the idea) No, 80% (and I used one of the 16bit pushes in an unrolled loop with a suitably calculated entry point, i.e. no inner-loop conditional). So you (hypothetically) cut 40% of the total cost. Or, the other way around, you run two-thirds faster on the poly drawing, which is most of the total frame cost, based on experience from other systems. (figures based on dim recollections from Sim Coupe-aided profiling, more than a year and a half ago, probably quite significantly rounded at this point). In terms of 8bit state-of-the-art for 1989 if development budget were no issue, the Atari Lynx has to be the standard bearer. 4Mhz 6502, scaling blitter that can do lines in a single call, arbitrary filled triangles in two, a proper grown-up 4bit frame buffer, better-than-AY (but nowhere near the Sam) sound chip, maths coprocessor, and all quite a bit less than £200 with a built-in LCD screen. Of course, backwards compatibility wasn't a concern and it probably cost and lost a lot more money than the Sam did. So, ummm, instructive on production costs, unlikely to be on design costs.
