A project to implement a console using the Mbed using VGA for video output and a PS/2 keyboard for the input. The eventual goal is to also include tools for managing SD cards, and a semi-self-hosting programming environment.
Dependencies: PS2_MbedConsole fastlib SDFileSystem vga640x480g_mbedconsole lightvm mbed
MbedConsole is a cool little project to have a self-contained computer all on an Mbed. So far it has VGA and PS/2 support and can stand alone without a computer powering it. Next planned features are SD card support and a lightweight programmable VM complete with a file editor and self-hosted assembler.
You can view additional details about it at http://earlz.net/tags/mbedconsole
plEarlz.h@3:2bc2b0dce10e, 2012-09-19 (annotated)
- Committer:
- earlz
- Date:
- Wed Sep 19 04:44:07 2012 +0000
- Revision:
- 3:2bc2b0dce10e
- Child:
- 6:a4dff59ef214
Adding a small forth interpreter
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
earlz | 3:2bc2b0dce10e | 1 | #ifndef PLEARLZ_H |
earlz | 3:2bc2b0dce10e | 2 | #define PLEARLZ_H |
earlz | 3:2bc2b0dce10e | 3 | |
earlz | 3:2bc2b0dce10e | 4 | |
earlz | 3:2bc2b0dce10e | 5 | int pl_shell(); |
earlz | 3:2bc2b0dce10e | 6 | |
earlz | 3:2bc2b0dce10e | 7 | static inline int is_whitespace(char c){ |
earlz | 3:2bc2b0dce10e | 8 | return (c==' ') || (c=='\t') || (c=='\n') || (c=='\r'); |
earlz | 3:2bc2b0dce10e | 9 | } |
earlz | 3:2bc2b0dce10e | 10 | |
earlz | 3:2bc2b0dce10e | 11 | static inline int is_numeric(char c){ |
earlz | 3:2bc2b0dce10e | 12 | return (c>='0') && (c<='9'); |
earlz | 3:2bc2b0dce10e | 13 | } |
earlz | 3:2bc2b0dce10e | 14 | |
earlz | 3:2bc2b0dce10e | 15 | static inline int is_alpha(char c){ |
earlz | 3:2bc2b0dce10e | 16 | return ((c>='a') && (c<='z')) || ((c>='A') && (c<='Z')); |
earlz | 3:2bc2b0dce10e | 17 | } |
earlz | 3:2bc2b0dce10e | 18 | |
earlz | 3:2bc2b0dce10e | 19 | static inline int is_identifier(char c){ |
earlz | 3:2bc2b0dce10e | 20 | return is_alpha(c) || is_numeric(c) || (c=='_'); |
earlz | 3:2bc2b0dce10e | 21 | } |
earlz | 3:2bc2b0dce10e | 22 | |
earlz | 3:2bc2b0dce10e | 23 | static inline int is_quote(char c){ |
earlz | 3:2bc2b0dce10e | 24 | return (c=='\"') || (c=='\''); |
earlz | 3:2bc2b0dce10e | 25 | } |
earlz | 3:2bc2b0dce10e | 26 | |
earlz | 3:2bc2b0dce10e | 27 | |
earlz | 3:2bc2b0dce10e | 28 | #endif |