kip (fantasy computer) & kmx20 (fantasy cpu) virtual machine
Go to file
Kitty-Cricket Piapiac f25f1b8176 as:absorb`libu',fix,fmt,switch from table to BST
this mostly switches from using a resizeable hash table to store macros
and whatnot to using a binary search tree (i was having some heisenbugs
with the hash table that i didn't really feel like debugging it).
a BST has a simpler implementation and uses a bit less memory, however
it is potentially slower (O(log n) vs O(1)) & less cache performant

however, currently i care more about ease of implementation so i can
muck about with my impl without running into bugs. when i care more
about performance i will probably revert this change (or rewrite a
working hash table), but not without benchmarks
2023-04-13 14:32:50 -07:00
d kmm32(isa):keep flag 2023-04-04 01:21:07 -07:00
s as:add relative addresses (^ literal) 2023-04-03 01:16:56 -07:00
t as:add namespaced labels 2023-03-23 02:34:54 -07:00
x x/use $ in some examples 2023-04-04 01:32:20 -07:00
.gitignore restructure 2023-03-17 14:25:20 -07:00
LICENSE friendlier LICENSE 2023-04-03 22:45:40 -07:00
README README:mao->mow 2023-04-05 22:52:28 -07:00
a.c as:fix -inc bug&fmt 2023-03-29 13:40:32 -07:00
a.h as:absorb`libu',fix,fmt,switch from table to BST 2023-04-13 14:32:50 -07:00
as.c as:absorb`libu',fix,fmt,switch from table to BST 2023-04-13 14:32:50 -07:00
kip-io-disk.c as:add -emb,kip-io:actually add disk 2023-03-21 13:29:33 -07:00
kip-io-term.c kip-io:DEVice macro 2023-03-17 02:31:44 -07:00
kip-io.def kip-io:add mouse/scrl,x:use / instead of : for device macros 2023-03-31 13:32:56 -07:00
kip-sdl2.c kip-io:add mouse/scrl,x:use / instead of : for device macros 2023-03-31 13:32:56 -07:00
kip.c kmm32:remove step 2023-03-31 12:09:43 -07:00
kip.h kip io:add simple disk device 2023-03-19 21:54:21 -07:00
kmm32.c kmm32:cuter K flag implementation & cleanup 2023-04-04 01:32:20 -07:00
kmm32.h kmm32(isa):add pr instruction 2023-03-31 21:05:22 -07:00
meson.build as:absorb`libu',fix,fmt,switch from table to BST 2023-04-13 14:32:50 -07:00

README

kip       fantasy computer based on the kmm32
kmm32     tiny stack processor
depends   c11 compiler
          meson
          ninja
          sdl2
build     meson compile -C b
test      meson test -C b
usage     ./b/kip [ROM FILE]
          ./b/as [ASM FILE] [ROM FILE]
layout    ./kip*  -- sdl2-based emulator
          ./as    -- assembler
          ./d/    -- documentation
          ./t/    -- tests
          ./x/    -- examples
patches,questions,comments welcome and encouraged -->  kitty+kip@piapiac.org
or you can open issues, pull requests --> https://codeberg.org/kitty/kip
more examples --> https://codeberg.org/kitty/mow