colorForth
Disclaimer
cfdos.com
, floppy.com and the associated *.BLK files are supplied as tools to download
and view colorForth source files.
It is as safe as any DOS program, and does not modify any hard disk boot
sectors.
It
does however, create bootable floppy disks that when run can access your hard
disk’s boot sectors. This will not happen by accident, but only if you load the
“Hard disk” access block (for example in CFDOS4.BLK block 150) and then write
to sector 0.
Obviously,
you use it at your own risk!
Full
assembler source files, NASM
assembler, colorForth
source and DOS batch file to create the colorForth image, plus floppy.com
to download it to a floppy disc :
Download the
zip file here cf2010_4v1.zip
and self-extracting zip file here cf2010_4v1.exe
Real
colorForth running really slowly...
A tradeoff
between working on (just about) any Windows PC against execution speed.
Double left
click ( run ) go.bat to start the cf2010.blk version of colorForth
in a bochs PC
emulator.
bochs is
available from http://bochs.sourceforge.net/
bochs is
truly wonderful! Thank you to all the bochs developers...
Download the
zip file here cf2010bochs.zip
and self-extracting zip file here cf2010bochs.exe
cf2010
supercedes cf2009 – it is now formatted for NASM.
Run cf2010_4v1.exe and follow the instructions
Put a blank,
formatted floppy disk in the floppy drive and double click on
"go.bat"
This will create
a bootable colorForth
floppy disk
Reboot your
computer with the floppy in the drive
You may need
to adjust your BIOS settings to get the floppy to boot -
please see http://www.inventio.co.uk/getbios.htm from http://www.inventio.co.uk/cfdos.htm for how to do this...
Note : this
version requires a built-in floppy drive - it will not work from an external
USB drive
The PC must
have an AGP graphics card and at least 32M bytes of RAM.
Cf2009 - legacy – please use cf2010 ! Full assembler source files,
MASM assembler, colorForth source and DOS batch file to create the colorForth
image, plus floppy.com to download it to a floppy disc : Zip file cf2009May15.zip and self-extracting zip file cf2009May15.exe
Please use cfdos if you want to read
colorForth source under DOS/Windows :
Version 4.0 2005 Jan 23 : See new features…
Download cfdos4v0.exe self-extracting
zip file.
Download
cfdos4v0.zip
non-self-extracting zip file. Unzip to \cfdos and
run cfdos.com .
Download cfdos4.blk my latest ( not zipped ) reference file. Copy to \cfdos and
run cfdos.com .
Download CFDOS.BLK ( not zipped ) reference file. Copy to \cfdos
and run cfdos.com .
Press F1 repeatedly
to step through the help screens, then any other key.
cfdos.com is a DOS
program to display colorForth
pre-parsed source blocks. This program will work on any computer that runs or
emulates DOS, and allows you to view colorForth source, in both normal and
"colour blind" mode. It features a file listing utility ( F6 ) which
displays all files of type *.BLK in the same directory, and can copy them to a
formatted floppy disk.
cfdos.com would be nothing without the
various versions of colorForth and application code that I have trawled from
the Internet, so thanks to :
Bernd Beuster ( sound driver ), Terry Loveall (
floppy driver ), Kris
Johnson ( assorted apps ), Tim Neitz ( block
client/server ), Mark
Slicker ( Mandlebrot set, comet Ethernet driver, DNS and DHCP ), Bob Shafer (Game of Life) and of course to Chuck Moore for not only discovering
colorForth, but for releasing it into the public domain. Thanks!
If
you have any colorForth source, can fill in details of the files that I already
have, do not want your source distributed with cfdos, I have spelled your name
wrong, or forgotten to mention you, please let me know.
I should also mention thanks to Roman Pavlyuk and Richard Collins for
their Windows versions, Sean Pringle
for Enth and Jeff Fox for
Aha and his many lucid explanations on comp.lang.forth.
My
own contribution is cfdos.com, and the colorForth source file CFDOS4.BLK (
which is the default file when you first run cfdos.com ). CFDOS4.BLK is a
compilation of code from any and all of the above authors. I have added “wood”,
which is Mark Slicker’s Mandlebrot set display mangled to look like pine
block-board. I have also added “nload” and “+load” in block 20. They load the
next or nth next block, and allow sections of code to be moved without editing.
I have changed many literal loads to this form, so that the code can be copied
and loaded from different blocks. To make life easier, I have added “ld” which
loads a block and saves the block number, “vv” which views the last block
loaded by “ld”, “ll” which loads the currently edited block and “ss” which
saves the current edit block to the floppy disk, and “uu” which restores the
current block from the floppy disk. All of these double letter words actually
read or write one floppy disk sector, or 18 blocks.
I
have also changed the number of sectors loaded at startup and saved by “save”
to 14, giving 252 blocks in total. The files are 256 blocks each – don’t use
the last four blocks as they will not get loaded or saved.
The
colorForth binary in blocks 0 to 17 is Terry Loveall’s code with the new
improved floppy strobe. I find that this works on all of my 3 PCs and on my
laptop, and also on most laptops I have tried it on.
To
run colorForth your PC must have a floppy drive, 386 or above processor,
32Mbytes of RAM, PCI or AGP video and a monitor capable of displaying
1024x768x16bit colours. The binary image cf800.blk is also available – it runs
in 800x600x16bit video mode.
Hints
:
You
should certainly be able to see the source code with cfdos.com, but if at all
possible you should find some floppy disks and a computer and run
colorForth. Press “D” to download to the floppy. Try CFDOS4.BLK first, as it
works on most of the computers that I have tried it on. You may need to find a
200MHz - 500MHz Pentium ( with a floppy disk and AGP graphics ), as these seem
to be particularly compatible, as are 1GHz to 1.5GHz laptops.
You
may need to change the boot order in the BIOS to
allow the floppy disk to boot first. Press F2, Del or whatever the BIOS tells
you to to “Enter Setup” as the computer boots. Find the boot order section,
change it to make the Floppy disk boot first, save and exit. Put the colorForth
floppy in the disk drive, and reboot the computer.
If
you see the colorForth main screen, try typing “save” ( actually the ;a/d keys ). This should save 252 blocks to the
floppy, and then return to colorForth ( after about 58 seconds ). If this
hangs, you have incompatible floppy disk hardware. Try one of the other files.
You can also try adding an ISA card with floppy driver on board – they
generally work.
You
can mix and match the binary in blocks 0 to 17 plus souce in blocks 18 to 35,
with the source in another file by pressing ctrlD or ctrlU. When you have
created your perfect disk ( with lots of new code ! ) you can use cfdos.com to
upload it to a file. Give it an 8.3 DOS name and send it to me so that I can
include in my next distribution. ;)
I do not recommend that you
run color.com from the colorForth website under Windows 98 ( or earlier
), as this can upset the operating system – the file CFCHUCK.BLK supplied with
cfdos is a binary version of this which you can download to a floppy. This also
applies to other, simliar DOS executables of the colorForth image - but cfdos.com is perfectly safe! Note that
Windows XP, 2000 and NT are not affected by this.
If you do click on color.com using Windows 98 and answer YES to the "Run in MSDOS mode" option, Windows will add a line to the c:\autoexec.bat file something like :
"CALL
........\COLOR-BG-COM" .
This
will execute the colorForth binary every time Windows is started.
To return to normal Windows 98 operation :
Press F8 as Windows is starting, and select "4. step-by-step
confirmation".
Press "Y" repeatedly (about 15 to 20 times) until the
"CALL ........\COLOR-BG-COM" line when you press "N".
Press "Y" again a few more times... Windows will then
tidy up its mess, and all will return to normal.
ColorForth
and the various applications are all Work In Progress. All code runs directly
on the hardware, and so may have to be modified for your system. This goes
against the sales pitch of every other language and program – “plug &
play”, “point & click”.
Almost
everything about colorForth is different
to any other programming language you may have seen. It does not use ASCII, or
files or even the letters printed on your keyboard.
colorForth is really neat, and is worth any
effort you may make to understand and use it. I hope cfdos.com makes it that
little bit easier for you…
colorForth
links can be found at :
Chuck Moore http://colorforth.com/
John M Drake http://primarycolorforth.blogspot.com
Ray St. Marie http://colorforthray.info
Mark Tillotson http://members.shaw.ca/marktillotson/
(
??? ) http://cflinks.strangegizmo.com/
Green Arrays, Inc. http://www.greenarraychips.com/home/documents/greg/cf-elements.htm
(may be slightly different)
Wiki http://c2.com/cgi/wiki?ColorForth
(interesting, but I don't agree with everything there ;)
Wikipedia http://en.wikipedia.org/wiki/ColorForth
And of course there is always Google...
Please give feedback and bug reports to Howerd Oakford : howerd@inventio.co.uk