home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
rtsi.com
/
2014.01.www.rtsi.com.tar
/
www.rtsi.com
/
OS9
/
OSK
/
MISC
/
vh_1.4.lzh
/
VH
/
README.AMIGA
< prev
next >
Wrap
Text File
|
1994-02-10
|
5KB
|
152 lines
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