Subject: Ti artist file format question.....

From: "Marc H" <[email-masked]>
Date: Sun, 15 Nov 2009 15:45:44 -0000

I have dumped a TIA file using DU in order to get at the data but I am unsure as to it's format.  Is there a header on this file and is the data arrange character wise or in a horizontal/vertical arrangement?

---

From: ti99_forever <[email-masked]>
Date: Sun, 15 Nov 2009 07:55:59 -0800 (PST)

It is just a dump... no header. Arranged as the tables are in VDP._P is the pattern table, _C is the color table.

--- On Sun, 11/15/09, Marc H <[email-masked]> wrote:

From: Marc H <[email-masked]>
Subject: [TI994A] Ti artist file format question.....
To: [email-masked]
Date: Sunday, November 15, 2009, 10:45 AM

---

From: "Tursi" <[email-masked]>
Date: Sun, 15 Nov 2009 16:46:00 -0500

>>      I have dumped a TIA file using DU in order to get at the data but I 
>> am unsure as to it's format.  Is there a header on this file
>>and is the data arrange character wise or in a horizontal/vertical 
>>arrangement?
>
> It is just a dump... no header. Arranged as the tables are in VDP._P is 
> the pattern table, _C is the color table.

Note too that it assumes the somewhat traditional SIT layout of three sets 
of 0-255. So they're pretty easy to load for display:

-Initialize VDP registers for bitmap mode
-Load the SIT with three sets of 0-255
-Load the _P file to the pattern table (>0000 or >2000 depending on your 
register settings)
-Load the _C file to the color table (the opposite setting ;) )

Picture is on screen. :)

Although, if you're doing that on the TI, there's a caveat. The TI disk 
controller uses the top of VDP memory for buffers - if you load one of those 
images directly in, it tends to crash. I was never sure the "right" answer 
to that, I used to load a little low and move into position, but that's 
slower than it probably needs to be.

---

From: ti99_forever <[email-masked]>
Date: Sun, 15 Nov 2009 15:42:53 -0800 (PST)

The answer is to perform a CALL FILES(1) (or maybe 2) via the call in the DSR.
--- On Sun, 11/15/09, Tursi <[email-masked]> wrote:

From: Tursi <[email-masked]>
Subject: Re: [TI994A] Ti artist file format question.....
To: [email-masked]
Date: Sunday, November 15, 2009, 4:46 PM

  

register settings)

Picture is on screen. :)

---

From: Marc Hull <[email-masked]>
Date: Sun, 15 Nov 2009 15:51:17 -0800 (PST)

Well....

Actually what I was doing is creating a title screen in MS paint and converting it to the  TI using some image converter I found on the web ??  and PAINFULLY entering the data into my source code.

What would be really cool would be if whoever (or whomever, never sure on the proper term)  wrote that image converter program would write an amendment to it that will create data statements out of the TIA data in dv80 format so that those  who like to incorporate the data into our assembly could actually do less work.  Leech alert !!!

From: Tursi <[email-masked]>
Subject: Re: [TI994A] Ti artist file format question.....
To: [email-masked]
Date: Sunday, November 15, 2009, 3:46 PM

  

register settings)

Picture is on screen. :)

---

From: "Tursi" <[email-masked]>
Date: Sun, 15 Nov 2009 21:12:36 -0500

> Actually what I was doing is creating a title screen in MS paint and 
> converting it to the  TI using some image converter I found on the web ?? 
> and PAINFULLY entering the data into my source code.
> What would be really cool would be if whoever (or whomever, never sure on 
> the proper term)  wrote that image converter program would write an 
> amendment to it that will create data statements out of the TIA data in 
> dv80 format so that those  who like to incorporate the data into our 
> assembly could actually do less work.  Leech alert !!!
>

Use my bin2inc tool, I've added a mode for TI compatible BYTE statements: 
http://harmlesslion.com/software/bin2inc

bin2inc stdafx.obj outfile.asm TEMP BYTE *

The first parameter is the file to read (in your case, the TI Artist image)
The second is the name of the file to write (the assembly file)
The third is the name of the label or array you want to create (CASE counts)
The last two parameters are used only for assembly files, if you omit them, 
it makes a C array:
The fourth parameter is the word to use for a byte declaration, that's BYTE 
on the TI
The last parameter is the string used to indicate a comment, that '*' for 
the TI.

If you are embedding the files you really should be using the RLE form, it 
will save a LOT of space in the final code. Read the documentation to see 
how to unpack them. (Pretty straightforward - read a byte, if the high bit 
is set, strip the high bit, read the next byte, and write that many copies 
of the byte to the output. If the high bit was not set, directly copy that 
many bytes from the source to the destination.

Getting the file from a PC text file into your TI assembler of choice is 
left as an exercise for the reader. ;) Classic99 can read it directly, 
TI99Dir is supposed to be able to convert text files (Fred, can you check 
that? Owen and I had trouble trying to make it work), Asm99 can read it 
directly, too. :)