]> git.sur5r.net Git - cc65/blobdiff - doc/geos.sgml
Changed most "backticks" (grave accents) into apostrophes.
[cc65] / doc / geos.sgml
index a9b6f58f31d140e0e9c6ba669dc110092644450c..eb8d749392817baf4f294c3fa9f9c3c3495904fc 100644 (file)
@@ -1,12 +1,9 @@
 <!doctype linuxdoc system>
 
 <article>
-
-<!-- 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">
+
 <abstract>
 This is the documentation of cc65's GEOSLib, but information contained here may be also
 useful for writing GEOS applications in general.
@@ -39,9 +36,7 @@ than 1541, 1571 or 1581. RAM drives emulating these should work.
 <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>
@@ -53,10 +48,7 @@ changed between <tt/tgi_init/ and <tt/tgi_done/.
 It is safe to use these standard includes and their contents:
 <tt/assert.h, conio.h, dio.h, errno.h, em.h, geos.h, joystick.h, modload.h, mouse.h, stdlib.h, string.h, tgi.h, time.h/
 <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/
+For <tt/time.h/ functions <tt/clock()/ and <tt/clock_gettime()/ note that the resolution is one second.
 <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.
@@ -76,21 +68,19 @@ programs.
 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="https://cc65.github.io/">.
     <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="https://spiro.trikaliotis.net/opencbm">.
 </itemize>
 <p>
 VICE and cc65 are portable - they run on variety of platforms - DOS, Win32 and UNIX. GEOSLib only
@@ -198,6 +188,14 @@ are covered by new names, but I tried to keep them in the naming convention.
 <p>
 This section covers the drawing package of GEOS along with text output routines.
 
+<sect2>SetNewMode
+<p>
+<tt/void SetNewMode (void)/
+<p>
+This function is intended for use by GEOS 128 only, and will exhibit undefined behavior on the
+C64.  It will toggle between the 40 column screen mode and the 80 column screen mode.  Many C128 GEOS
+programs implement a "Switch 40/80" submenu option under the <tt/geos/ menu.
+
 <sect2>SetPattern
 <p>
 <tt/void SetPattern (char pattern)/
@@ -319,16 +317,6 @@ This function tests if the given pixel is set and returns <tt/true/ (non-zero) o
 
 <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)/
@@ -833,14 +821,14 @@ but also removes it from drive RAM (not quite true, but it works like that). Aft
 <p>
 <tt/char ChangeDiskDevice (char newDevice)/
 <p>
-This function changes the logical number of the current device (in fact drives only) to 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 have drive number 9 then GEOS will probably
-hang on disk access. Use safe, large numbers. Note that the safe IEC range is 8-31.
+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.
 
 <sect2>Disk Initialization
 <p>
-GEOS has two functions for initialization ('logging in' as they say on CP&bsol;M) of a disk.
+GEOS has two functions for initialization ('logging in' as they say on CP/M) of a disk.
 <sect3>OpenDisk
 <p>
 <tt/char OpenDisk (void)/
@@ -858,7 +846,7 @@ This function is similar to the DOS command I. It clears the REU cache and enabl
 
 <sect1>Files
 <p>
-This section cover the GEOS file interface.
+This section covers the GEOS file interface.
 
 <sect2>Directory handling
 <p>
@@ -1199,24 +1187,24 @@ after <tt/InitProcesses/, because it resets all flags and counters and it starts
 <p>
 <tt/EnableProcess/ forces the given process to execute by simulating the timer expiring.
 
-<sect2>BlockProcess and UnBlockProcess
+<sect2>BlockProcess and UnblockProcess
 <p>
 <tt/void BlockProcess (char processNumber)/
 <p>
-<tt/void UnBlockProcess (char processNumber)/
+<tt/void UnblockProcess (char processNumber)/
 <p>
 <tt/BlockProcess/ disables the execution of the given process, but this does not disable the timers.
-It means that if you call <tt/UnBlockProcess/ before the timer runs out, the process will be executed.
+It means that if you call <tt/UnblockProcess/ before the timer runs out, the process will be executed.
 <p>
-<tt/UnBlockProcess/ does the opposite.
+<tt/UnblockProcess/ does the opposite.
 
-<sect2>FreezeProcess and UnFreezeProcess
+<sect2>FreezeProcess and UnfreezeProcess
 <p>
 <tt/void FreezeProcess (char processNumber)/
 <p>
-<tt/void UnFreezeProcess (char processNumber)/
+<tt/void UnfreezeProcess (char processNumber)/
 <p>
-<tt/FreezeProcess/ disables timer for given process. <tt/UnFreezeProcess/ does the opposite.
+<tt/FreezeProcess/ disables timer for given process. <tt/UnfreezeProcess/ does the opposite.
 This is not equal to <tt/RestartProcess/ as timers are not reloaded with initial value.
 
 <sect2>Sleep
@@ -1573,7 +1561,7 @@ char text = "foo";
        DB_VARSTR (TXT_LN_X, TXT_LN_1_Y, &amp;r15),
        ...
 </verb></tscreen>
-will cause the word ``foo'' to appear in the window, but you may store the pointer to any text in
+will cause the word ''foo'' to appear in the window, but you may store the pointer to any text in
 <tt/r15/ (in this case) before the call to DoDlgBox.
 <p>
 <tt/DB_GETSTR(x, y, ptr, length)/ - will add a input-from-keyboard feature. <tt/ptr/ works as in the