6502 Forth kernel assembler source size (moved)
Posted: Wed Oct 05, 2011 5:28 pm
moved here from viewtopic.php?p=16279#16279 to avoid highjacking the "6551 vs 6850 vs 8250 vs ?" topic too badly:
My job doesn't seem very secure because of dismal sales for the last year or two. If I get let go, one thing I want to do with my time is publish my '02 and '816 Forth kernels as assembler sources. The '816 one is closer to ready for publishing but has only collected dust for many years. My '02 Forth will need more work to make it public, especially for an all-RAM model, as the current one is ROMed. (The primary difference is how variables are compiled.)
It is a very rich Forth though, and adds full interrupt support in high-level Forth with prioritized interrupts that can be installed and deleted on the fly, more program structures than others have ready-made, date & time (including multiple alarms for carrying out tasks at assigned times, with 10ms granularity in the case of my workbench computer), trig, log, square-root, random-number, and extended-precision functions, 32-bit looping controls (in addition to the normal 16-bit ones), ability to go into assembly language in the middle of a secondary and back again, and more primitives for faster execution of words that are usually written as secondaries. It's mostly Forth-83 but has a lot of enhancements from ANS, Brodie's books "Starting Forth" and "Thinking Forth," Forth Dimensions, F-PC, common Forth usage, and my own experience. There may be a lot more there than you need, but various portions will be in INCLude files that you can leave out if you like.
then:
Sorry to hear that Garth... Just out of curiosity, how big is your version for the 6502?
If you include everything, it looks like about 24K, assuming you leave the headers in. What I started with was probably less than half that much. What happened is that my employer bought me a 6502 Forth metacompiler in about 1990 for the automated test equipment I made. The source they started out was just the public-domain FIG-Forth that's available for download about 3/4 of the way down our source code repository page on 6502.org, but they made some changes mostly I guess to change it from FIG-Forth to the more popular Forth-83, and maybe some other changes just to irritate me.
The 6502 source code had a few bugs which I've fixed (the UM/MOD one being the primary one, followed by a multiplication bug that showed up only under very rare conditions but it fouled up my FFT function), but their DOS-based metacompiler had some major bugs which became more and more pronounced as the source code size grew. These initially resembled pot holes but eventually became sink holes. Initially I was able to find work-arounds, but eventually it got to where I said I won't use it ever again, and instead will convert the 6502 source code to assembler source so it can be assembled without using their metacompiler at all. Something I need to do in the process is to re-write the few portions that the supplier could claim any copyright on. It would still work the same as far as you the user would see it-- it's just that a few internals would be changed. I compile and assemble on the workbench computer every time I use it of course, but that's only using its capabilities that are already in the EPROM. I have not run the 6502 Forth metacompiler on the PC in many years.
Let's hope that isn't the case. <Sigh>
Many of my clients are suffering from sagging sales, some of it due to the decline of the manufacturing sector of our economy. Meanwhile, our so-called leaders [...]
Our customers are aircraft owners--basically the wealthy--so although I'm definitely not one of them (and actually don't even want to be), my paycheck depends on them having plenty of disposable income to play with. They've definitely had less in the last couple of years.
GARTHWILSON wrote:
BillO wrote:
More recently I had actually wanted to find a romable Forth to put on it as well, but ran out of steam on that.
It is a very rich Forth though, and adds full interrupt support in high-level Forth with prioritized interrupts that can be installed and deleted on the fly, more program structures than others have ready-made, date & time (including multiple alarms for carrying out tasks at assigned times, with 10ms granularity in the case of my workbench computer), trig, log, square-root, random-number, and extended-precision functions, 32-bit looping controls (in addition to the normal 16-bit ones), ability to go into assembly language in the middle of a secondary and back again, and more primitives for faster execution of words that are usually written as secondaries. It's mostly Forth-83 but has a lot of enhancements from ANS, Brodie's books "Starting Forth" and "Thinking Forth," Forth Dimensions, F-PC, common Forth usage, and my own experience. There may be a lot more there than you need, but various portions will be in INCLude files that you can leave out if you like.
then:
ElEctric_EyE wrote:
GARTHWILSON wrote:
...My job doesn't seem very secure because of dismal sales for the last year or two. If I get let go, one thing I want to do with my time is publish my '02 and '816 Forth kernels as assembler sources...
If you include everything, it looks like about 24K, assuming you leave the headers in. What I started with was probably less than half that much. What happened is that my employer bought me a 6502 Forth metacompiler in about 1990 for the automated test equipment I made. The source they started out was just the public-domain FIG-Forth that's available for download about 3/4 of the way down our source code repository page on 6502.org, but they made some changes mostly I guess to change it from FIG-Forth to the more popular Forth-83, and maybe some other changes just to irritate me.
BigDumbDinosaur wrote:
GARTHWILSON wrote:
My job doesn't seem very secure because of dismal sales for the last year or two.
Many of my clients are suffering from sagging sales, some of it due to the decline of the manufacturing sector of our economy. Meanwhile, our so-called leaders [...]
Our customers are aircraft owners--basically the wealthy--so although I'm definitely not one of them (and actually don't even want to be), my paycheck depends on them having plenty of disposable income to play with. They've definitely had less in the last couple of years.