Subject: Re: Bootstrappable language
From: "bfranchuk at jetnet.ab.ca" <bfranchuk at jetnet.ab.ca>
Date: Thu, 11 Dec 2008 12:27:12 -0700
To: General Discussion: On-Topic and Off-Topic Posts <cctalk at
classiccmp.org>
Dave Dunfield wrote:
You don't need register to register
operations to support a C compiler.
Can you provide any details of your architecture and instruction set?
It might be feasable to make a port of my Micro-C toolset to it... If
not, it might be feasable to make a port of "C-flea" a virtual machine
I designed specifically to support Micro-C (I've supported some pretty
weird architectures by employing C-flea).
The architecture is like I said before a stretched PDP-8, with a
512 byte direct addressing range and more compleate set of alu operations.
I am exploring the idea that 18 bits is still the best size word size
for a small
Have you lookd at DG Nova? Sounds like your traversing that same path.
computer or digital controller. The extra opcode bit
is used to
support word &
byte sized operands, compared to the that of a 8 bit micro. The two more
address
bits negate the loss of byte addressing and give a bit more room for a
resident
OS rather than swapping core in and out.
Using CPLD's also gives me the feel that a 18 bit simple cpu like my design
could have been developed as microchip computer similar to 6800 or 6502
chip set around the time the Z80 was developed. Using 48 rather 40 pins
as packaging a 18 bit cpu with front panel support could have been
developed.
A) Cpu chip. B) Swr/data/address bus display support chips . C)
data/byte swap buffer.
Micro-C is a very small, but reasonably powerful
dialect of C - For an
example, refer to the ImageDisk sources on my site ... ImageDisk and all
of it's utilities are compiled with the PC version of Micro-C (as are my
simulators, transfer tools and pretty much all of the other DOS based
tools I've posted).
Dave
Btw: If you haven't written an assembler yet, let me know - I've got a
universal table driven assembler generator which I developed to rapidly
produce assemblers for many of the later architectures I supported.
Unlikely it will work , I have 9 bit bytes.
I have hacked, Jones's PDP 8 assembler to cross assemble for me.
Once I get the the single PCB board built later next year, then I
will consider porting Micro-C. I plan to only have about 64Kb +
bootstrap EEPROM, IDE interface and a two 6850 uarts
along with a front panel. I am not sure yet if the IDE interface will be
16 or 9 bits wide yet.
A table driven assembler can produce anything.
Also a stack based language or even C can have the anythig stack related as
multiple instructions only code efficientcy suffers and code size.
An alternate way to go is a small emulation engine written in assebler to emulate
a easier to compiler for virtual machine (P-code).
The IDE can be 9 bits as the upper 8 (or less) bits are only used for data and a
non required ops. I've done that for 8bits to simplify the interface and the
only cost is 50% of the data space was not used, a minor nit as I had 500%
more than needed.
Allison