New tape cleaner tool

Include new and ported/converted games, and old games/tools. Subjects about CP/M software goes in the CP/M Forum.
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: New tape cleaner tool

Post by Bill B »

If you want to have another go yourself, I would suggest trying the following scan methods, in order of preference:
  • Slopes
  • High-Low
  • H-L Slope
stephen_usher
Posts: 325
Joined: 27 Nov 2016 19:58

Re: New tape cleaner tool

Post by stephen_usher »

H-L Slope does the best job, but it doesn't seem to do a good job.

You can find the two wav files (recorded from my hifi tape deck with Dolby turned off) here: http://www.lingula.org.uk/~steve/share/memotech/
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: New tape cleaner tool

Post by Bill B »

Progress so far (UPDATED):

Side 1:
  • Contains four programs "LOGRAPH1", "3DORBIT1", "3D-ORBITS" and "3DORBITS".
  • Scan mode = High - Low, Up Cross = 0.1, Down Cross = -0.1 produces an MTX file which will load "LOGRAPH" into MEMU.
  • The above settings do not work for "3DORBIT1"
Side 2:
  • Contains three programs "LUNAR1", "LUNAR2" and "LUNAR3"
  • Scan mode = High - Low, Up Cross = 0.05, Down Cross = -0.05 produces an MTX file which will load "LUNAR1" into MEMU.
Last edited by Bill B on 15 Aug 2020 09:27, edited 3 times in total.
stephen_usher
Posts: 325
Joined: 27 Nov 2016 19:58

Re: New tape cleaner tool

Post by stephen_usher »

I was wondering what the parameters did. Is there any documentation?

Of course, once I've the MTX files I'll have to somehow get them on the CFX CF card :-)

Getting to know this utility would help later getting my other tapes read.
User avatar
Dave
Posts: 1280
Joined: 11 Aug 2012 18:16
Contact:

Re: New tape cleaner tool

Post by Dave »

Bill and Paul are the tape experts, I can’t help there, but for transferring to CFX, you should use Andy’s cpmcbfs

http://www.nyangau.org/cpmcbfs/cpmcbfs.htm

Some help here

http://www.primrosebank.net/computers/m ... ansfer.htm
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: New tape cleaner tool

Post by Bill B »

No documentation other than the notes in this thread.

For some scan modes, the "Up Cross" and "Down Cross" values are shown as horizontal lines on the plot, and are thresholds for change from Low to High or High to Low.

For the various High-Low modes they are the minimum level change from a Minima to a Maxima, or Maxima to Minima, and cannot be readily shown on the graph.

I am creating an MTX file and loading into MEMU because it is convenient. However if you use the same settings to save a new WAV file there is a reasonable chance it will load into a Memotech.
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: New tape cleaner tool

Post by Bill B »

It took a revision to TapeView for programs saved from an MTX500 (starting at 0x8000) rather than MTX512 (starting at 0x4000). The code now checks LSTPG so should work for either case. A few other minor issues also tidied. Revised code attached.

The audio files show some bad fades in places, however with the MTX500 fix and the following scan options I think all the programs can be recovered from both WAV files.

Scan mode = High-Low, Up Cross = 0.02, Down Cross = -0.02

The Stephen_Tapes.zip file contains the resulting MTX files, also text listings.

Just a teaser:

Code: Select all

Block  14
---------
Format = Basic Address = 0x8000 Length = 0x076D

0x8000: 10 REM  3D-ORBITS (C)5/9/85 S.R.USHER.[FF]
0x8025: 130 INPUT "Number of Planets(MAX.5)>";N[FF]
0x8048: 135 IF N > 5 THEN GOTO 130[FF]
0x8056: 150 LET G = 1[FF]
0x805F: 155 LET D = 600[FF]
0x806A: 160 LET DT = .2[FF]
0x8075: 180 DIM F(5),A(5),B(5),C(5),D(5),X(5),Y(5),Z(5),P(5),Q(5),W(5),R(5),S(5),U(5),M(5)[FF]
0x80C5: 190 FOR X = 1 TO 5: LET F(X) = 1: NEXT X[FF]
0x80DB: 230 FOR I = 1 TO N[FF]
0x80E6: 240 PRINT "Planet No.";I[FF]
0x80FA: 250 INPUT "Mass>";M(I)[FF]
0x810C: 260 INPUT "X Position>";X(I)[FF]
0x8124: 270 INPUT "Y Position>";Y(I)[FF]
0x813C: 275 INPUT "Z Position>";Z(I)[FF]
0x8154: 280 INPUT "X Velocity>";VX[FF]
0x816A: 290 INPUT "Y Velocity>";VY[FF]
0x8180: 295 INPUT "Z Velocity>";VZ[FF]
0x8196: 300 LET P(I) = X(I) - VX * DT: LET Q(I) = Y(I) - VY * DT: LET W(I) = Z(I) - VZ * DT[FF]
Attachments
TapeView_200815.zip
TapeView Source - 15/Aug/2020
(20.93 KiB) Downloaded 551 times
Stephen_Tapes.zip
MTX and Listing of extracted programs
(10.89 KiB) Downloaded 606 times
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: New tape cleaner tool

Post by Bill B »

And a screenshot of "LUNAR1" on MEMU:
Lunar1.png
Lunar1.png (5.84 KiB) Viewed 13833 times
stephen_usher
Posts: 325
Joined: 27 Nov 2016 19:58

Re: New tape cleaner tool

Post by stephen_usher »

Thank-you for the explanation etc. My goodness it's complicated.

I'm surprised that the MTX500 and MTX512 save files are different and address dependent. (I also can't remember trying to write a lunar lander program!)

As for the drop-outs, I think we can blame rubbish WHSmith C15 cassettes as I have issues trying to recover my ZX Spectrum saves from those also, but not other makes.
Bill B
Posts: 593
Joined: 26 Jan 2014 16:31

Re: New tape cleaner tool

Post by Bill B »

The system variables give the address of the end of the program also the end of variables. TapeView uses that to know how long the following BASIC data block should be. However it was assuming that the start was always at 0x4000, hence over-estimating the size of the block for programs saved from an MTX500.

Actually the tape was not that bad. Although there were fades, there is no high frequency noise introducing spurious peaks and troughs, so it was possible to use very low thresholds with the High-Low method.
Post Reply