Commit Graph

46 Commits

Author SHA1 Message Date
daniel 51d5e15eae separated background and sprite tiles, check only lines left in wait for render routine, added build files, rom, git ignore 2019-01-03 23:43:16 +01:00
daniel 2ade6c993c split into several files 2019-01-03 23:15:27 +01:00
daniel 635a9f4fb2 clear OAM, set sprite macro, empty tile equ 2019-01-03 22:42:14 +01:00
daniel bbbff34952 easily toggle rendering from hbl + avoid unnecessary halt after waiting for rendering when hbl render is off 2019-01-03 19:40:43 +01:00
daniel ea8f0df43d faster loading of lines left in render routine 2019-01-03 19:26:44 +01:00
daniel 1e207b5636 Merge branch 'master' of https://github.com/msklywenn/GB-GameOfLife 2019-01-03 19:25:01 +01:00
daniel 03aebd775f comments 2019-01-03 19:24:58 +01:00
daniel 06d426ff3b only check for lines left, not tiles, when starting render 2019-01-03 14:12:33 +01:00
daniel fa38bc45e9 swapped HL and DE in render routine so that we can 'inc e' since the video pointer low byte never overflows 2019-01-03 10:08:17 +01:00
daniel fef4452f4a Merge branch 'master' of https://github.com/msklywenn/GB-GameOfLife 2019-01-03 10:05:30 +01:00
daniel c12654ba1e properly shut sound off + comments 2019-01-03 10:05:27 +01:00
daniel ed05f1ebd3 Merge pull request #2 from ISSOtm/patch-1
Optimize handlers slightly
2019-01-03 10:04:20 +01:00
Eldred Habert 34010073a2 Optimize handlers slightly 2019-01-03 01:58:21 +01:00
daniel b7b00de3a5 use B and C registers for line and tile counters in rendering 2019-01-03 01:09:44 +01:00
daniel c21a794db9 share low byte of new/old pointers, compute directly from WRAM without loading in HRAM 2019-01-03 00:56:04 +01:00
daniel bdaa79be08 faster automata update + restored wait rendering because it's apparently necessary for some reason... 2019-01-01 23:36:56 +01:00
daniel 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
daniel 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
daniel 6429f8ec92 avoid fully recomputing HL while loading cells to HRAM, 10 => 9 VBLs 2019-01-01 02:53:41 +01:00
daniel 8d95806abe use B directly for result instead of L 2019-01-01 02:47:14 +01:00
daniel 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
daniel 1c927caba1 avoid resetting D to HIGH(BitsSet) unnecessarily 2018-12-31 14:23:56 +01:00
daniel 69bba61dcf faster way of counting bits set. 12 => 11VBLs 2018-12-31 14:21:49 +01:00
daniel 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
daniel 6d3db56244 use C register to store 2x2 updated cell, instead of HRAM byte 2018-12-31 13:34:20 +01:00
daniel ab06a7db5a use H register instead of HRAM byte to store alive neighbor count 2018-12-31 02:21:18 +01:00
daniel 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
daniel 798e11c1d4 split totaltorender into linesleft and tilesleft, makes rendering code simpler and faster 2018-12-30 16:02:03 +01:00
daniel eb63517a49 automata bugfix 2018-12-29 20:41:49 +01:00
daniel 6d932e0166 automata bugfixes 2018-12-29 19:48:24 +01:00
daniel 816db6c101 rendering! which shows computation is totally buggy :D 2018-12-29 19:09:06 +01:00
daniel 5d2fbf30a6 bugfixes 2018-12-29 01:51:33 +01:00
daniel cc2bf13512 store 4 cells per byte, raised resolution to 40x36, no rendering yet 2018-12-29 00:42:12 +01:00
daniel 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
daniel 23b6ad662f added interrupt handlers for rendering (no rendering yet) 2018-12-27 19:39:42 +01:00
daniel 0ea98b1904 do computations in work ram on a 32x32 grid (no display yet) 2018-12-27 13:38:30 +01:00
daniel 11be8f7a31 nicer graphics 2018-12-26 21:47:12 +01:00
daniel 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
daniel 1bd335dd56 made memory copy a function instead of a macro 2018-12-26 15:56:35 +01:00
daniel 9fe236ab42 fixed offset table for top left corner 2018-12-26 14:22:31 +01:00
daniel 72f4fb7b95 processingjs implementation for reference 2018-12-26 13:31:07 +01:00
daniel 501487cf34 Merge pull request #1 from msklywenn/add-license-1
Create LICENSE
2018-12-26 13:28:42 +01:00
daniel 7b05bf9ee7 Create LICENSE 2018-12-26 13:28:06 +01:00
daniel ca1bdf68b7 Update README.md 2018-12-26 13:02:59 +01:00
daniel 1d802033e7 Create README.md 2018-12-26 12:45:00 +01:00
daniel ab9debb0b3 First implementation, blinks quite a lot due to lcd being disable while updating the automaton 2018-12-26 12:29:48 +01:00