cc65
maru
cc65 | maru | |
---|---|---|
24 | 6 | |
2,204 | 181 | |
1.2% | - | |
9.6 | 2.7 | |
19 days ago | 6 months ago | |
C | Common Lisp | |
zlib License | GNU General Public License v3.0 or later |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cc65
- C Compiler Assembler and Runtime for C64
-
C Is Not a Low-level Language – Your computer is not a fast PDP-11
True. The code generated by https://cc65.github.io/ is pretty decent but there are a few places where hand-rolled assembler will perform much better when you need it. Although I've made things for 6502-based systems in C with this handy compiler (thanks cc65 contributors!).
Is there something intrinsic to how C handles addressing that makes segmented architectures more painful than they ought to be? Or maybe is there a language where segmented addressing is easier?
I hadn't really thought about it in a while. :)
-
Best practice to store context for a C compiler
cc65
-
How did people learn to make games in the 80s
There's tools like cc65 that let you write C code for the NES.
-
i need some serious help learing the VICE emulator for c64.
You can use any text editor for coding and the tutorial uses cc65 for compiling assembly to machine code.
-
Has anyone used LLVM/Clang to create modern NES games?
You can use cc65 https://cc65.github.io/ but because you are compiling it in a limit hardware the cc65 has its rules and recommendations to follow in order to get the most optimal binaries, and more specifically I read this when I made the "Pong" game for NES as a practice long time ago https://nesdoug.com/ , I hope it helps, happy coding!
-
My custom single board computer, 65c02-based with multitasking support
What assembler/tools did you use anyways? Personally I'd recommend ca65 from the cc65 C compiler utility. It's very powerful, open source, and kept updated (unlike a lot of ancient 6502 tools, like WDC's)
-
A Graphical OS for the Atari 8-bit
It really is a cool project. https://github.com/cc65/cc65
It provides some template configuration files describing different memory layouts. And provides common libraries for input/output.
There's also a LLVM fork for MOS: https://github.com/llvm-mos/llvm-mos
They've got some interesting hacks with ZeroPage memory and register allocation: https://llvm-mos.org/wiki/Code_generation_overview
Interesting if you geek out on that kind of research.
- cc65 - a freeware C compiler for 6502 based systems
- Action
maru
-
C Is Not a Low-level Language – Your computer is not a fast PDP-11
Well Forth is possibly the most minimal VM over a platform, as evidenced by openfirmware.
It does have problems scaling though, in that if you've seen one Forth, you've seen one Forth ie. The variations required to fit a platform make them semi-incompatible.
That's not to say that a more lispy Forth wouldn't be useful though, in that a concatenative syntax allows us to pass custom datastructures around like APL, and CPS (delimited continuations with lexically scoped dynamic binding would come from the lisp side (see https://github.com/manuel/wat-js).
Memory management in Forth can handle multiple memory types eg. https://flashforth.com/ so adding something like ref counting (https://github.com/zigalenarcic/minilisp/blob/main/main.c) to handle the dynamic list side of things might mesh well.
In any case, if you're looking for a self hosting lisp that runs on bare metal, https://github.com/attila-lendvai/maru has been out for a few years.
- Maru - a tiny self-hosting lisp dialect. Developed as part of Alan Kay's Fundamentals of New Computing.
-
About making a self hosting programming language
Take a look at Maru. The github project has links to other similar projects.
-
Why can't there be a LISP dialect/system that directly translates to optimal machine code?
That's the idea behind the Maru Project. It's a really cool concept and more people should know about it.
- lisp but small and low level?Does it make sense?
-
SubX: A minimalist assembly language for a subset of the x86 ISA
Here's another interesting one I just noticed:
https://github.com/attila-lendvai/maru/blob/maru.10/source/a...
What are some alternatives?
llvm-mos - Port of LLVM to the MOS 6502 and related processors
Carp - A statically typed lisp, without a GC, for real-time applications.
6502 - DB6502: 65C02 based computer inspired by BE6502
clasp - clasp Common Lisp environment
cc65-tools - Docker image for CC65 and tools
femtolisp - a lightweight, robust, scheme-like lisp implementation
wcc - wo4mei3's c compiler written in ocaml
flpc - Forth Lisp Python Continuum: A small highly dynamic self-bootstrapping language
fdraw - Fast Apple II hi-res graphics
sectorlisp - Bootstrapping LISP in a Boot Sector
py65 - Emulate 6502-based microcomputer systems in Python
cosmopolitan - build-once run-anywhere c library