News:

Printed Amstrad Addict magazine announced, check it out here!

Main Menu

Streaming level data from cassette

Started by kelp7, 09:18, 18 November 14

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Executioner

Quote from: AMSDOS on 12:28, 22 November 14
So it seems WinAPE has issues loading some of the more complicated CDTs

It shouldn't have any problems, but I think there is a problem with the CDT spec and resetting the output bit state between blocks. I tried both ways, either keep or reset the bit state, and both caused some CDTs to fail. I'm not 100% sure if this is the problem as it has been mentioned that using CDT2WAV seems to work with most (All?) CDTs.

kelp7

Quote from: opqa on 19:58, 23 November 14
Those chips seem to be quite flexible, if you can program a dedicated interrupt for tape reading and actively adjust its time interval then the problems rafelroo mentioned could be overcome. This is a vage idea but you could use something like this:
GGGGGPPPGGGGG
      |
With G being a pilot wave and P being the bit(s) pulse, if you can freely program the interrupts you can synchronize at the beginning to enter some time before the pulse, then wait for it measuring the elapsed time, and re-adjust the next interrupt if needed, by delaying or advancing it.
This can't be done on the CPC because interrupts can only be delayed, and only within a frame. Every frame with the VBL signal the interrupt counter is always resetted by the hardware.


That does sound good but, yeah, as much as the 8253 is quite flexible, it's also tricky to code for as any change to the counters only happens after one 8253 clock cycle. Your code could trigger the change to the counter anywhere between the start or end of that clock cycle (a bit like when you wait for vsync using a bit of code where the vsync could happen anywhere in your lines of code which are carrying out the check).

AMSDOS

#27
Quote from: Executioner on 02:38, 26 November 14
It shouldn't have any problems, but I think there is a problem with the CDT spec and resetting the output bit state between blocks. I tried both ways, either keep or reset the bit state, and both caused some CDTs to fail. I'm not 100% sure if this is the problem as it has been mentioned that using CDT2WAV seems to work with most (All?) CDTs.


Yes I converted the program with Firebird loader back to WAV format and loaded the program in WinApe without error. So say you suggest the CDT spec might have a problem, I haven't had problems on the standard stuff, so it perhaps suggests the more unusual loaders like Firebirds creates problems.
* Using the old Amstrad Languages :D   * with the Firmware :P
* I also like to problem solve code in BASIC :)   * And type-in Type-Ins! :D

Home Computing Weekly Programs
Popular Computing Weekly Programs
Your Computer Programs
Updated Other Program Links on Profile Page (Update April 16/15 phew!)
Programs for Turbo Pascal 3

Powered by SMFPacks Menu Editor Mod