<!-- Title information -->
<title>GEOSLib docs
-<author>Maciej Witkowiak, <htmlurl url="mailto:ytm@elysium.pl" name="ytm@elysium.pl">
-<date>v1.5, 26.12.1999, 2000, 2001, 2002, 2003, 2005
+<author><url url="mailto:ytm@elysium.pl" name="Maciej Witkowiak">
+<date>2014-04-11
<abstract>
This is the documentation of cc65's GEOSLib, but information contained here may be also
useful for writing GEOS applications in general.
<p>
<tt/conio/ - simple console input-output is available for command line applications.
This implementation assumes that one character does fit in 8x8 cell, so output with
-default BSW font, which is has 9 points, might be a bit messy.
-<tt/cputs/ does output characters with fixed width, for proportional spacing use
-<tt/cpputs/ but this function does not update cursor. There is no color support in
+default BSW font, which is has 9 points, might be a bit messy. There is no color support in
GEOS 2.0 so color functions are disabled. Both 40 and 80 column modes are supported
and automatically detected.
<p>
<p>
For <tt/time.h/ functions <tt/systime()/ and <tt/clock()/ note that the resolution is one second.
<p>
-It was not tested enough, but functions from these includes might work under GEOS:
-<tt/rs232.h, zlib.h/
-<p>
Functions from the headers above are either standard C library functions or cc65-specific, in
either case they are not GEOS specific and so they are not described here.
<p>
The software needed:
<itemize>
<item><em/cc65/ Excellent package containing a C crosscompiler, a crossassembler and a linker, you
- can get it from: <htmlurl url="http://www.cc65.org/"
- name="http://www.cc65.org/">
+ can get it from: <url url="http://cc65.github.io/cc65/">.
<item><em/VICE/ This is a portable C64, C128 and few other Commodore computers emulator, you
- can obtain it from: <htmlurl url="http://www.viceteam.org/"
- name="http://www.viceteam.org/">. The VICE package contains the
- c1541 program that is able to convert/unconvert GEOS files to disk images.
- <item><em/Star Commander/ This tool is only for DOS. You will need it for transferring
+ can obtain it from: <url url="http://vice-emu.sourceforge.net/">.
+ The VICE package contains the <em/c1541/ program that is able
+ to convert/unconvert GEOS files to disk images.
+ <item><em/The Star Commander/ This tool is only for DOS. You will need it for transferring
object files from a PC to a 1541. There's also one important ability of this
tool - it automatically un-converts .cvt files into GEOS native format on
- disk image files.
- <item><em/cbm4linux/ A Linux kernel module that allows for communication with a 1541 and
+ disk image files. Check out: <url url="http://sta.c64.org/sc.html">.
+ <item><em/opencbm/ A package that allows for communication directly with a 1541 and
other Commodore IEC bus drives. It can be a replacement for Star Commander if
you only want to transfer files to a disk and unconvert using GEOS program for
- this purpose. Check out: <htmlurl url="http://www.lb.shuttle.de/puffin/cbm4linux/"
- name="http://www.lb.shuttle.de/puffin/cbm4linux">
+ this purpose. Check out: <url url="http://opencbm.sourceforge.net/">.
</itemize>
<p>
VICE and cc65 are portable - they run on variety of platforms - DOS, Win32 and UNIX. GEOSLib only
<sect2>Character and string output
-<sect3>cpputs
-<p>
-<tt/cpputsxy (char x, char y, char *myString)/
-<p>
-<tt/cpputs (char *myString)/
-<p>
-Actually this is a part of <tt/conio/, but this function is non-standard. It is
-a variation of <tt/cputs/ that outputs the string with proportional spacing, not
-fixed like <tt/cputs/.
-
<sect3>PutChar
<p>
<tt/void PutChar (char character, char y, unsigned x)/
<p>
<tt/char ChangeDiskDevice (char newDevice)/
<p>
-This function changes the logical number of the current device (in fact drives only) to the given one. It is
+This function changes the device number of the current device (in fact drives only) to the given one. It is
usable for swapping drives. There's no check if the given <tt/newDevice/ already exist, so if you want
to change the logical number of drive 8 to 9 and you already have a drive number 9 then GEOS will probably
hang on disk access. Use safe, large numbers. Note that the safe IEC range is 8-30.