Is it feasible to move the cassette read head forward a bit so it can read the tape when the tape mechanism is in fast forward mode?
There is more to it than that but this first question determines whether the idea is practical or not, I doubt if anyone wants to write to tape so that is one thing we don't need to worry about.
Quote from: steve on 16:57, 16 August 10
Is it feasible to move the cassette read head forward a bit so it can read the tape when the tape mechanism is in fast forward mode?
There is more to it than that but this first question determines whether the idea is practical or not, I doubt if anyone wants to write to tape so that is one thing we don't need to worry about.
Have you heard of project otla?
http://code.google.com/p/otla/
I am not sure this is what you are wanting.. but it does speed up loading.
What I would like to do is put a cassette tape in a 464 tape drive press play+enter, then press fast forward, the program then loads into memory, only much faster than normal.
Edit: I now realise that pressing play will move the head forward so I just need to engage fast forward without retracting the head or wearing out the tape too quickly.
Another possibility is changing the pulleys so in play the tape moves twice as fast.
Similar thing did exist for ZX Spectrum:
Challenge Research Ltd: Challenge Sprint and Sprint Mk II
This is a quad-speed "audio" cassette drive, it connects to the expansion port, apparently spins faster than normal cassette drives, and works with existing cassette software (that was recorded at slow speed). The included BIOS replaces the normal cassette functions by faster functions, works only with software that uses the BIOS functions, eg. not with copyprotected games.
As far as I remember, the CPC BIOS does autodetect baudrate, so one wouldn't need a modified BIOS here. But you may get problems with copy-protected/turbo-loader games (they may use hardcoded baudrates, and they often have more bits/second than the BIOS, so with further speed-up, the bits may arrive much too fast).
It is interesting that a company has already done this, so the idea is sound.
I had not considered copy protection schemes, I just need to be sure that the number of incompatible tapes is not so high that the project is useless.
From what I've read, you can only go so fast with the tape before you begin missing data which needs to be loaded in and Fast Foward to my understanding is faster again.
What I found (many years ago) was Programs like JL-COPY are good for taking a Unprotected Tape and saving it at a much faster rate, though there was a really good program many years ago in AA which had a routine to speed up the baud rate to 3500 and you could load and save stuff in Headerless format, unfortunately you'd need all the details - start address, length, filesync code which is like a filename in number format and of the program you want to save and load in order, once you did all that you'd be in business with the Execution Address! ;D
Have anyone tried connecting something like these to an Amstrad CPC?
(http://avforum.no/forum/attachments/generelt-audio-hifi/3705d1105997688-tandberg-bandopptaker-tandberg_1.jpg)
(http://library.noctrl.edu/instructional_media/dv_vhs/dvbuttonsR.JPG)
More good retrofeelings 8)
Actually hooking up a vcr to a amstrad should be totally possible. I remember back before cd-r arrived someone got the brilliant idea of using normal vhs machines as a " tapestreamer". It was a extremely easy setup with a scart cable with very few "teeth/wires" and a nearly empty pci board. The VCR part was easy as you would simply use it manually like normal. The complex thing was the pc software where you could choose "speeds" and CRC size. Also the software used index files you need to save on hdd, so no headers was used at all. Playing a "tape and youd noticed that all it did was make lines of black and white on the tape (or whole screens). The pc version used CRC-error correction and so you could save 100mb data easy on a 2 hour tape. Of cause the pc was using the "top" capacity of vhs tape (thats why all the crc was needed) and if something similar is done with a amstrad it wouldnt need to make those "crazy" speeds, as i think we all agree that even 10mb is a "unthinkable" large size.
Of cause then i got a iomega 100mb floppy disc drive and then one of the early cd-rw drives (1x speed yay!) and who would then sit and wait 2 hours (or 4 lol) for to load data from vhs tape?
Here is that old video where you load a protected game 300%-ish faster than normal (CD+tape-adapter):
http://www.youtube.com/watch?v=9bv3d3pmA9U
Back to the original question Steve posed: I think that, even if you tweak the deck to allow both play and FF to be pressed (some decks do allow that if you force them -many do, actually), you begin hitting physical limits. Even if you had a 100% perfect read rate, which sounds difficult with the cheap recorders they used, it's only a matter of time, I would think, before the tape itself starts withering away...
But it'd be a very interesting experiment!
Quote from: arnoldemu on 17:17, 16 August 10
Have you heard of project otla?
http://code.google.com/p/otla/
As a matter of fact there's an OTLA demo of Manic Miner speed-loading at 12600 baud at http://www.youtube.com/watch?v=zOk5wY9pMhg
Quote from: arnoldemu on 17:17, 16 August 10
Have you heard of project otla?
otla - Tool for loading programs into vintage computers via their cassette (http://code.google.com/p/otla/)
I am not sure this is what you are wanting.. but it does speed up loading.
I'm more curious about this otla project.
I tried downloading v2.2.0 of the program twice, and twice I had the program coming up with bugs (send error report on exit & some kind of conflicting error I think when trying to convert cdt file).
Unsure if I need an earlier version because I'm using Windows XP?
Maybe it's compiled for 64-bit machines.
Quote from: robcfg on 12:05, 14 January 15
Maybe it's compiled for 64-bit machines.
I downloaded their early version 1.3 or something, but it doesn't look like I'm using the program appropriately because that's coming back with the same problems.
I thought I made something with it using Disk Image, but all it seemed to do was made a cdt load the first block and give me some Speedlock border, wouldn't load the rest on my 6128.
Would have been nice if there was a step-by-step guide for creating the resulting file, I'm unsure if this program is user friendly for BASIC programs either, but it doesn't seem to like CDT images with Firebird Loaders either.
Quote from: ivarf on 13:33, 18 August 10
Have anyone tried connecting something like these to an Amstrad CPC?
(http://avforum.no/forum/attachments/generelt-audio-hifi/3705d1105997688-tandberg-bandopptaker-tandberg_1.jpg)
More good retrofeelings 8)
Hello,
i tried a VCR to record CPC Data some years ago and it worked very fine. I had used a HIFI Stereo VCR with six heads and a usual Stereo to 5 Pin Adapter cable. Of course it was not faster to load, but it was possible to use up to 3600 Baud Loaders.
Regards
Tom
I tried it and I also get the same error. As the source is available I can try to compile and debug it.
Quote from: Pentagon on 21:07, 16 January 15
Hello,
i tried a VCR to record CPC Data some years ago and it worked very fine. I had used a HIFI Stereo VCR with six heads and a usual Stereo to 5 Pin Adapter cable. Of course it was not faster to load, but it was possible to use up to 3600 Baud Loaders.
Regards
Tom
Good, now you can try with a DVD player with USB Hub, load your digitised tape image from Jump/Flash Drive. I selected a cheap LG DVD player with USB, but found it only supports WMA/MP3 as an audio source. I believe Sony put out a cheap DVD player with USB which supports WAV (I have a BluRay which does this).
I was trying to use OTLA to speed up a program and load it though my setup, but haven't had much luck with it.
Yes that should work too, but at the moment i found a really good solution with an old iPod Touch. I just did a fresh iTunes Database with images of CPC Tapes and dropped them on my old iPod. It works very fine in lossless Apple Format.
It should be possible with an iphone too. It loads Sorcery Flash Loader without problems.
Regards
Tom
Quote from: Pentagon on 09:09, 17 January 15
Yes that should work too, but at the moment i found a really good solution with an old iPod Touch. I just did a fresh iTunes Database with images of CPC Tapes and dropped them on my old iPod. It works very fine in lossless Apple Format.
It should be possible with an iphone too. It loads Sorcery Flash Loader without problems.
Regards
Tom
I was wondering if it was possible to use those gadgets just for that purpose, though I was also trying to keep it to a cheap budget, I seemed to have created a Hi-Fi System with Video Screen w/ USB & DVD Support. No wonder the price of sound systems is so low these days.
Quote from: robcfg on 23:17, 16 January 15
I tried it and I also get the same error. As the source is available I can try to compile and debug it.
I've had success using Otla 1.3 by creating a sbb file out of a Binary Program which I created from Hisoft Pascal. Instead of dealing with CDTs or DSKs, I just put the BIN file in the samples/cpc area, use OtlaBuilder 1.3 by adding the Binary file to it to create the SBB file and use OtlaPlayer 1.3. Initially I had some loading problems, but I adjusted the ms pause between blocks to 2000 which worked on my 6128 and loaded my 8Kb program in 11 seconds.
I've attached the resulting WAV file. Sorry I tried to upload to Linkedin, but they don't seem to appreciate people's sound editing abilities. :(
I was just wondering if someone has some knowledge about location the Loader program that otla writes?
I found this bit of code on Amstrad.ES Forum (http://www.amstrad.es/forum/viewtopic.php?f=6&t=2157):
Hdir equ &ff
org Hdir+&100
ld hl , inicio ;;&800e
ld de , &ff0e
ld bc , 250 - 14
ldir
jp start_loading
inicio
table
defb &40,&40 ;defb &fc,&fc
defb &40,&40 ;defb &fc,&fc
defb &40,&40,&40,&40,&40 ;defb &fc,&fc,&fc,&fc,&fc
defb &41,&41,&41,&41,&41 ;defb &fd,&fd,&fd,&fd,&fd
defb &42,&42,&42,&42,&42 ;defb &fe,&fe,&fe,&fe,&fe,&fe
defb &43,&43,&43,&43,&43 ;defb &ff,&ff,&ff,&ff,&ff,&ff
defb &43,&43,&43,&43,&43 ;defb &ff,&ff
men
defb &0a
defb "Loading error"
defb 0
velozloader
pilot
ld d, (hl)
dec hl
ld e, (hl)
push de
push hl
ex de,hl
di
exx
push bc
ld bc,&7f10
out (c),c ;border
ld c , &44
exx
pii_0
ld bc, &f510 ; ear
pii
exx
out (c), b ; a ;
exx
xor a
pi_LOW inc a
in a,(c)
jp m, pi_LOW
exx
out (c),c
exx
pi_HIGH inc a
in a,(c)
jp p , pi_HIGH
cp &39
rl c ; d
cp &29
jr nc, pii
inc c ; d
jr nz , pii_0
syn_LOW in a,(c)
jp m, syn_LOW
cp &19
ld a, &f2 ;e ; &fa
jr c, no_inv
xor 8
syn_hi in a,(c)
jp p , syn_hi
no_inv
ld (p1),a
xor 8
ld (m1),a
xor a
ld c,a
jr enter
full and H
ld (de),a
inc de
xor c
ld c,a
ld a, &fe; ; 1+2+2+1+1+2 = 9
enter
more
HIGH1 inc l
in a , (c)
p1 jp p , HIGH1
exx
inc c
res 3,c
exx
ld h, Hdir ;
ld h, (hl)
ld l, table - (Hdir * &100) -2
; 11
LOW1 inc l
in a,(c)
m1 jp m, LOW1
rlca
rla
jr nc, full ;p nC, full
exx
out (c),c
exx
and H
jp m, more ; 1+4+1 +1+3 = 10
exx
pop bc
exx
pop hl
pop de
ld (hl),e
inc hl
ld (hl),d
ld a, c
or a
di ;;ei
ret z
ld hl, men
wr_men
call &bb5a
ld a,(hl)
or a
inc hl
jr nz, wr_men
ei
ret
start_loading
ld bc, inicio ; pila
ld bc,&f610
out (c),c ;OUT &F600,&10 motor
call entra_multiblock
ld bc,&f6ef
out (c),c ;OUT &F600,&10 motor off
ld hl,(bu+1)
ei
jp (hl)
dexec
ret
header defw &c020-1 ;&bfff
bu defb 01 ; ret ;ret/ld de,/jp/call
defw dexec
entra_multiblock
ld hl, header -1
call velozloader
ld hl,(header)
call velozloader
jr bu
which looks like the loader otla makes, though when I compile it with pasmo assembler, all I get is a loader which doesn't load the blocks of code (maybe due to it not being setup to load screen+code).
Thought it would be nice to covert some of those Codemasters games where the Loading Screen becomes part of the game.
I've downloaded the Source of Otla 1.3 which is where that section of code was from and it's looking like the issue is lack of Header Information which I presume is imbedded as part of the loader, but I don't know if it's in the Header of the Loader or in the Source (I hope the later), but I didn't see any clues to suggest where it was situated. :'(
Only have this to go by:
unsigned char header_cpc_loader[259]//=
={
0x2c,
'o' ,'t' ,'l' ,'a' ,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,0x00,
1, //block number
0xff, //flag last block
2, //type machine code
255 , 0, //length
0x00,0x80, //start address
0xff, //flag first block
255 , 0, //logical length
0x00,0x80 //exec address
} ;
I thought it would be better to have the loader at &AF00 instead of onscreen.
I played around with the Latest Version of otla 2.2.0, but it doesn't allow the user to relocate the loader either and if Screen Images are used, it will only display what it can leading up to the Loader program (which means there's still loader code embedded on the game screen if it's one of those games which uses part of the title screen for the game).