Commit Graph

34 Commits

Author SHA1 Message Date
c12654ba1e properly shut sound off + comments 2019-01-03 10:05:27 +01:00
b7b00de3a5 use B and C registers for line and tile counters in rendering 2019-01-03 01:09:44 +01:00
c21a794db9 share low byte of new/old pointers, compute directly from WRAM without loading in HRAM 2019-01-03 00:56:04 +01:00
bdaa79be08 faster automata update + restored wait rendering because it's apparently necessary for some reason... 2019-01-01 23:36:56 +01:00
dc3f21078c faster pointer increment while loading to hram + don't wait for rendering, update is too slow anyway 2019-01-01 23:19:53 +01:00
5d4a97c70d table based branchless automata update resolution. Actually not much faster, but at least has a stable execution time 2019-01-01 18:36:48 +01:00
6429f8ec92 avoid fully recomputing HL while loading cells to HRAM, 10 => 9 VBLs 2019-01-01 02:53:41 +01:00
8d95806abe use B directly for result instead of L 2019-01-01 02:47:14 +01:00
358f0912fc it's not necessary to load mask into A, and can use direct value too! 11 => 10 VBLs 2018-12-31 14:26:57 +01:00
1c927caba1 avoid resetting D to HIGH(BitsSet) unnecessarily 2018-12-31 14:23:56 +01:00
69bba61dcf faster way of counting bits set. 12 => 11VBLs 2018-12-31 14:21:49 +01:00
9478fd7e24 use L register to store result, not C, how could that have ever worked huh? I must have forgot to reload the rom when testing... Also, I now use a macro to load neighbors to avoid the loop, much faster. We're now down to "12 VBLs" to update the automata 2018-12-31 14:01:35 +01:00
6d3db56244 use C register to store 2x2 updated cell, instead of HRAM byte 2018-12-31 13:34:20 +01:00
ab06a7db5a use H register instead of HRAM byte to store alive neighbor count 2018-12-31 02:21:18 +01:00
da8f88d72c better interrupt handling, rendering in hbl still too slow, much faster automata update by only reading necessary neighbors 2018-12-31 02:09:14 +01:00
798e11c1d4 split totaltorender into linesleft and tilesleft, makes rendering code simpler and faster 2018-12-30 16:02:03 +01:00
eb63517a49 automata bugfix 2018-12-29 20:41:49 +01:00
6d932e0166 automata bugfixes 2018-12-29 19:48:24 +01:00
816db6c101 rendering! which shows computation is totally buggy :D 2018-12-29 19:09:06 +01:00
5d2fbf30a6 bugfixes 2018-12-29 01:51:33 +01:00
cc2bf13512 store 4 cells per byte, raised resolution to 40x36, no rendering yet 2018-12-29 00:42:12 +01:00
d25ce019e7 rendering! there are bugs and I don't know if they are rendering related or automaton... 2018-12-28 00:23:20 +01:00
23b6ad662f added interrupt handlers for rendering (no rendering yet) 2018-12-27 19:39:42 +01:00
0ea98b1904 do computations in work ram on a 32x32 grid (no display yet) 2018-12-27 13:38:30 +01:00
11be8f7a31 nicer graphics 2018-12-26 21:47:12 +01:00
a92f2dfd17 do not disable screen while computing, wait h-blank before reading to vram. Simple implementation, awfully slow, at least doesn't blink :) 2018-12-26 16:18:52 +01:00
1bd335dd56 made memory copy a function instead of a macro 2018-12-26 15:56:35 +01:00
9fe236ab42 fixed offset table for top left corner 2018-12-26 14:22:31 +01:00
72f4fb7b95 processingjs implementation for reference 2018-12-26 13:31:07 +01:00
501487cf34 Merge pull request #1 from msklywenn/add-license-1
Create LICENSE
2018-12-26 13:28:42 +01:00
7b05bf9ee7 Create LICENSE 2018-12-26 13:28:06 +01:00
ca1bdf68b7 Update README.md 2018-12-26 13:02:59 +01:00
1d802033e7 Create README.md 2018-12-26 12:45:00 +01:00
ab9debb0b3 First implementation, blinks quite a lot due to lcd being disable while updating the automaton 2018-12-26 12:29:48 +01:00