[comp.lang.c] ROMable High Level Languages

rat@madnix.UUCP (David Douthitt) (02/20/89)

In article <8902152259.AA04690@wpi> GREYELF@WPI.BITNET writes:
| | I made a 65c02 handheld computer about 1 year ago, with a seiko 4x20lcd
| | screen.
   .... [stuff deleted]

| | .... The problem I am having..is that All my code is
| | assembly..(I really dont have the time to create each program by hand in
| | assembly)..even though functions such as clock on interupt must still be
| | in assembly..
|
| | Since the code must be ROMable...uses ROM for program, I was wondering if
| | anyone knows of any higher level language that is compact, no libraries or
| | anything like that needed, and will allow me to create a ROMable program.
|
| | Thanks for any replys...
| | Scott Hutinger
| | (Where did all the time go?)
|
| Scott, why not use a normal assembler and the macro routines of
| any standard assembler.
|
| Microsparc puts out an assembler that translates code almost exactly
| like basic to pure object code, no libraries.

If you want to use a higher level ROMable language, I would recommend either
Forth or C.  Both have many versions which are good and offer ROMable code.

Right off the top of my head, Aztec C comes to mind.  However, Aztec C
tends to be expensive and slow.  I don't know if there are any Apple Forths
that are ROMable (I'm sure there must be).  Perhaps you could try MicroMotion
Forth or Isys Forth.. although Isys is IIgs specific and oriented towards
scientific applications (I think).

I wouldn't recommend a macro assembler unless you intend to USE assembly..
Personally for an Apple assembler, Merlin 8/16, ORCA/M, and possibly
the S-C Assembler are the ones I would consider.

I hope this helps....

         [david]

PS: Watch the followups for cross-posting... feel FREE to change the subject
    when this thread goes off-topic.  TX.

-- 
======== David Douthitt :::: Madison, WI :::: The Stainless Steel Rat ========
FidoNet: 1:121/1 or 1:121/2            {decvax|att}!
UseNet:  ...{rutgers|ucbvax|harvard}!uwvax!astroatc!nicmad!madnix!rat
ArpaNet: madnix!rat@cs.wisc.edu      {uunet|ncoast}!marque!

merkel@shuxd.UUCP (Thomas Merkel) (02/21/89)

In article <500@madnix.UUCP> rat@madnix.UUCP (David Douthitt) writes:
>In article <8902152259.AA04690@wpi> GREYELF@WPI.BITNET writes:
>| | I made a 65c02 handheld computer about 1 year ago, with a seiko 4x20lcd
>| | screen.
>   .... [stuff deleted]
>| | Since the code must be ROMable...uses ROM for program, I was wondering if
>| | anyone knows of any higher level language that is compact......
>| | Scott Hutinger
>|
>| Scott, why not use a normal assembler and the macro routines of
>| any standard assembler.
>
>If you want to use a higher level ROMable language, I would recommend either
>Forth or C.  Both have many versions which are good and offer ROMable code.
>======== David Douthitt :::: Madison, WI :::: The Stainless Steel Rat ========

A few years ago I used a C compiler that generated ROMable code for
a 6809.  I was able to squeeze fairly complicated code ( photocopier
mechanism control ) into a 2764 and 1K RAM with room to spare.  The
compiler was from a company named Introl,  I think they were in Madison,
Wisconsin.  I don't know if they did a 6502 version,  but the 6809
version worked well.  It came with a lot of source code for the runtime
support, so you could scrounge for what you needed.  It was real good
with interrupts.

I also experimented with FORTH for the 6502.  The version I had was from
Rockwell, used with the AIM-65.  It wasn't perfect, but it let you get
at the hardware, was compact and efficient,  and could be squeezed into
ROMs.  The manuals claimed there was a way to pick just what you needed
and put it into a ROM for standalone use, but I never tried it.  From
what I could see FORTH had a lot of potential,  but I couldn't sell
anyone else on it.

Hope this helps.

Tom


-- 
          Tom Merkel		|	merkel@shuxd.att.com
   Hard work never hurt anyone, |	att!shuxd!merkel
   but why take chances.    	|	merkel%shuxd@att.arpa

aash@ms.uky.edu (aash) (02/22/89)

In article <500@madnix.UUCP> rat@madnix.UUCP (David Douthitt) writes:
>
>I wouldn't recommend a macro assembler unless you intend to USE assembly..
>Personally for an Apple assembler, Merlin 8/16, ORCA/M, and possibly
>the S-C Assembler are the ones I would consider.
>


Are there any PD or Shareware assemblers out there?
hehe should I write one?

aash



-- 
aash
aash@ms.uky.edu  (archive at 128.163.128.6)
{backbone site|rutgers|uunet}!ukma!aash
"So aash, want some filet mignon?" "Nah, I was gonna have a hot dog."

hansell@poppy.cis.ohio-state.edu (Timothy Hansell) (03/11/89)

>In article <8902152259.AA04690@wpi> GREYELF@WPI.BITNET writes:
>| | I made a 65c02 handheld computer about 1 year ago, with a seiko 4x20lcd
>| | screen.
>   .... [stuff deleted]
>
	I just wanted to post a note about how easy I found C to rom.
I created a boot program for a 68000 based system. The initial routine
that got called upon power on was in assembler, but after I set up enough
of a stack enviroment I jumped to C. I generated all of the binaries using
the Sun C compiler, and linker, ( linking in my own rommable version of
the libc routines that I used ) and was able to take this binary, burn it
in the prom directly and have it work.
	This is not so much of an praise for the Sun c compiler, which you
would not be able to use, but a comment that it only took about a week to
create my prommed versions of the libc routines ( there were a whole lot
more simple than the Unix versions ). I just provided the capability I needed
to use, and ignored unecessary fluff.
	If a C compiler is available for the CPU you are using, try it.
Or another option is to Port the Small-C compiler ( which generates Mneumnic
assembly code ) to generate the assembler for the chip you are using. You code
write your routines in Small-C, and tweak the assemle output if you want.

	Currently the Small-C comes in two flavor's 8080 and 8086. But it is
possible that someone has generated a version for the 6502.

	I am biased for C ( if you can get it )

-tim