Commit graph

55 commits

Author SHA1 Message Date
Jeremy Penner aa8cd6f770 jopl: interactive instrument loading 2019-05-09 21:30:21 -04:00
Jeremy Penner 38db6f71f3 jopl: implement interactive instrument loading menu 2019-05-08 20:37:40 -04:00
Jeremy Penner a150b8fec3 implement party system 2019-04-30 21:15:25 -04:00
Jeremy Penner 465f8c60b8 unify begin/search and each/more by changing iteration protocol 2019-04-30 19:32:20 -04:00
Jeremy Penner e96942da52 promote "files" from jopl, words to simplify switching active files temporarily 2019-04-27 11:12:39 -04:00
Jeremy Penner 64d421429e Presentation slides with demo
move sprites + tiles to far memory to free up space
2019-04-25 21:55:23 -04:00
Jeremy Penner 6c4e5ff396 JOPL status bar, remove jorth from ISR (for now??) 2019-04-14 15:08:13 -04:00
Jeremy Penner 4fcf03fd07 log session to jopl.log; add ability to dump track source 2019-04-13 10:30:36 -04:00
Jeremy Penner d23e8c1172 store exe timestamp in JIM files; small game cleanups 2019-04-09 22:00:32 -04:00
Jeremy Penner 640471a59e Simplify colon loop / dispatch; avoid word lookup for tick/draw
Substantial speed gains _and_ f_cexecute() now works for deferred words.
This is the first version of Jorth where I feel like I've gotten the VM
right enough that it can reasonably be called a proper Forth implementation.
2019-04-07 22:13:32 -04:00
Jeremy Penner 8ce9ab33b5 debug ISR, recording word 2019-04-05 19:35:43 -04:00
Jeremy Penner 59e6b969af Add the ability to interactively play music with a "tracker keyboard" 2019-04-02 21:52:02 -04:00
Jeremy Penner 49f532a85b JOPL adlib livecoding environment; stop including JIM files in git
I now have multiple executables that depend on the same .jor source files
and I am not diligent about ensuring that both are up-to-date and working.
As small changes to source files can cause .jim files to fail silently,
I've removed them from the repo for now.
2019-03-31 19:29:16 -04:00
Jeremy Penner 12b9ac94f4 Add hiking trail, chuck plot, beginnings of adlib driver 2019-03-25 22:05:23 -04:00
Jeremy Penner d52d5b96f5 Jorth lookup optimization; add Jeanne's house 2019-03-17 12:16:36 -04:00
Jeremy Penner a010ec5911 Add some furniture to Pete's house and a horse to the pasture 2019-03-16 17:03:24 -04:00
Jeremy Penner 41fefa5885 Flesh out the town 2019-03-14 22:18:20 -04:00
Jeremy Penner bddfcec05a add town overworld 2019-03-13 20:43:38 -04:00
Jeremy Penner f16962f7f9 DSL for level-based player touch event handling 2019-03-11 21:57:22 -04:00
Jeremy Penner 9165b44bc7 add pete's house interior; implement memory checkpointing / rollback 2019-03-10 19:51:24 -04:00
Jeremy Penner f0a35a31b9 Make car drivable; refactor jorth module bootstrapping sequence 2019-03-09 19:59:52 -05:00
Jeremy Penner a5ec79c88a Split game.jor into multiple .jor files, add ability to specify code to run post-load for side effects 2019-03-09 18:49:45 -05:00
Jeremy Penner ad0f3fbf6c Text animations, save memory to .jim files post-load to speed startup 2019-03-05 17:35:50 -05:00
Jeremy Penner 1381c10d93 Entity event handling Jorth DSL 2019-03-02 20:03:34 -05:00
Jeremy Penner 4fe42403be dynamic entity list, entity-based touch events, Jorth coroutine jump 2019-02-28 21:46:04 -05:00
Jeremy Penner e55b30ba1d Animation support, per-tile map walkability flags 2019-02-26 21:44:22 -05:00
Jeremy Penner 114d1ff804 Bigger footer, portrait support, coloured text 2019-02-25 22:19:08 -05:00
Jeremy Penner 20e7089b84 Pete's house map, map resizing words 2019-02-24 17:26:28 -05:00
Jeremy Penner 9ecb53ad57 Refactor file I/O to have implicit active file; add map load/save 2019-02-24 12:18:34 -05:00
Jeremy Penner 4881064908 Rewrote move-to to be usable from multiple tasks 2019-02-24 10:14:56 -05:00
Jeremy Penner a876a9332f Tile map editing UI 2019-02-17 20:14:56 -05:00
Jeremy Penner ae1b5712ef Jorth words for pausing the game & displaying text 2019-02-16 19:21:02 -05:00
Jeremy Penner 08e8926abb Implement text drawing 2019-02-15 19:39:50 -05:00
Jeremy Penner 835a5159cf Implement time-based lerp, footer animation 2019-02-11 23:23:00 -05:00
Jeremy Penner e9e8fa804a Implement game loop in Jorth 2019-02-10 19:17:58 -05:00
Jeremy Penner c8331edece Implement Jorth interpreter in Jorth so its task can be suspended 2019-02-09 21:52:12 -05:00
Jeremy Penner 6552c1498b Forp is now Jorth ( Jean Forth) - hook timer interrupt and expose ticks 2019-02-09 11:48:40 -05:00
Jeremy Penner ca25a4578e Serial read support, add embedded Forp repl over serial port to game 2019-02-05 21:07:30 -05:00
Jeremy Penner 9821025def Forp: fix bug when calling C->Forp 2019-02-04 20:59:52 -05:00
Jeremy Penner 0e36599524 Forp: Lightweight suspendable round-robin task system 2019-02-03 21:04:02 -05:00
Jeremy Penner 1a7d14b056 Forp: Loading from file, strings, comments, math, byte ops 2019-02-02 15:30:18 -05:00
Jeremy Penner 769bb9e9aa Forp: Rewrite if/else/then in Forth 2019-02-01 19:05:02 -05:00
Jeremy Penner c0f19f7674 Forp: Refactor interpreter, inline VM loop, implement if/then and immediate words 2019-01-30 22:12:28 -05:00
Jeremy Penner b9fec53c09 Initial Forth interpreter implementation (Forp) 2019-01-30 22:12:14 -05:00
Jeremy Penner 56fac17626 Serial port debug output 2019-01-29 19:35:48 -05:00
Jeremy Penner eeb1e86cba Refactor into seperate modules & Turbo C++ project 2019-01-24 21:36:42 -05:00
Jeremy Penner e5d1ac5c79 Fullscreen scrolling, initial cut at game logic 2019-01-20 11:44:42 -05:00
Jeremy Penner b1366fe3b2 smooth horizontal scrolling 2019-01-19 16:29:32 -05:00
Jeremy Penner d676190aaf Optimize scrolling to not redraw tiles when not needed 2019-01-19 15:50:50 -05:00
Jeremy Penner c2d648d284 bugfixes: TIF loading, sprite display 2019-01-18 23:03:14 -05:00