BeebFpga icon indicating copy to clipboard operation
BeebFpga copied to clipboard

Feature request: tape loading

Open rcmolina opened this issue 4 years ago • 4 comments

Could you please reconsider implementing tape interface, as in the real machine?

Thanks in advance!

Rafael

rcmolina avatar Aug 09 '20 07:08 rcmolina

There are three parts to the tape interface on the Beeb:

  1. the analog signal conditioning (3 op amps, that amplifiy, filter and square the signal)
  2. the serial ULA (this does frequency detection and clock/data separation)
  3. a 6850 ACIA (converts synchronous bits back to bytes)

(2) and (3) would be straightforward to implememt in the FPGA

(1) is the tricky part. You either need to replicate the analog circuitry from the Beeb, or you need an ADC and do this digitially.

What FPGA board are you using? I'd guess the Spectrum Next looking at your avatar.

Do you think the Ear circuitry on the Spec Next would be suitable for the Beeb casette format?

image

It's much simpler that what the Beeb uses.

Dave

hoglet67 avatar Aug 09 '20 12:08 hoglet67

Thanks for the info David, I read some time ago about the procedure to amp and get the square waves, very tricky. Regarding my logo, I am zx native from 13 years old, and only 2 years ago I bought an electron and a bbc micro to implement advanced maxduino/tzxduino tape loading firmware. Before this I got frustrated with fpgas cause only acorn electron port was implementing tape loading, but this helps me at the beginning... after that, real machine testing. No, I did not buy an Spectrum Next cause I have several fpgas: 2 x zx-uno and a Sidi (mist compatable by manuferhi) better for external tape loading. I could not understand very well why electron fpga implementation support this, and not bbc micro core.

Thanks for your attention,

Rafa

rcmolina avatar Aug 09 '20 18:08 rcmolina

The main reason my Electron FPGA implementation has the tape interface implemented is that some games make use of tape interrupts as a simple hardware timer, and fail if it's not implemented.

The second reason was I was interested in the fully understanding the Electron ULA (and we had just got hold of a set of original schematics).

The BBC Serial ULA is more of an unknown quantity. Very little is known about how the tape data seperator actually worked. There are no original schematics, and I know of no one that's decapped one for reverse engineering.

hoglet67 avatar Aug 09 '20 19:08 hoglet67

Thanks Dave, understood. I've seen in Belgium a descendant, the main uk enterprise broke up. Don't know if emailing them could be useful. ¿?

Ferranti Computer Systems N.V. (HQ) Romeynsweel 7 B-2030 Antwerpen Belgium

T: +32 3 540 49 11 E: [email protected]

VAT BE 0416.296.878

rcmolina avatar Aug 10 '20 10:08 rcmolina