[cc65] Re: TGI summary (Atari update)

From: Fatih Aygün <cyco1301yahoo.com>
Date: 2009-10-26 22:57:05
Hi,


I've updated the drivers. It's available here: 

http://atari.isgreat.org/atari-tgi-2009-10-26.zip


> The new Atari drivers will use a black/white palette. (this one was easy:-)

DONE: I've also changed all default palettes to match c64 colors. I know it isn't very 
useful but I had to come up with some colors anyway and they seemed like reasonable 
values to me. (Atari's Mode 10 default palette is especially stupid with lots of blacks, 
it's much more usable now).

> Drivers must not clip lines, this will be done by the tgi_line wrapper.

DONE: I coded a Bresenham algorithm from scratch instead of the painfully slow OS 
default. Lack of clipping means that tgidemo could crash with some modes for now. 
(tgi_line demo assumes maxx > maxy)

> Actually I have a prototype implementation of a line clipper already
> running.

Cool! Thank you!

I also did the following:

* A "tgitest.c" which tests some tgi features that actually helped me catching
  a couple of bugs. It runs with c64 too. I don't see any reason that would prevent
  it from running in other platforms. I think when I tidy up the code a little bit and
  add a few more tests, it will be a good candidate for the "contrib" repository.

* I wrote a circle algorithm from scratch. Because the one I took from the APPLE
  driver (which is, by the way, not the same as c64) was sometimes leaving gaps 
  on the circle and I couldn't manage to debug it. Can someone confirm that on the
  APPLE side? Or did I mess something up when I was porting?

* GETPIXEL was buggy. Fixed.

* DONE was buggy. Partially fixed. Which brings us again to an issue
  about Atari memory management. I'll talk about it in my next e-mail because
  I don't want it to go unnoticed burried under the tgi mumbo jumbo :)

> Palette and color management stays as it is. Colors are actually indices
> into the default palette. If a programmer changes the palette, he has to
> implement his own color names or whatever.

What about tgidemo? It _does_ change the palette but still uses COLOR_BLACK
and COLOR_WHITE that prevents Atari drivers to work out of the box which is
kind of frustrating.

> As a final note (this was not discussed): I don't know how many drivers do not
> implement OUTTEXT. Most drivers derived from the C64 driver will not have it,
> because I was too lazy at that time:-) This should be added so programs can
> rely on it.

I will add support to it as soon as I come up with a faster BAR routine. But
there is an issue: text size functions sometimes return garbage values. And 
I just can't always reproduce it which made me think that it may be an initialization
issue. Calling tgi_textstyle first seems to solve it for now but then again it doesn't
always break anyway so I can't be sure. I looked at the source but I was lost in the 
C runtime routines :) Anyway, I will tell you more as soon as I can reproduce it properly.

TO DO:

* Faster BAR routine.
* Text output support.
* Cleanup, optimization, cleanup, optimization, cleanup...
* At least one more driver with 2 pages. I want to try 3dmaze with double buffering.
  (The original version btw, was somewhat working but not any more - clipping issues -).

Regards,
Fatih.


      
----------------------------------------------------------------------
To unsubscribe from the list send mail to majordomo@musoftware.de with
the string "unsubscribe cc65" in the body(!) of the mail.
Received on Mon Oct 26 22:57:10 2009

This archive was generated by hypermail 2.1.8 : 2009-10-26 22:57:12 CET