home *** CD-ROM | disk | FTP | other *** search
- Some notes on the Amiga port of the jargon browser:
-
- - You need to assign jargon: to the directory where the jargon file lies
- (so you can refer to the jargon file as jargon:jargon.txt)
-
- - 2.0 users: The jargon program tries to open a custom screen as large as
- the workbench screen, even if that is very large and autoscrolling. This
- sometimes fails (or the program won't work correctly). Fix: Open a public
- screen with the desired size (e.g. with PSX by Steve Tibbett), open a
- shell on it (e.g. newshell "con:0/0/640/200/Title/SCREEN
- YourScreenNameHere") and start the jargon program from that shell - it
- will open a screen as large as the active screen (at least it does for
- me... :-) )
-
- - 2.0 users again: Due to the Amiga curses port relying on a fixed font
- height and width of 8 pixels, you cannot use another font than topaz.8. I
- modified the curses code so that it will explicitely ask for "topaz.8"
- instead of using the default font - which wouldn't work.
-
- - Users of "PopUpMenu" by Martin Adrian: On the jargon screen, there is
- a menu bar which shows you the name of the Amiga curses author. Popupmenu
- seems to get confused as there are no menu items, so it will crash (at
- least version 4.2 does on my machine). So don't press the right mouse
- button on the jargon screen when PopUpMenu is enabled (the mouse is not
- supported by the Amiga port anyway...)
-
- - jargon can be run only from the CLI, when called from workbench it just
- exits.
-
- This port would not have been possible (at least not this year :-)) without
- Simon John Raybould's (sie@fulcrum.bt.co.uk) Amiga curses (thanks to him).
- I only changed some minor things (added 3 functions for my C compiler (DICE
- 2.06.37R, thanks to Matt Dillon), used 2 bitplanes instead of 4 for the
- screen, changed the font to topaz.8 and fixed clearok() so that jargon
- wouldn't clear and redraw the whole screen on every keystroke, diffs are
- included).
-
- Apropos Amiga curses: I used version 1.23 from March 1991, it's
- ftp'able from funic.funet.fi, directory pub/amiga/new (if I remember
- right).
-
- Georg Sassen
- georg@bluemoon.GUN.de
-
- Here are the diffs for Amiga curses:
-
- *** curses-1.23.orig/src/curses.c Mon Mar 18 21:43:32 1991
- --- curses-1.23/src/curses.c Sun Dec 22 13:03:21 1991
- *************** static char *rcsid = "$Header: QUANTUM:S
- *** 51,57 ****
- --- 51,61 ----
-
- #include "acurses.h"
-
- + #if 1
- + struct TextAttr foo = {"topaz.font",8,0,0};
- + #endif
-
- +
- /* Main background screen */
- static struct NewScreen NewScreen = {
- 0, /* LeftEdge */
- *************** static struct NewScreen NewScreen = {
- *** 58,68 ****
- --- 62,80 ----
- 0, /* TopEdge */
- 0, /* Width */
- 0, /* Height */
- + #if 0
- 4, /* No. Bitplanes */
- + #else
- + 2, /* No. Bitplanes */
- + #endif
- 0, 1, /* DetailPen, BlockPen */
- HIRES, /* ViewModes */
- CUSTOMSCREEN, /* Screen type */
- + #if 0
- (struct TextAttr *)NULL, /* default font */
- + #else
- + (struct TextAttr *)&foo, /* topaz 8 */
- + #endif
- "Curses screen", /* Screen Title */
- (struct Gadget *)NULL, /* Gadget list */
- (struct BitMap *)NULL /* custom bitmap */
- *************** static void CleanExit(), CleanUp(), DoEc
- *** 131,137 ****
- static void ZapCursor(), DrawCursor();
-
- /* Define a blank mouse pointer */
- ! static USHORT __chip MyMsPtr[] = { 0, 0, 0, 0 };
-
- #define NCOLOURS 32
-
- --- 143,149 ----
- static void ZapCursor(), DrawCursor();
-
- /* Define a blank mouse pointer */
- ! static __chip USHORT MyMsPtr[] = { 0, 0, 0, 0 };
-
- #define NCOLOURS 32
-
- *************** initscr()
- *** 228,237 ****
- --- 240,256 ----
- stdscr = newwin(LINES, COLS, 0, 0);
- curscr = newwin(LINES, COLS, 0, 0); /* used for redraws */
- clearok(curscr, TRUE); /* Clear curscr on every refresh */
- + #ifndef _DCC
- if(onbreak(BreakHandler)) {
- fprintf(stderr, "Failed to set BREAK handler.\n");
- CleanExit(10);
- }
- + #else /* onbreak returns old func pointer */
- + if(!onbreak(BreakHandler)) {
- + fprintf(stderr, "Failed to set BREAK handler.\n");
- + CleanExit(10);
- + }
- + #endif
- return OK;
- }
-
- *************** wrefresh(WinPtr)
- *** 961,966 ****
- --- 980,986 ----
- memcpy(WinStat->LnArry[Line].LRLine, WinStat->LnArry[Line].Line, WinPtr->_maxx+1);
- memcpy(WinStat->LnArry[Line].LRATTRS, WinStat->LnArry[Line].ATTRS, sizeof(short) * (WinPtr->_maxx+1));
- }
- + WinPtr->_clear = FALSE; /* clrok() only valid for one wrefresh() call */
- DrawCursor();
- return OK;
- }
- *************** static int BreakHandler()
- *** 1751,1753 ****
- --- 1771,1787 ----
- fprintf(stderr, "Amiga Curses aborting after recieving signal\n");
- return 1;
- }
- +
- + #ifdef _DCC
- + int max(int a,b)
- + {
- + return (a>b?a:b);
- + }
- + int min(int a,b)
- + {
- + return (a<b?a:b);
- + }
- + char killchar() {
- + return 0x7f;
- + }
- + #endif
-