Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!mcvax!ukc!stc!idec!howellg From: howellg@idec.stc.co.uk (Gareth Howell) Newsgroups: comp.lang.forth Subject: Re: TIL design topics Message-ID: <754@argon.idec.stc.co.uk> Date: Thu, 20-Nov-86 04:59:15 EST Article-I.D.: argon.754 Posted: Thu Nov 20 04:59:15 1986 Date-Received: Fri, 21-Nov-86 21:47:52 EST References: <1001@usl.UUCP> Reply-To: howellg@idec.stc.co.uk (Gareth Howell) Organization: STC Network Systems, Stevenage, UK Lines: 28 Keywords: Roll Your Own Language In article <1001@usl.UUCP> elg@usl.UUCP (Eric Lee Green) writes: > >I am currently designing a small threaded language in which to program >my fairly new Commodore 128. I don't particularly like FORTH, it is >excruciatingly slow on a 6502, and the command names are just aweful >(comeon now, "!"? "."? ":"? Gimme a break!). But I do like the general >FORTH idea. So, I'm looking for comments on these implementation >decisions: > >subroutine-threaded: Instead of threads being two-byte machine >addresses, have a jsr
machine instruction instead. Immediate >advantage is speed (NEXT is very slow on a 6502), at a cost of making >the program 3/2 larger. The largest FORTH I've ever seen for the 6502 >was only 25K. My C-128 has 128K of RAM. Space is hardly a problem. > Have you considered swapping your 6502 for a Western Digital 65802 processor. This is a pin for pin replacement that has an expanded register and instruction set; including instructions that speed up words like NEXT. Have a look at "Implementing FORTH on a New Processor: FORTH for the 65816 and 65802" by John Bowling of Starlight FORTH Systems. It was presented at the 1984 Rochester FORTH conference. I don't have any personal experience of this mod. 'though it is on my hit list for my BBC micro, but the author claims a doubling in execution speed and a reduction of nearly a third in code space occupancy without ny other hardware mods. gareth