Names of TAPs with OSDK compiled programs

Questions, bug reports, features requests, ... about the Oric Software Development Kit. Please indicate clearly in the title the related element (OSDK for generic questions, PictConv, FilePack, XA, Euphoric, etc...) to make it easy to locate messages.

User avatar
Chema
Game master
Posts: 2282
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Names of TAPs with OSDK compiled programs

Post by Chema » Tue Dec 11, 2007 10:01 am

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?

User avatar
waskol
Flight Lieutenant
Posts: 384
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol » Tue Dec 11, 2007 3:10 pm

I think I may have a solution... :wink:

Do you need a windows program, such like a "Tap" explorer or rather a command line utility in order to integrate it in the OSDK ?

User avatar
Dbug
Site Admin
Posts: 2699
Joined: Fri Jan 06, 2006 10:00 pm
Location: Oslo, Norway
Contact:

Post by Dbug » Tue Dec 11, 2007 8:38 pm

I guess I have to add the feature to Header.exe
Some other feature I've been asked for it, is to make it possible to set or unset the Auto flag, or print the start adress of a valid tape file.

User avatar
Symoon
Archivist
Posts: 1373
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Post by Symoon » Tue Dec 11, 2007 10:12 pm

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

User avatar
Chema
Game master
Posts: 2282
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema » Wed Dec 12, 2007 9:40 am

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.

User avatar
Symoon
Archivist
Posts: 1373
Joined: Sat Jan 14, 2006 12:44 am
Location: Paris, France
Contact:

Post by Symoon » Thu Dec 13, 2007 12:03 am

Chema 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.
You're right, it can't! I wasn't sure this might help or not ;-)
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 !

User avatar
Chema
Game master
Posts: 2282
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema » Thu Dec 13, 2007 9:44 am

Symoon wrote:
How I wish I had more spare time to keep coding !
Yep I know the feeling... :)

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.

User avatar
waskol
Flight Lieutenant
Posts: 384
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol » Thu Dec 13, 2007 4:29 pm

OK, I think I finalized something... :wink:

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>
Do you want it ? :P

(I have to put it somewhere on line)

User avatar
waskol
Flight Lieutenant
Posts: 384
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol » Thu Dec 13, 2007 5:00 pm

@chema :
I sent it to you on you gmail :wink:


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.

User avatar
Chema
Game master
Posts: 2282
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema » Thu Dec 13, 2007 8:35 pm

waskol wrote:@chema :
I sent it to you on you gmail :wink:


Edit : Chema, your mail is not valid :?
Anyway here is the link to the file :
http://www.steekr.com/index.php?m=c9ae7 ... 17c7d518dc
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...

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.

User avatar
waskol
Flight Lieutenant
Posts: 384
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol » Thu Dec 13, 2007 8:42 pm

I got this :
host 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)
Perhaps is it due to the fact that the internet connection at my work is.... ahemmm :lol:

Edit :nope, I just retried from home.... same thing...

:cry:

it is a zip file of 56K

User avatar
Chema
Game master
Posts: 2282
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema » Thu Dec 13, 2007 8:47 pm

waskol wrote:I got this :
host 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)
Perhaps is it due to the fact that the internet connection at my work is.... ahemmm :lol:

Edit :nope, I just retried from home.... same thing...

:cry:

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 whatever :)

User avatar
waskol
Flight Lieutenant
Posts: 384
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol » Thu Dec 13, 2007 8:48 pm

haha, it seems that my last send was ok, with a rar file this time... :P

Edit : well, finally you got it !!!!! :P
Last edited by waskol on Thu Dec 13, 2007 9:15 pm, edited 1 time in total.

User avatar
Chema
Game master
Posts: 2282
Joined: Tue Jan 17, 2006 10:55 am
Location: Gijón, SPAIN
Contact:

Post by Chema » Thu Dec 13, 2007 9:11 pm

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.

User avatar
waskol
Flight Lieutenant
Posts: 384
Joined: Wed Jun 13, 2007 8:20 pm
Location: FRANCE, Paris

Post by waskol » Thu Dec 13, 2007 10:13 pm

OK, thus, let's see a practical example, I took the game Galaxian :
if I type :

Code: Select all

taptap.exe cat galaxian.tap
..I obtain

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
thus, there are two files on the tape.
If I want to rename the BASIC program, I just do :

Code: Select all

taptap ren galaxian.tap "super game !" 0
And now, if I ask for the catalog :

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
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 :

Code: Select all

taptap ren galaxian.tap #060C47414C475849414E87 0
convert to wav if you want to see something when loading this... :wink:


Remove autoboot in order to get the listing ?

Code: Select all

taptap autooff galaxian.tap 0
Load in Euphoric, LLIST, and...

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
....
:P

Post Reply