sweetlilmre / tapuino

tapuino
http://www.sweetlilmre.com
MIT License
131 stars 49 forks source link

Load TAPs Hangs at 99% #47

Closed preiner closed 2 years ago

preiner commented 2 years ago

Running taupino 2.8

Repro Steps:

1) Choose Play 2) Scroll to desired TAP filename 3) Type in "Load" 4) See message to press play button 5) Press "Select" button on Taupuino 6) Progress indicator goes from 1% to 99% on left while displaying "M<spinner symbol" on right (no idea what M means) 7) See "Searching" message 8) See "Loading" message 9) See "Ready" message (while Taupino is at 99%) 10) Can list or run program just fine 11) Taupuino stuck at 99%. It will never complete. User must press "ABANDON"

sweetlilmre commented 2 years ago

Hi,

This is by design. There is additional signal data in the TAP file after the program has loaded completely, so the Tapuino doesn't know that the TAP has finished. Code could be added to check the status of the motor line and complete if it was idle for "long enough" (sometimes the motor stops and starts during a normal load, so a motor stop can't be used as a definite marker of completing the load), but the ABORT key can be pressed to return to the menu. FYI the 'm' or 'M' symbol indicates that the tape motor is off 'm' or on 'M'.

preiner commented 2 years ago

Can you goto 100% when you reach end of file?

Can you point me to docs on what all the various options do (machine, timings, finalize...)? Does the machine option indicate what machine the tapuino is in or what machine made the TAP? I have seen the calculation based on the setting but the results running it seem to be the same regardless of setting

sweetlilmre commented 2 years ago

Hi as I said, I could add code that would wait for a significantly long time and then complete, but that may break other functionality (multipart TAP loads). The machine option sets the specific signal timings (along with the video mode) and playback / recording mechanism for the machine in question (e.g. C16 uses 1/2 wave format). As the timings are relatively close, most work for most machines in the C64/PET/VIC20 group. As fas as docs go, there aren't any, but I will be adding docs to the evolution of this project: https://www.github.com/sweetlilmre/TapuinoNext