Tiny Lisp Computer
technoblogy.com
technoblogy.com
I'm working on a virtual game console which uses an AVR.
I added some simple drawing functions.
http://fingswotidun.com/cruft/lisptri.gif
The emulator is at http://fingswotidun.com/avr/ but it's very alpha. If you have a small screen you can't even click on the run button because of an old debugging div is sitting on top of it.
http://blag.fingswotidun.com/2015/09/8-bit-machine.html
I've been planning on an update talking about Getting C programs running on it then building avr BASIC and Lisp for run time languages.
Probably far more likely to do updates given someone has actually shown interest in reading them. I kind of assumed My blog posts went into a void.
It's also on github https://github.com/Lerc/kwak-8
The core problem, I thought, would be that AVRs have very very little memory. 316 Lisp cells sounds about right. I figured, well that's pointless. How can I do better?
I wasn't able to find a microcontroller that you can attach external memory to (without cheating and using something like an SPI RAM chip, although that's super easy). So I ended up figuring out how to build a real computer instead, around a Z80, with 64k total address space. The one I'm working on now has 32k RAM (still not great for Lisp) but you can divide up the address space between RAM and ROM however you want, so I'm planning for the next version to have the whole thing be RAM and use an AVR to "boot" it by loading code into RAM from an SD card.
As for your Z80 computer, another option would be to add some simple bank-switching hardware to allow you to boot from ROM. Probably more work and less flexible than just using an AVR for boot though.
[0] http://www.mouser.com/search/ProductDetail.aspx?R=0virtualke...
I wish I had learned this stuff in school. I majored in CS, and we didn't go any lower level than C++.
As for microscheme, it looks cool. Although I am annoyed, because it implicitly claims to be Scheme (it's not), and it explicitly claims to be functional (scheme most definitely isn't). But those are just nitpicks.
I believe a very early Raspberry Pi prototype was an Atmel chip that ran a Lua interpreter with bit-banged VGA display. It was extremely cheap but ultimately deemed not capable enough.
it will be shuned by the Haskell elite unless you need a monad to toggle the led, since it's intrinsically a non functional side effect :)
Seems like a feature, not a bug :^)
It does make it a hard language to optimize though. Thankfully, it got significantly easier once functions became opaque. But it's still a PITA.