Thursday, February 12, 2015

Cyprida gets gigabytes

Arrrgh. I have slightly more than six kilobytes RAM available, and the smallest microSD card I found in my spare parts drawer is a 4Gib one, featuring 3.8 millions kilobytes free space.


The Arduino SD library uses 512 bytes of RAM to store an entire sector and some extra RAM; serial ports libraries and printf stuff also suck some memory: this is why the free RAM of the ATmega dropped from 8k to about 6600 bytes. I bet the largest block available should be a bit less than six kilobytes.

Current status:
  • 4x40 display: works, but I was unable to do anything more than 7-bit text. I tried to build custom characters but it just didn't work, even in the lower half display
  • piezo beeper: works
  • microSD: works
It's almost time to work out a keyboard.

Next step will be implementing some BASIC interpreter. Man, I hate BASIC, but now I can't figure anything better. A Forth interpreter is just lame; a Pascal interpreter seems useles; a C interpreter could be too complex. I also hate prehistoric stuff like COMIT, Algol, SNOBOL and exotic stuff like Logo, PL/M, REXX.

Well, I'll have to design my own interpreter and editor. It should have the same basic features of a common home-computer of the 80's: execute commands directly or after editing a program listing, easy to learn and use, integers, floats and strings operations, no baroque features, no Commodore PEEK/POKE-bloat.

No comments:

Post a Comment