1
0
mirror of https://github.com/cc65/cc65.git synced 2024-06-26 20:29:34 +00:00
Commit Graph

94 Commits

Author SHA1 Message Date
uz
975a06c2ee Rewrote tgi_load_driver in assembler and fixed a possible memory leak when
doing so. Changed the behaviour in case a driver is already loaded: Since the
library cannot know if this driver was linked statically or loaded
dynamically, an already installed driver is considered an error. It must be
removed before calling tgi_load_driver.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5790 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-07-22 11:07:46 +00:00
uz
285aaf8933 Patch by Stefan Haubenthal: Remove __fastcall__ in comments and/or the
function description for functions that don't take any parameters.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5573 b7a2c559-68d2-44c3-8de9-860c34a00d81
2012-03-04 13:08:54 +00:00
uz
417a57fabd New tgi_settextdir() function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5105 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-01 21:00:51 +00:00
uz
03b147e71e Fixed a bug (Greg King).
git-svn-id: svn://svn.cc65.org/cc65/trunk@5104 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-08-01 20:59:33 +00:00
uz
9c55586569 Renamed tgi_textheight -> tgi_gettextheight, tgi_textwidth -> tgi_gettextwidth
tgi_textstyle -> tgi_settextstyle and tgi_textscale -> tgi_settextscale.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5090 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 18:36:12 +00:00
uz
83d67e930a Worked on text scaling. This is an intermediate version which doesn't work.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5089 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 18:27:01 +00:00
uz
928f675e4b Small change in the vector font format.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5088 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 17:15:54 +00:00
uz
4026a28c60 Added a new flags byte to the TGI headers. Bumped the API version.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5083 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-17 11:23:27 +00:00
uz
f36f6922f2 Fixed a typo.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5081 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-10 15:00:37 +00:00
uz
ca9d802d1e Fix width calculation for bitmap font output. Use new 8x16 multiplication
routines to save some cycles.


git-svn-id: svn://svn.cc65.org/cc65/trunk@5080 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-07-10 14:59:29 +00:00
ol.sc
a4b6b6004a Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5021 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-03 21:28:20 +00:00
ol.sc
a7a41f9415 Fixed comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5020 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-03 20:22:32 +00:00
ol.sc
4aa00e84e1 Removed tgi_load() and all corresponding infrastructure. The idea behind tgi_load() was to be able to describe a TGI mode in a target-neutral way by resolution and colordepth. However it turned out that there arn't any cc65 targets sharing any resolution. As a result the only working target-independent approach for a TGI program is to call tgi_loaddriver(tgi_stddrv); and then look up the resolution provided - and to adapt to that resolution.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5016 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-02 10:38:48 +00:00
uz
a507605a89 New TGI routines tgi_getaspectratio/tgi_setaspectratio.
git-svn-id: svn://svn.cc65.org/cc65/trunk@5009 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-05-01 18:40:38 +00:00
ol.sc
5e37ed1a16 Target-specific black & white values for use by the target-shared TGI kernel
git-svn-id: svn://svn.cc65.org/cc65/trunk@4993 b7a2c559-68d2-44c3-8de9-860c34a00d81
2011-04-25 17:11:23 +00:00
uz
6d89093d4b Removed the call to tgi_clear from tgi_init, so the screen is not
automatically cleared.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4559 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-26 16:51:03 +00:00
ol.sc
e9f69ad123 Factored out generic LINE implementation based on SETPIXEL from the three drivers previously containing the identical code.
Note: Originally I planned to create a module to be linked to the driver. However this turned out to cause quite some issues with the Makefiles - especially on the Apple2 where one driver uses to generic LINE implementation and the other doesn't. The final Makefile was so ugly that I rather opted for including the code in question on source level. In order to avoid to unwanted cross dependencies the whole .inc file content is wrapped in its own scope.

git-svn-id: svn://svn.cc65.org/cc65/trunk@4553 b7a2c559-68d2-44c3-8de9-860c34a00d81
2010-01-24 11:21:44 +00:00
uz
c6831e936a Added --forget-inc-paths to the assembler command line to avoid problems if
more than one version of ca65 is installed on the machine (Spiro Trikaliotis).


