I'm not sure I've entirely formed the idea in my head, but I'll ask anyway...

One of the things I learned here in RO is that the BBC gained speed by using faster RAM, thereby avoiding cycle stealing during video refresh. IIRC, this resulted in ~30% better performance.

My question is whether it would be possible to get the same performance boost using solutions that were available earlier and were cost effective at that time, that is, the ~1981 time frame.

  • I assume dual-ported RAM would allow this, but was this widely available and cost competitive? Could one have a small section of dual-port and then a larger bank of "normal" RAM without issue?

  • could one mix high- and low-speed parts on a single bus? Do the refresh requirements change as well, and would that preclude such solutions?

  • something else I haven't thought of?

  • I'm not realy sre if I understand what you mean with 'gained speed' and '30% better' (compared to what). In general: a) yes, no, yes; b) yes,(usually) no; c) Hard to answer, since I don't know you think :)). In general any addition of faster/slower memory will result in additional circuitry to either slow the CPU or decouple the memory for some time from the CPU, making it (usually way) more expensive than without. – Raffzahn Jan 11 at 17:04
  • Gained speed in that the BBC could run a program 30% faster than an Atari in spite of the same CPU speed because the Atari was waiting on ANTIC access while the BBC interleaved accesses due tof atser RAM. – Maury Markowitz Jan 11 at 17:23
  • They utilized differnt clocks to start with, the BBC being already about 10% faster clockwise - then it's BASIC was way more speedy (Atari BASIC sucked). So what are the numbers to state a 30% higher speed. It would be great if you could elaborate the base for the 30% in a consistent fashion - otherwise it's hard to give a useful answer. – Raffzahn Jan 11 at 17:59
  • I finally understoof that RO is meant to say RC :)) So if you learned this here, could you maybe point out the related questions as reference? I couldn't come up with a relevant selection when searching. – Raffzahn Jan 11 at 18:01
  • 2
    Dual-ported RAM was available in 1980 and would have been competetively priced - Competitively to other dual-ported RAM, but way more expensive than "normal" RAM. Which is still the case today. DP-RAM was always only available as SRAM, which has per se a much higher price than DRAM, and dual-ported can easily be 10 times more expensive than normal SRAM. (example prices: 8k x 8 today SRAM: €2,50, DP-SRAM 23€.) – tofro Jan 11 at 18:26

As to the headline question: yes.

The Acorn Electron, a convenient example because it's a BBC relative, proves this after a fashion. ROM is accessed at 2Mhz. The supplied RAM, which is shared with video, is accessed at at most 1Mhz. This is effected by slowing the CPU's clock based on its access destination.

A modification to the machine was to replace the low 8kb of address space with RAM that didn't sit behind the ULA. So it was no longer available for video but could now be written to and read by the CPU at 2Mhz.

So at that point you had a 6502 that didn't just access some areas of memory more quickly than others, but used two observably different speeds of RAM in the same machine.

Re: refresh, that counteracts leakage. So refreshes must occur within an absolute amount of real-world time. It's independent of the access speed the RAM is being used at.

Otherwise, the 6502's fixed memory access cadence obviated any need for dual-port RAM in its class of machines. It was always the case that you'd see half a cycle in which the 6502 was bus master and then half a cycle in which it wasn't. So the best solution for frictionless dual access on a 6502 machine is just to have video control the bus every other half cycle.

The BBC does this, as did the Apple II a few years before, and later machines like the Oric. Where bandwidth was insufficient with that access pattern, doing what approximately amounts to using a 16-bit bus for graphics fetching was an option: that's what the Apple IIe does in 80-column mode. Within each video access window it simultaneously fetches bytes from two physically different 8-bit portions of memory.

  • Excellent answer, precisely what I was curious about. It is precisely the timing of the half-cycle that I was curious about. Machines like the Apple II and Atari lost considerable performance waiting on the bus, which could be addressed with faster RAM, but at a cost. So my question is whether it's possible to replace SOME of the RAM with faster bits to avoid this contention while not having to do it all and thus drive up costs. This answer clears says "yes". – Maury Markowitz Jan 15 at 19:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.