Names of TAPs with OSDK compiled programs
Names of TAPs with OSDK compiled programs
Hello.
Does anyone know how to put names to the TAP files generated with the OSDK? I don't mean the MSDOS filename of the tape image, but the internal name stored in the tape (the parameter to CSAVE).
As I put several files inside a disk image toghether, I am using tap2dsk (OSDK now does this automatically), which stores them as files with the name of the TAP unless it is empty. If this is the case it stores the file as nonamexxx.
Well all my files get nonamexxx names, so I usually have to change this by hand
I have now a new version of tap2dsk where I can set the disk name (DNAME) and init string (INIST), which eases my work a lot, but still no correct filenames.
Any idea?
Does anyone know how to put names to the TAP files generated with the OSDK? I don't mean the MSDOS filename of the tape image, but the internal name stored in the tape (the parameter to CSAVE).
As I put several files inside a disk image toghether, I am using tap2dsk (OSDK now does this automatically), which stores them as files with the name of the TAP unless it is empty. If this is the case it stores the file as nonamexxx.
Well all my files get nonamexxx names, so I usually have to change this by hand
I have now a new version of tap2dsk where I can set the disk name (DNAME) and init string (INIST), which eases my work a lot, but still no correct filenames.
Any idea?
You can also give a try to Tape Header Creator from my website, but it requires a file with absolutely no header (it creates one, doesn't modify it), and operates files 1 by 1. The graphic interface is also a little bit bugged
http://www.geocities.com/symoonmyself/oric.htm
http://www.geocities.com/symoonmyself/oric.htm
In fact I would need some kind of command line solution, so it integrates into the build process.
Symoon, I will have a look at your soft, but I thought it cannot be used from a batch file. If I have to do it by hand after the build process, then I can do it within sedoric.
The idea, as Dbug pointed out, would be having header.exe to do that job. It would be nice (IMHO) that it puts the filename (without the extension maybe?) if nothing else specified instead of leaving it empty. In the batch files it can use the OSDKNAME variable.
BTW, Dbug I have a new version of Tap2Dsk which lets me choose the initialization command (INIST) and disk name (DNAME). Just in case you want it to update the osdk or whatever...
I am setting two variables inside osdk_config.bat to specify that, and modified make.bat to use them.
Cheers.
Symoon, I will have a look at your soft, but I thought it cannot be used from a batch file. If I have to do it by hand after the build process, then I can do it within sedoric.
The idea, as Dbug pointed out, would be having header.exe to do that job. It would be nice (IMHO) that it puts the filename (without the extension maybe?) if nothing else specified instead of leaving it empty. In the batch files it can use the OSDKNAME variable.
BTW, Dbug I have a new version of Tap2Dsk which lets me choose the initialization command (INIST) and disk name (DNAME). Just in case you want it to update the osdk or whatever...
I am setting two variables inside osdk_config.bat to specify that, and modified make.bat to use them.
Cheers.
You're right, it can't! I wasn't sure this might help or notChema wrote:Symoon, I will have a look at your soft, but I thought it cannot be used from a batch file. If I have to do it by hand after the build process, then I can do it within sedoric.
ODM can also rename files directly on a DSK file with a Windows graphic interface, but IIRC there is a bug in it I never had time to correct, something like everty 15th file is missing in the files list.
How I wish I had more spare time to keep coding !
Yep I know the feeling...Symoon wrote:
How I wish I had more spare time to keep coding !
We will need to wait for the next release of header.exe then.
BTW Dbug (and going off-toppic a bit), I know that you are without a machine now, but if you plan to release a new version of the osdk somewhat soon, I can provide (if you think it is ok) the text compression/decompression routine I am using in Space:1999, with a neat C interface, and maybe we can work on the sector-based disk access routines, with the help of Fabrice.
Just a note, in case you whish...
Cheers.
OK, I think I finalized something...
It is a command line utility that I called TapTap.exe :
Do you want it ?
(I have to put it somewhere on line)
It is a command line utility that I called TapTap.exe :
Code: Select all
Syntax :
--------
Catalog :
taptap.exe cat <File>
<File>.... : Tap file to be processed - mandatory
Example : taptap.exe cat myfile.tap
Rename an Oric file in a .tap File :
taptap.exe ren <TapFile> <Newname> <FileIndex>
<FromFile>. : Tap file to be processed - mandatory
<NewName>.. : New file name of the oric file to be processed -mandatory
The New oric file name can be specified
in 2 different ways
- as a string : in that case it must be
enclosed between quotes
examples : "Space Invaders", "Terror of the deep",...
- as a succession of 8 bits hexadecimal
values (2 digits each), without any space
It then permits to have some text attributes
into the oric title : ink or paper color, blink...
(please refer to Oric manual for values).
In that case, the string must be preceeded by
the # symbol and the null hexadecimal values (INK 0)
are forbidden.
example : #0148656C6C6F07
...will print "Hello" in red on the status line
while loading.
<FileIndex> : File index in Tap File, 0 is the 1st file,
index 1 the 2nd, etc - Mandatory
Set Auto run On or Off :
Simply write
taptap.exe AutoOn <TapFile> <FileIndex>
or
taptap.exe AutoOff <TapFile> <FileIndex>
(I have to put it somewhere on line)
@chema :
I sent it to you on you gmail
Edit : Chema, your mail is not valid
Anyway here is the link to the file (updated) :
http://www.steekr.com/index.php?m=c9ae7 ... 1a34f18d32
I sent it to you on you gmail
Edit : Chema, your mail is not valid
Anyway here is the link to the file (updated) :
http://www.steekr.com/index.php?m=c9ae7 ... 1a34f18d32
Last edited by waskol on Thu Dec 13, 2007 10:27 pm, edited 1 time in total.
Strange... which error did you get? I have just tested and it goes ok. Perhaps it does have problems with exe and zip files... you can allways rename them...waskol wrote:@chema :
I sent it to you on you gmail
Edit : Chema, your mail is not valid
Anyway here is the link to the file :
http://www.steekr.com/index.php?m=c9ae7 ... 17c7d518dc
I am trying to get the file, but I can't... I ge an error when trying to obtain the IP from www.steekr.com
Anyway your utility seems to be the thing I am looking for... Thanks
Cheers.
I got this :
Edit :nope, I just retried from home.... same thing...
it is a zip file of 56K
Perhaps is it due to the fact that the internet connection at my work is.... ahemmmhost gmail-smtp-in.l.google.com[66.249.91.27] said: 552
5.7.0 Illegal Attachment z37si9393270ikz (in reply to end of DATA command)
Edit :nope, I just retried from home.... same thing...
it is a zip file of 56K
Yep. I wonder why gmail is having problems with zipped files. Just change the extension to .tap or whateverwaskol wrote:I got this :Perhaps is it due to the fact that the internet connection at my work is.... ahemmmhost gmail-smtp-in.l.google.com[66.249.91.27] said: 552
5.7.0 Illegal Attachment z37si9393270ikz (in reply to end of DATA command)
Edit :nope, I just retried from home.... same thing...
it is a zip file of 56K
IT WORKS!
Thanks indeed. Now I can generate a proper disk that runs everything automatically, starting with the intro the first time and launching the game once it is skipped... even when rebooting the Oric (which is something I am doing to end the intro and launch the game and also when restarting the game itself).
Thanks indeed.
Thanks indeed. Now I can generate a proper disk that runs everything automatically, starting with the intro the first time and launching the game once it is skipped... even when rebooting the Oric (which is something I am doing to end the intro and launch the game and also when restarting the game itself).
Thanks indeed.
OK, thus, let's see a practical example, I took the game Galaxian :
if I type :
..I obtain
thus, there are two files on the tape.
If I want to rename the BASIC program, I just do :
And now, if I ask for the catalog :
Just what we expected...
But we can also do some nice printing (blinking cyan for instance) :
cyan --> #06 (TEXT Attribute for cyan)
blink --> #0C
G-->#47 (ASCII codes in Hex format)
A-->#41
L-->#4C
A-->#47
X-->#58
I-->#49
A-->#41
N-->#4E
Back to white + inverse for the 'B' of BASIC of the status line -->#87
that gives us :
convert to wav if you want to see something when loading this...
Remove autoboot in order to get the listing ?
Load in Euphoric, LLIST, and...
if I type :
Code: Select all
taptap.exe cat galaxian.tap
Code: Select all
Catalog of "galaxian.tap"
Index.... : 0
Name..... : GALAXIANS
File kind : BASIC
Auto..... : Yes (#C7)
Starting Address : #0501
Ending Address : #16F1
Size............ : 4593 bytes
Index.... : 1
Name..... : GALAXIAN.1
File kind : Machine code or memory bloc
Auto..... : No
Starting Address : #5800
Ending Address : #6FFF
Size............ : 6144 bytes
If I want to rename the BASIC program, I just do :
Code: Select all
taptap ren galaxian.tap "super game !" 0
Code: Select all
Catalog of "galaxian.tap"
Index.... : 0
Name..... : super game !
File kind : BASIC
Auto..... : Yes (#C7)
Starting Address : #0501
Ending Address : #16F1
Size............ : 4593 bytes
Index.... : 1
Name..... : GALAXIAN.1
File kind : Machine code or memory bloc
Auto..... : No
Starting Address : #5800
Ending Address : #6FFF
Size............ : 6144 bytes
But we can also do some nice printing (blinking cyan for instance) :
cyan --> #06 (TEXT Attribute for cyan)
blink --> #0C
G-->#47 (ASCII codes in Hex format)
A-->#41
L-->#4C
A-->#47
X-->#58
I-->#49
A-->#41
N-->#4E
Back to white + inverse for the 'B' of BASIC of the status line -->#87
that gives us :
Code: Select all
taptap ren galaxian.tap #060C47414C475849414E87 0
Remove autoboot in order to get the listing ?
Code: Select all
taptap autooff galaxian.tap 0
Code: Select all
1 IFPEEK(#5800)<>#D0THENCLOAD"":RUN
5 DIM HS(8),HS$(8)
7 PRINTCHR$(17);CHR$(6);
20 FOR T=1 TO 8:HS(T)=50:HS$(T)="ALPHA":NEXT T
30 SOUND 1,0,0:SOUND 2,0,0:PLAY 0,0,0,0
40 DATA 7,60,80,100,120,140,160,180
42 DATA 6,70,90,110,130,150,170
44 DATA 4,90,110,130,150
46 DATA 4,90,110,130,150
48 IF PEEK(#9768)=83 GOTO 100
50 DOKE#9600,0:CALL#6C00
60 IF DEEK(#9600)=30418 THEN POKE#9768,83:GOTO 100
70 GOSUB 9500
100 GOSUB 9000
....