ForthNet@willett.UUCP (ForthNet articles from GEnie) (01/05/90)
Date: 12-23-89 (14:33) Number: 1686 (Echo) To: DENNIS RUFFER Refer#: 1685 From: STEVE PALINCSAR Read: NO Subj: FPC FORTH????????? Status: PUBLIC MESSAGE Dennis, I ran both F83 and HS/Forth for at least two years on a Zenith Z150 which had a V20 as a replacement for the 8088, and it worked just fine. No discernable difference at all (either faster or slower). ----- This message came from GEnie via willett through a semi-automated program. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (01/11/90)
Category 1, Topic 21 Message 118 Tue Jan 09, 1990 R.BERKEY [Robert] at 22:00 PST To: Christopher S. Weimann Re: F-PC's HWRITE only working once Take a look at adding DEF-RWMODE after the READ-WRITE , or moving the READ- WRITE to within the colon definition as in the definition of ?READFILE . I don't know why F-PC defaults to "read-only". I've added READ-WRITE DEF- RWMODE to BLOCK.SEQ and consequently I normally run with the read/write default mode set to "read-write". Seems to work ok. Robert Berkey ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (01/16/90)
Date: 01-14-90 (16:27) Number: 1711 To: ALL Refer#: NONE From: BILL MCCARTHY Read: (N/A) Subj: F-PC 3.50 FIX Status: PUBLIC MESSAGE One problem I've noticed with the FPC editor under 3.50 is the loss of screen contents when returning from the editor. This can be fixed by a change to TOPEDIT.SEQ: In the word <RED> add "SAVECURSOR" between ": <RED>" and "SAVESCR" and add "RESTSCR RESTCURSOR" between "THEN" and "CR ;" ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/12/90)
Category 1, Topic 21 Message 125 Sun Feb 11, 1990 R.BERKEY [Robert] at 03:47 PST There is an F-PC SED bug, requiring a reset, when the file is of length zero. Here is a fix. SEDITOR.SEQ was: : read.oldfile ( --- ) \ get existing file off> newfl ed1hndl endfile or \ it must have a length if read.openfile \ read it outbuf c@ 0<> \ did we get it all if .partial \ if not then warn user a then \ partial read was performed else true " File is of length ZERO." ?terror then ; SEDITOR.SEQ as modified: : read.oldfile ( --- ) \ get existing file off> newfl ed1hndl endfile d0= abort" File is of length ZERO." \ it must have a length read.openfile \ read it outbuf c@ 0<> \ did we get it all if .partial \ if not then warn user a then ; \ partial read was performed ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/16/90)
Date: 02-14-90 (21:07) Number: 1747 (Echo) To: ARCHIE WARNOCK Refer#: 1745 From: DAVID BOYD Read: NO Subj: F-PC HANGS? Status: PUBLIC MESSAGE I've found that if I copy the HYPER.NDX file from D:\FPC to whatever directory I am working in, everything works just fine. So, the question is, why can't FPC find D:\FPC\HYPER.NDX from a subdirectory on A:, B:, C:, D:, E:, or F:, given that FPATH contains the location of it? --- ~ EZ 1.24 ~ Oh, so that's what happened, huh? ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/16/90)
Date: 02-14-90 (21:07) Number: 1748 (Echo) To: ALL Refer#: NONE From: DAVID BOYD Read: (N/A) Subj: TZK350.zip Status: PUBLIC MESSAGE I went through the method to incorporate the changes from TZK350.zip to FPC 3.50. However, even though VIEW EMPTY works fine, if I try something like VIEW EMIT, I get Defined from Keyboard. It seems as if every DEFERed def is said to have been defined from the keyboard. So, I went back to plain old FPC 3.50. Any ideas? To get the system up at first, I used VARIABLE FILE# VARIABLE LIST# FSAVE F-PC then I ran FMETA.bat, and then EXTEND.bat. No unresolved references, compiled beautifully. Just can't find any DEFERed source code. --- ~ EZ 1.24 ~ ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/16/90)
Date: 02-15-90 (00:39) Number: 1749 (Echo) To: ALL Refer#: NONE From: DAVID BOYD Read: (N/A) Subj: >H and H> in StreamIO.zip Status: PUBLIC MESSAGE What do H> and >H do? They don't seem to be in my FPC 3.50 anywhere? They are in the DOSFILE.TXT file of STREAMIO.ZIP, and it looks as if they are used to preserve something, perhaps all of the registers? ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/18/90)
Date: 02-15-90 (12:04) Number: 1750 (Echo) To: ROY RICE Refer#: 1746 From: DAVID BOYD Read: NO Subj: LONG CALLS Status: PUBLIC MESSAGE RR>How do you know when to use the 'long' words such as cmovel? When you want to address memory that is not in FPC's normal memory space, such as writing to the Video Screen at 0xB800, you must use the 'long' words, such as CMOVEL. Anything that is inside of FPC, such as strings and data, can be manipulated with 'short' words, such as CMOVE. --- ~ EZ 1.24 ~ ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/19/90)
Date: 02-17-90 (08:14) Number: 1752 (Echo) To: ALL Refer#: NONE From: DAVID BOYD Read: (N/A) Subj: FPC 3.50 and FSTRINGS Status: PUBLIC MESSAGE I am trying to use FSTRINGS.src in FPC 3.50. I used a copy of f83s to clean out all the MasterForth screens and load screens. I changed the definition of _'INPC to ignore the BLK and BLOCK words : _'INPC ( i -- a ) \ Returns address for offset index in the input stream. TIB + ; It floads ok, then I fload fstest, the accompanying test file, and whe it gets to "Testing [$LIT]", Software reset, Reboot to Continue, ..., The problem is with [$LIT]. I haven't studied any of this with enough depth to see just what is going on inside of FPC. Somewhere in the following definition is the cause for a Software RESET. I think it is being caused by the COMPILE BRANCH statement, but that is just my SWAG : [$LIT] ( -- string ) \ "bracket-s-lit" \ Compiled string literal COMPILE BRANCH HERE 0 , \ forward branch around string HERE ,$ HERE ROT ! [COMPILE] LITERAL ; IMMEDIATE This makes it crash ---------------------------------------+ | +---------------------------------------------------------+ | | \ Test [$LIT] ( -- string ) GTH 09/11/87 | | | | | | TESTING '[$LIT]' | | | | | | : COMP$ [$LIT] 'ABCDEFGHIJKLMNOPQRSTUVWXYZ' ; <------------+ | COMP$ @ \ should give ( -- 26 ) | | 26 CHECK '[$LIT]' REGARDING LENGTH | | | | S1 _CF+ COMP$ _CF+ 26 SAME? \ should give ( -- TRUE ) | | TRUE CHECK '[$LIT]' REGARDING CONTENTS | | | | HAS '[$LIT]' ALTERED STACK? | +---------------------------------------------------------+ What must the definition of [$LIT] be to jump around a string that is being compiled? --- ~ EZ 1.24 ~ I am very FORTHward in my opinions... ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/25/90)
Date: 02-24-90 (01:45) Number: 1754 (Echo) To: MARK SMILEY Refer#: 1725 From: MIKE SPERL Read: NO Subj: BRECALL Status: PUBLIC MESSAGE 1Mark, > An excellent first step. I am eager to see the results. Sorry to bbe away so long. Have my 386 running now, and have DOS 4.01 installed and have been reading all the directions, so had to put aside the Project for a while, but I'm finally back in businness. >I noticeed in your note to Pete that you are getting a 386 machine. >Sounds nice. If you don't mind my curiosity, what >kind/confiiguration did you decide on? I got a 20MHz AMI motherboard with 4MB dram (takes up to 16) and a 64K sram cache as well as a 387. The AMI bios is something else: built-in diaggnostics with windows, menus; analyzes the hard disk for bad sectors (and reported the same addrresses as the factory in the case of three hard disks I tried with it), does the lo level format and automatically tries various iinterleaves to find the best (2:1 for my two disks), tests the floppy drives, vga boardd, communications board, etc., etc. ... The board accepts any 8 or 16 bit peripheral so I can use all my old XT-clone boards with it, even the ramdisk, which I tried out to see if it would really work, aand it ran flawlessly (but it's now in my wife's xt-clone; who needs it with 4MB ram?). The i/o from the peripherals is cached so the cpu sees only 0 wait state 32 bit sram when the cache is enabled. I have to slow it down to 8MHz for VKAL! They make the same board to run at 25 and 33 MHz, but this is the best buy at 1300. If you decide to upgrade (you should!)), I'll tell you where I got that pprice. The good news: I backed up everything seeveral times before trashing my old computer. The badd news: I have so many backups I'm confused about what goes with what, and it'll take a while to sort everything out so i'm back where I was two weeks ago. I finnallly got around to upgrading to f-pc ver. 3.5, and got most of my tools installled in it. New-expect even workss with Tom's editor now without forcing you to do a warm boot to get bacck to forth. And I love his new browse/view system, but miss the editor's help screens that accompanied previous veersions (I don'tt use it enough to be fully conversant with aall the keystrokes). >> there's a place forr your header information without disturbing >> the gif fformat. > Great! Is there a limit on the sppaace, or is it variable? Set it up any way you like. The size is arbitrary, because a special mark '!' and count identifies it and a gif viewer that doesn't understand it will just sskip over itt. If you want to work on it, I'm uploading the front-end code in DGIF1.ZIP for you to examine, and you'll see where your header goes. The setup you sent me will be just fiine, or,, if you wish, you can modify it. Hope I didn't cause you any trouble suggesting a change in DEFER. I've looked into it and the change needs to be made, but it will take some doing. DEFER is defined no less than thrree times during metacompilation, and words are deferred before DEFER is defined! So we'll have to see which defer is doing what and change them all, including one in the metacompiller itself. Maybe someone more familiar with the metacompiler could be interested to help? Meanwhile, I thought consideration might be given to a more effficient jump table mechanism to direct a program to the correct code, eliminating the use of defer if possible. What do you think? Seems to me DEFER is a bit overused in f-pc. Between the timee one pressess enter and the time 'ok' appears, there are at least a dozen deferred words! I single-steppedd the code to see. And there are 45 deferred words (found by fgrepp) just in the kernel! And about 300 in the whole systtem! For 2000, that's every sixth wworrd! - Mike - ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/25/90)
Date: 02-24-90 (01:50) Number: 1756 (Echo) To: GENE CZARCINSKI Refer#: 1564 From: MIKE SPERL Read: NO Subj: PASM FOR F-PC Status: PUBLIC MESSAGE Gene, Thanks for the great jobb you're doing on a 386 assembler for F-PC. We need a public domain F-PC386 eventually, and the work you're doing is a big first step. I hope you'll implement all the prottected mode instructions so we can release forth from the 640K DOS memory prison. "Protected" is a misnomer; there is an ennormous amount of memory available, along with features like virtual memory with hardware support for paging and the built--in debug reegisters that support 4 breakpoints in either code or data so forth code can almost debug itself (with a little help from us). There's even hardware support for multitasking (that's where the protection comes in; a bug in one program won't cause forth to go off iinto the boonies). Regarding the design of a 386 forth, what are your thoughts on stack width? The following code you included in the pasm386c.zip package illustrates beautifully the situation when 386 instructions are used with forth's 16 bit stack. >\ 386 Double Precision Multiply >CODDE (D**) ( 'd2 'd1 -- 'dprod ) > pop eax > pop ebx > mmul ebx > push eax > next > END-CODE > >: D* ( d1 d2 --- dprod ) > swap 2swap swap \ setup > (D*) \ do it > swap ; However, iit's not neccessary to use an ineffiicient nested word and all thhe uugly stack thrashing, aas the following illustrates. \ signed 32 bit integer multiply with error checking code d* ( d1 d2 -- dprod ) pop eax \ hi word in ax because of 16 bit stack ppop ebx rol eax, # 16 \ ccorrect for fortth's 16 bit sstack (3 clks) rol ebx, # 16 \ 3 clocks imul eax, ebxx \\ "imul ebx" => 64 bit prod. in edx:eax jc 1 $ \ cf set if 32 bit prood. overflows eax rol eax, # 16 \ correct for forth's 16 bit stack push eax next 1 $: push # ttrue \ -1. indicates overflow push # true \ ok to mix 8086 and 386 instructions! next c; Error checking can be added at little cost, as well. I wonder iif it wouuldn't be best to keep the 16 bit stack for efficiency, since forth does lots of things witth bytes and words and a 32 bit stack woould lead to a great deal of wasted space. The 32 bit stack is only helpful for math oriented programs, and, in protected mode, forth couuld have a separate 32 bit stack for math operations if these were placed in their own code segment. Stacks should be in a separate segments, anyway. F-PC hasn't caught up with other languages in it's use of the sttack. Anotheer question: I tried to metacompile the version 3.5 kernel with pasm386 (in 80088/886 mode) and it bombed in kernel1 in LABEL DOCONSTANT on the line NEXT ENDCODE with a "line 166 - stack underflow" message. The pasmm.seq that comees with F-PC works. Am I doing something wrong? This is the offending code:: LABEL DOCONSTTANT MOV BX, AX PUSH 3 [BX] NEXT END--CODE - Mike - ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/25/90)
Date: 02-24-90 (01:52) Number: 1757 (Echo) To: BILL MCCARTHY Refer#: 1734 From: MIKE SPERL Read: NO Subj: IMPLEMENTATION OF 'X' Status: PUBLIC MESSAGE Bill, >...if youu are running with CAPS ON, 'a' will give >different results when interpreting (65) and compiling (97). I run with CAPS ON so I tried : t1 'a' . ; t1 : t2 ascii a . ; t2 as well as 'a' . ascii a . and with 'A' also, and got correct results in all cases. What do you mean? - Mike - ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/27/90)
Category 1, Topic 21 Message 141 Sun Feb 25, 1990 R.BERKEY [Robert] at 19:29 PST Topic: F-PC 3.5 PASM bug report postfix code test1 sseg es mov end-code is assembling es, sseg mov ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
leff2@unix.cis.pitt.edu (Louis Leff) (02/27/90)
I just noticed a very interesting posting about a 386 PASM for F-PC, apparantly called PASM386c.zip Where can I, and others get a copy--sounds good!
ForthNet@willett.UUCP (ForthNet articles from GEnie) (02/28/90)
Category 1, Topic 21 Message 142 Mon Feb 26, 1990 M.HAWLEY at 21:06 EST Just a hunch, but try a vertical format. ie try: code test1 sseg es mov end- code Sometimes for reasons I don't pretend to understand, the format seems to make a difference. ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
dwp@willett.UUCP (Doug Philips) (02/28/90)
In <22564@unix.cis.pitt.edu>, leff2@unix.cis.pitt.edu (Louis Leff) writes: > I just noticed a very interesting posting about a 386 PASM for > F-PC, apparantly called PASM386c.zip > > Where can I, and others get a copy--sounds good! I just looked on GEnie and this file doesn't seem to be there yet. If/When it shows up on GEnie, I'll download it and send if off to be put into the SIMTEL20 archives (and I'll drop the net a note at the same time.) -Doug --- Preferred: willett!dwp@gateway.sei.cmu.edu OR ...!sei!willett!dwp Daily: ...!{uunet,nfsun}!willett!dwp [in a pinch: dwp@vega.fac.cs.cmu.edu]
ForthNet@willett.UUCP (ForthNet articles from GEnie) (03/03/90)
Date: 03-01-90 (22:06) Number: 1765 (Echo) To: ALL Refer#: 1736 From: MIKE CHRISTOPHER Read: (N/A) Subj: FPC BUGS! Status: PUBLIC MESSAGE Hello, I am back with the bug report on fpc 3.5 I will upload my letter i wrote to tom. FPC is remarkably bug free! These are little nasties i bumped into with fixes i could do. I also loaded speedkey, a free keyboard speed up. It is called speedkey.com and the letter is called tom.txt I am busy but i'll try to get some goodies together for you. What i did was make a system on top of fpc that implements a page description language for a REAL fast laser printer designed for the prinitng industry. It worked extremely well and the bosses and customers love forth. You don't have to use forth to use it but it's right there if you need it and since the the people who write the descriptions are programmers (cobol types!) they snap the forth right up the people who later "run" the jobs only see a fpc menu It uses a 9 track tape for the variable input (names, etc) but can generate barcodes without any input tapes. I run on a 33 mhz compaq it's pretty darn fast! I am trying to support tom with an upgrade each time we ship a system and want to contribute where i can. I joined fig (shouldve years ago!) recently and intend to go to the meetings here in dayton. forthfully yours, mike christopher ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (03/07/90)
Date: 03-05-90 (22:59) Number: 505 (Echo) To: ALL Refer#: NONE From: PETER HILTZ Read: (N/A) Subj: MEMORY SEGMENTS Status: PUBLIC MESSAGE Does anyone know why I am getting only 35338 for Code Segment memory and only 34064 for List Segment memory on F-PC 3.5? I'm running MS-DOS 4.0 on a 386 IBM Compatible (Northgate) w/ 4 Meg of RAM. Is this normal or am I missing something on installation? ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (03/07/90)
Date: 03-06-90 (03:13) Number: 1776 (Echo) To: MIKE SPERL Refer#: NONE From: MARK SMILEY Read: NO Subj: BUG IN NEW_EXPECT Status: PUBLIC MESSAGE Mike, Here's one "bug" in new_expect with F-PC v. 3.50. Try loading DOSEDIT.SEQ (which contains new_expect), then try the following sequence from F-PC 3.50: OPEN <filename> ED When I do this, Forth puts the <filename> after ED, then says: <filename> ? and refused to edit the file. Mark ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (03/12/90)
Date: 03-10-90 (13:55) Number: 1780 (Echo) To: ALL Refer#: NONE From: JIM BILDERBACK Read: (N/A) Subj: TECHNICAL HELP REQUEST Status: PUBLIC MESSAGE Hi folks .. hoping for FPC technical assistance . 1) regarding dis8086, I don't have a handle on the structure of forth and fpc yet but i'd like the disassembler to to show the variable / constant Name not location or value. Isn't it possible, given the location/value to somehow search the head space for a reference and thus tie in the name ?? if so can you give me some hints as to how to go about this ? speed is not an issue, i don't care if the entire head space has to be searched. 2) also on dis8086, can't a pause be built in if either the end of a definition is found (next, 1push, etc) or the another definition starts ?? I must confess that the dis8086 code looks like the finest of forth black magic to me, but i presume someone familiar with such things could offer a simple (?) solution. 3) It would be nice if the PASM and dis8086 supported V20 codes. I'm puttering with some video stuff which would benefit immensely. Certainly there are many more V20s around than 8087s , etc. and i presume testing for, and then vectoring to, an optional v20 word wouldn't take up much space, but would enhance graphics etc. considerably with the bit manipulation abilities, etc. 4) does anyone know how the stack is handled with the FPC compiler? is it like earlier .com versions of turnkey where you have to keep 64K for your application so you don't wipe out the stack area(s)? has anybody written a TSR module for the compiler? I'm trying but it is beyond my abilities, so far .. . So much for the novices .. all problems, no help. ANY HELP IS APPRECIATED .. jb ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (05/05/90)
Date: 05-03-90 (21:01) Number: 1797 (Echo) To: ALL Refer#: NONE From: CRAIG DEADY Read: (N/A) Subj: F-PC Cross Compiler Status: PUBLIC MESSAGE Does anyone know of a cross compiler for the Zilog Z-80 microprocessor that runs under F-PC? It can be just an assembler or better yet cross compile F-PC code to the Z-80. Thanks, Craig ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (05/06/90)
Date: 05-04-90 (23:17) Number: 1798 (Echo) To: CRAIG DEADY Refer#: 1797 From: JERRY SHIFRIN Read: NO Subj: F-PC Cross Compiler Status: PUBLIC MESSAGE CD>Does anyone know of a cross compiler for the Zilog Z-80 microprocesso CD>that runs under F-PC? It can be just an assembler or better yet cross CD>compile F-PC code to the Z-80. You may want to take a look at F68HC11A.ZIP. It's a cross-assembler for the 68HC11 you may find useful as an example. It's written in Forth-83 and should be mostly portable to F-PC. --- ~ EZ 1.26 ~ [You can get this directly from ECFB (see the OLIS FORTHNET file for more info on ECFB and ForthNet in general). I can try to get it from GEnie (there has been a recent flood of new files so I don't know if it is there or not) and then try to send it on to SIMTEL20 for those with Anonymous FTP access. Send inquires along these lines to one the addresses below. -Doug] ----- This message came from GEnie via willett through a semi-automated process. Report problems to: 'uunet!willett!dwp' or 'willett!dwp@gateway.sei.cmu.edu'
ForthNet@willett.UUCP (ForthNet articles from GEnie) (05/26/90)
Date: 05-21-90 (23:43) Number: 3275 (Echo) To: GARY SMITH Refer#: NONE From: DAVID FOX Read: NO Subj: F-PC GENERAL INFORMATION Status: PUBLIC MESSAGE I agree, the F-PC (especially version 3.5) is a beautiful Forth development system, and doesn't suffer from all the hindrances of earlier Forths for the IBM (ex. screens vs. filepaths, a major problem of the earlier Forth systems.) -> MegaMail(tm) #0:But God Told me to use a goto. 1.12 PCRelay:SNAKEPIT -> RelayNet (TM) 4.10a14 The Snake Pit - (408)287-2353 - San Jose, CA NET/Mail : DC Information Exchange, MetroLink Int'l Hub. (202)433-6639 ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu
ForthNet@willett.UUCP (ForthNet articles from GEnie) (05/26/90)
Date: 05-23-90 (22:10) Number: 1803 (Echo) To: ALL Refer#: NONE From: CRAIG DEADY Read: (N/A) Subj: F-PC Problem? Status: PUBLIC MESSAGE I have found the cause of most of the problems. Values left on the stack were un-resolved addresses from a jump. The system hanging was from two sources; one was that I had a type in a move statement ( was MOVE instead of MOV), and the second was the word /NOLISTING, which caused the system to return to dos. The third problem of having the wrong line displayed when there is an error, is still present. I tried both the PASM.SEQ and PASM386.SEQ files, the 386 version works better and has a better decompiler. I would like the decompiler to stop at the end of the code word though. Thanks, Craig ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu
ForthNet@willett.UUCP (ForthNet articles from GEnie) (07/20/90)
Date: 07-16-90 (17:08) Number: 3527 (Echo) To: ALL Refer#: NONE From: JACOB MAIER Read: (N/A) Subj: FPC FILE READS Status: PUBLIC MESSAGE Help Help ? I am working with f-pc but I can't get it to read or write a file. Clearly I have forgotten something. Can anyone help me? I have created a handle. I have stored a name in it. I achieve a sucessful open. I can move the pointer. I just can't get it to read or write useing hread or hwrite. any suggestion as to why would be gratefully recieved. Gratefully yours Jake PCRelay:CRS -> PCRelay: CanRemote -> RelayNet (tm) 4.10a14 Canada Remote Systems * Toronto, Ontario NET/Mail : DC Information Exchange, MetroLink Int'l Hub. (202)433-6639 ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu
ForthNet@willett.UUCP (ForthNet articles from GEnie) (07/23/90)
Category 1, Topic 21 Message 82 Thu Jul 19, 1990 R.BERKEY [Robert] at 20:50 PDT To: Jacob Maier Re: Msg of 900716 Subj: FPC FILE READS Here's F-PC file-reading code that worked for me. handle ABC \ make file handle : try-a-file-read ( -- ) " temp.seq" ">$ ABC $>handle \ move file name to handle read-write \ set read-write mode ABC hopen abort" Can't open file!" \ abort if can't open pad 80 ABC hread ( n) \ read (upto) 80 bytes to PAD pad swap type ; \ and display them ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or willett!dwp@hobbes.cert.sei.cmu.edu
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (08/24/90)
Date: 08-21-90 (21:14) Number: 3683 (Echo) To: NICK JANOW Refer#: NONE From: ZAFAR ESSAK Read: NO Subj: INTERPRETED " Status: PUBLIC MESSAGE In F-PC " text" is compiled at here and returns the address and length of the string. Even in the interpretative mode the string is still compiled at here, therefore: HERE " some text" COUNT TYPE will display the string, but the dictionary pointer has been advanced and the string is now a permanent part of the dictionary space. --- * Via Qwikmail 2.01 NET/Mail : British Columbia Forth Board - Burnaby BC - (604)434-5886 ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or dwp@willett.pgh.pa.us
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (08/27/90)
Category 1, Topic 21 Message 85 Sun Aug 26, 1990 R.BERKEY [Robert] at 14:54 PDT Zafar Essak writes, 90-08-14: > Furthermore, I noticed by your example that " 078.1" implies that in > your system the Forth word " can be used in the interpretative mode, > not just when compiling. Is this true? Oh, sure. Here is the source. Seems to work on F-PC with one change: COMPILING? is STATE @ : <"> \ ;v string at HERE ;p state smart string primitive \ compiling: & # -- \ interpreting: & # -- & # \ runtime: -- & # COMPILING? IF COMPILE (") HERE X, TUCK HERE PLACE 1+ ALLOT ELSE PAD PLACE PAD COUNT THEN ; : " ( string" \ -- ) ( runtime: -- & # ) '"' PARSE <"> ; IMMEDIATE ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or dwp@willett.pgh.pa.us
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (09/14/90)
Date: 09-11-90 (19:43) Number: 1816 (Echo) To: ALL Refer#: NONE From: MIKE NEMETH Read: (N/A) Subj: FPC353 TCOM Status: PUBLIC MESSAGE If you decided not to download fpc353 because it's mostly bug " fixes" , do consider downloading the tcom forth compiler which is in FPC353-5, I beleive. In my option it has been improved quite a bit. The "short" branch problem has been handled and there is suport for such things as Herc graphics and floating point. ----- This message came from GEnie via willett through a semi-automated process. Report problems to: uunet!willett!dwp or dwp@willett.pgh.pa.us
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (10/05/90)
Date: 09-25-90 (20:11) Number: 3857 (Echo) To: ALL Refer#: NONE From: BILL GARAND Read: (N/A) Subj: F-PC 3.5 Status: PUBLIC MESSAGE I have just recently started using F-PC v3.5 . This is an excellent development system that could go a long way towards changing FORTH's image. I noted in the documentation that Tom Zimmer has a target compiler that will only compile the words required by the application. Has anyone used this yet? I wonder how many passes must be made to include the dictionary tree for application words down to the FORTH kernel? NET/Mail : RCFB Golden, CO (303) 278-0364 VESTA & Denver FIG for Forth! ----- This message came from GEnie via willett through a semi-automated process. Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (12/06/90)
Date: 12-02-90 (18:28) Number: 361 of 368 To: M.SMILEY1 Refer#: NONE From: IAN WATTERS Read: NO Subj: 32-BIT ADDRESSING IN F-PC Status: PUBLIC MESSAGE Conf: FORTH (58) Read Type: GENERAL (+) M.=> Here's my problem: I want to do Laser-Printer-resolution graphics M.=>images. The simplest way to do this involves an enormous array. After M.=>So I want to use memory beyond 640K. Not sure if this'll get to a GENIE user, but... Yes, I've done something like this. The best solution seems to be to write the program so it swaps out sections of the bitmap to disk -- then run it with a big ramdisk set up in extended memory. It might not be as fast as direct addressing, but it'll be portable and easy. OK, *easier* anyway! //\/\/ --- ~ SLMR 1.05 #109 ~ Unpopulated RAM Boards Rule 0k PCRelay:OLEF -> #181 RelayNet (tm) 4.10a15 The Node is OLEF, HUB is HUBOLEF1 in the UK <<<>>> ----- This message came from GEnie via willett through a semi-automated process. Report problems to: dwp@willett.pgh.pa.us or uunet!willett!dwp
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (04/24/91)
Category 1, Topic 21 Message 97 Tue Apr 23, 1991 R.BERKEY [Robert] at 05:16 PDT Tom Bushell writes, 91-04-17: > Is there any way to access extended memory from FPC? I'm SURE > I've seen some reference to doing this somewhere. There is an article on extended memory in Forth Dimensions, sometime during the last couple of years. Here's a driver I wrote (as is, no guarantees, no warranties). The fascinating thing about accessing extended memory involves the inability of the 80286 to switch from protected mode to real mode. The IBM AT overcomes that by having an external processor, the keyboard controller, raise the reset line on the 80286. Fortunately, the 80286 reset is well-defined, but the whole process is still a bit shaky because interrupts can't be routinely processed while in the protected mode. Anyway, this driver worked without problems for the application I used it in. I can second Milan Merhar's suggestion to get a copy of the IBM AT Technical Reference, I find it invaluable. \ EXTENDED.SEQ Extended-memory driver only FORTH also DEFINITIONS HEX assembler POSTVAR @ forth \ save POSTVAR setting until end of file POSTFIX \ use postfix assembler mode ( GDT table for extended memory ) here 1+ 1 and allot \ dealign \ puts GDT on an even address, for efficiency CREATE GDT ( Global Descriptor Table ) 10 allot gdt 10 erase -2 , ( length of segment ) HERE 3 allot ( source address ) 93 C, ( access rights byte ) 0 , ( reserved ) -2 , ( length of segment ) HERE 3 allot ( target address ) 93 C, ( access rights byte ) 12 allot constant EXTENDED-TARGET ( 24 bits ) extended-target 4 + 12 erase constant EXTENDED-SOURCE ( 24 bits ) ( Extended-memory move BIOS call ) ( Note that this BIOS call works only with 80286 and 80386 ) CODE <EX-CMOVE> ( #w GDT-offset GDT-segment -- error# ) bx pop ( gdt segment ) dx pop ( gdt offset ) cx pop ( block size in words ) si push bp push es push pushf bx, es mov dx, si mov $87 # ah mov $15 int popf es pop bp pop si pop al, al xor ah, al xchg ax push ( completion code ) next end-code code >ABS ( a seg -- da ) \ ;p convert address & segment to absolute addr \ : >ABS ( a seg -- da ) \ $10 um* rot 0 d+ ; ax pop $10 # cx mov cx mul bx pop bx, ax add 0 # dx adc $0f # dx and ( 80186 wraparound ) ax push dx push next end-code ( Hi-level extended-memory block move ) : ?EXTENDED-ERROR ( n -- ) ?dup if dup 1 = if ." Ram Parity," else dup 2 = if ." Exception Interrupt Error," else dup 3 = if ." Gate Address Line 20 Failed," else dup ." Undocumented error: " . then then then abort" Extended Memory Error" then ; ( Extended-memory block move ) : >EX ( from seg dto #b -- ) 2/ >r \ odd byte counts are rounded down extended-target 2+ c! extended-target ! \ dest adr into GDT >abs extended-source 2+ c! extended-source ! \ source adr into GDT r> gdt ?cs: <ex-cmove> ?extended-error ; : EX> ( dfrom to seg #b -- ) 2/ >r \ odd byte counts are rounded down >abs extended-target 2+ c! extended-target ! \ dest adr into GDT extended-source 2+ c! extended-source ! \ source adr into GDT r> gdt ?cs: <ex-cmove> ?extended-error ; \ The extended driver must have a count in words, not bytes. ( Get Extended-Memory Size ) CODE @EXMEMSIZE ( -- u ) $88 # ah mov si push bp push $15 int bp pop si pop ax push next end-code cr .( Extended memory available: $) @exmemsize u. .( Kbytes ) \ restore original POSTVAR setting #if POSTFIX #else PREFIX #then \ End EXTENDED.SEQ ________________________________________________ ----- This message came from GEnie via willett. You *cannot* reply to the author using e-mail. Please post a follow-up article, or use any instructions the author may have included (USMail addresses, telephone #, etc.). Report problems to: dwp@willett.pgh.pa.us _or_ uunet!willett!dwp
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (05/08/91)
Date: 05-01-91 (16:55) Number: 2082 of 2088 To: ALL Refer#: NONE From: DAVID ROGERS Read: (N/A) Subj: F-PC PROBLEMS Status: PUBLIC MESSAGE Conf: FORTH (58) Read Type: GENERAL (+) HELP!!!! I am new to Forth although I am proficient in other languages. I have just gotten hold of f-pc and have been trying it out. I seem to have run into a problem. I am trying to run the following and it does not seem to work as expected. Can anyone explain what I am doing wrong? My setup is plain vanilla just as it was extracted from the .zip files. \ The following produces some garbage at run time - see test run below \ create buf 80 allot variable bufcount : readline buf 20 EXPECT span @ bufcount ! ; \ The following works as expected \ \ \ \ : readline2 buf 20 (EXPECT) span @ bufcount ! ; Here's what happens: load Loading.. ok readline This is a test!!! ; R> <- What? ok ok readline2 This is a test!!! ok Why does this happen? Regards, David A. Rogers --- ~ SLMR 1.05 ~ Whip me, beat me, make me code in COBOL!! NET/Mail : Omega BBS, Seattle, WA : (206)933-0869 HST : MetroLink PCRelay:DCINFO -> #16 MetroLink (tm) International Network 4.10 DC Info Exchange MetroLink International Hub <<<>>> ----- This message came from GEnie via willett. You *cannot* reply to the author using e-mail. Please post a follow-up article, or use any instructions the author may have included (USMail addresses, telephone #, etc.). Report problems to: dwp@willett.pgh.pa.us _or_ uunet!willett!dwp
ForthNet@willett.pgh.pa.us (ForthNet articles from GEnie) (05/13/91)
Category 1, Topic 21 Message 99 Sat May 11, 1991 R.BERKEY [Robert] at 10:55 PDT To: David Rogers Re: F-PC problems > \ The following produces some garbage at run time - see test run below > \ > > create buf 80 allot > variable bufcount > > : readline > buf 20 EXPECT > span @ bufcount ! > ; > > \ The following works as expected > \ > \ > \ > \ > > : readline2 > buf 20 (EXPECT) > span @ bufcount ! > ; > > > Here's what happens: > > load > Loading.. ok > readline This is a test!!! ; R> <- What? > ok > ok > readline2 This is a test!!! ok > Hi, David. I have F-PC 3.50 and I wasn't able to duplicate the problem. I created a file with the definitions of readline and readline2 . Then on the command line, I typed: readline<cr>This is a test!!! ;<cr> and it looked fine. BUF and BUFCOUNT were correct. In F-PC, EXPECT is a deferred word that is deferred with XEXPECT for the entering of keyboard command lines. Typing SEE EXPECT will report the presence of XEXPECT in EXPECT . (EXPECT) is a conventional implementation of EXPECT , and if it solves the problem, by all means, use it. XEXPECT is a more complicated version of EXPECT , with colored background, etc. The problem may have to do with reentrancy of XEXPECT , which isn't properly reentrant. The interpreter's error message: R> <- What? is also puzzling. I suspect that the error message is itself in error, a side effect of the reentrancy problem. XEXPECT has a temporary buffer, and it may be that the interpreter is trying to interpret text entered as a part of READLINE . For a quick fix, you might try adding a QUIT at the end of the definition of READLINE , as QUIT restarts the interpreter. Robert ----- This message came from GEnie via willett. You *cannot* reply to the author using e-mail. Please post a follow-up article, or use any instructions the author may have included (USMail addresses, telephone #, etc.). Report problems to: dwp@willett.pgh.pa.us _or_ uunet!willett!dwp
U432267@TWNCU865.BITNET (05/17/91)
HI , FORTH PROGRAMMARS : I AM A STUDENT IN TAIWAN , I FOUND F-PC IS REALLY A POWERFUL UTIL. BUT THERE'S SOMETHING WRONG IN THE XEXPECT.SEQ , 'CAUSE IT MAKES F-PC CAN'T SHOW CHINESE WORDS ! BY THE WAY , THE SED EDITING ENVIRONMENT WILL CHECK THE ASCII CODE > 127 , THUS NO CHINESE SENTENCE CAN BE SHOWN ! I HOPE DR.C.H.TING WILL HELP SOLVING THIS PROBLEM . THANX. VIRTUALLY TERRY SHU