git-svn-id: svn://svn.cc65.org/cc65/trunk@4530 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-18 11:58:50 +00:00
uz
36cf23680c MAde the second parameter of tgi_ioctl a void* instead of an unsigned to keep
the interface more uniform between the driver APIs.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4518 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-12-11 14:33:53 +00:00
uz
097b094fdd Replaced TGI_ERR_NO_MEM by TGI_ERR_NO_RES
git-svn-id: svn://svn.cc65.org/cc65/trunk@4467 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-13 15:53:01 +00:00
uz
e74ed31936 Fixed TGI error codes and messages. Removed the Atari specific ones.
tgi_load_vectorfont will now return TGI_ERR_NO_MEM and clear the error code if
the load was successful.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4466 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-13 12:57:10 +00:00
uz
d1e4687540 Final touches to the first full version of the vector font output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4464 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-12 18:00:17 +00:00
uz
80b81549fd Moved outcode calculation in a separate module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4462 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-12 15:10:45 +00:00
uz
fe5adb5c4e Working on stroked font output.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4455 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-10 18:50:33 +00:00
uz
1154a11649 tgi_vectorchar takes now a char argument. Added tgi_install_vectorfont.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4454 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-06 16:18:13 +00:00
uz
e12bd13e16 Added clipping for lines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4452 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-06 15:26:46 +00:00
uz
24e68f5df3 Changed a comment.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4451 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-06 12:08:25 +00:00
uz
e319fc217b Hold the maximum X and Y coordinate in variables instead of calculating them
when needed. The variables make signed compares in the line clipper easier.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4450 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-06 12:02:52 +00:00
uz
eee4430061 Added a tgi_pieslice function.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4449 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-05 20:32:17 +00:00
uz
bafd7a7279 Fixed a sign error.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4448 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-05 20:26:23 +00:00
uz
787f069738 Moved fixed point multiplication and rounding into an asm module.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4447 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-05 20:16:43 +00:00
uz
de6050f21d Added a tgi_arc function. Removed the old ellipse code and create a new
ellipse module that calls tgi_arc.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4446 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-05 19:52:18 +00:00
uz
78070d8bfb Added tgi_circle and tgi_ellipse functions. The latter works, but could be
optimized.



git-svn-id: svn://svn.cc65.org/cc65/trunk@4445 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-05 17:14:29 +00:00
uz
18272c0427 Working on the division and multiplication routines.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4443 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 19:41:54 +00:00
uz
56e035635b Use new multiplication routine.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4439 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-04 13:46:16 +00:00
uz
87866e3099 Working on the TGI API, adding vector fonts. Only roughly tested!
git-svn-id: svn://svn.cc65.org/cc65/trunk@4432 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 22:29:49 +00:00
uz
7f865046f3 Fixed an error in the color setting code which caused tgi_init to fail.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4423 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-02 15:36:13 +00:00
uz
2e5281fa2d Added tgi_load_vectorfont(). Fixed tgi_free_vectorfont().
git-svn-id: svn://svn.cc65.org/cc65/trunk@4421 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-01 22:35:22 +00:00
uz
25ccbeeaa8 When initializing the driver, set white as the drawing color.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4420 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-01 22:33:27 +00:00
uz
57c9a8f796 Additional error code.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4418 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-01 22:01:23 +00:00
uz
5a2a741cde Added tgi_free_vectorfont.s
git-svn-id: svn://svn.cc65.org/cc65/trunk@4416 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-01 21:53:34 +00:00
uz
97ef7df9f5 Fixed a bug (wrong order of variables).
git-svn-id: svn://svn.cc65.org/cc65/trunk@4415 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-11-01 21:53:22 +00:00
uz
763fe0b802 Start of TGI changes. Untested, may not work.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4404 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-30 21:26:35 +00:00
uz
5304a8149e Changes to the TGI driver API:
* Removed CIRCLE
  * Aspect ratio is a new header variable
  * Removed the reserved bytes - it's easier to bump the API version
  * Clipping is done completely in the wrapper



git-svn-id: svn://svn.cc65.org/cc65/trunk@4396 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-29 20:13:56 +00:00
ol.sc
1d9fc5f655 Changed 'Clear the screen' to 'Clear the drawpage'.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4394 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-27 21:20:06 +00:00
uz
f24adadb9c Added a first version of a Cohen Sutherland line clipper. This version
basically works, but has rounding problems and an intermediate result overflow
in the multiplication, which causes for larger lines.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4392 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-10-26 15:37:51 +00:00
uz
7de61e351c Define a standard driver and mode for tgi graphics and use it in the sample
program. The standard driver and mode is the first one in the tgi_mode_table.


git-svn-id: svn://svn.cc65.org/cc65/trunk@4153 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:59:37 +00:00
uz
569b8d0e77 Separated tgi_load and tgi_load_driver.
git-svn-id: svn://svn.cc65.org/cc65/trunk@4152 b7a2c559-68d2-44c3-8de9-860c34a00d81
2009-09-11 18:47:33 +00:00
uz
4812feb44b git-svn-id: svn://svn.cc65.org/cc65/trunk@3863 b7a2c559-68d2-44c3-8de9-860c34a00d81 2008-08-02 22:02:54 +00:00
cuz
9a98194dc5 Code goes into the CODE segment, not RODATA.
git-svn-id: svn://svn.cc65.org/cc65/trunk@3713 b7a2c559-68d2-44c3-8de9-860c34a00d81
2006-03-31 20:07:43 +00:00