Commit graph

85 commits

Author SHA1 Message Date
d8878ef317 add tracing 2024-12-12 19:53:17 +02:00
884ac76083 update README.md 2024-12-11 20:00:38 +02:00
083318bdc0 fix clippy warnings 2024-12-11 19:51:35 +02:00
0fbb74b431 use Read trait for emulating roms 2024-12-11 00:44:48 +02:00
5085ea096b fix GetKeyBlocking test 2024-12-11 00:44:38 +02:00
8148bdbbbe use c-like struct for input keys instructions 2024-12-11 00:33:45 +02:00
5f4981e995 use c-like struct for store and load memory 2024-12-11 00:31:22 +02:00
a9432ce7ed use c-like struct for more instructions 2024-12-11 00:28:21 +02:00
e7b69b72b2 use c-like struct for SkipEqualVXVY & SkipNotEqualVXVY instruction 2024-12-11 00:25:50 +02:00
4cba27de97 use c-like struct for SkipEqualVXData & SkipNotEqualVXData instruction 2024-12-11 00:22:57 +02:00
b2666d4226 use c-like struct for GenerateRandomNumber instruction 2024-12-11 00:20:06 +02:00
2842c55cf8 use c-like struct for JumpWithOffset instruction 2024-12-11 00:05:35 +02:00
517628ced6 clear display before emulation start 2024-12-11 00:04:13 +02:00
b8e3509086 use c-like struct for arithmetic instructions 2024-12-11 00:03:21 +02:00
a4e2942eea use c-like struct for Set instruction 2024-12-10 23:57:22 +02:00
5dd11bc74c use c-like struct for Call instruction 2024-12-10 23:55:35 +02:00
9171b35025 disable terminal raw mode on cross term drop 2024-12-10 23:54:15 +02:00
a9d252f758 c-like struct for Draw instruction 2024-12-10 19:05:20 +02:00
a464c00836 c-like struct for SetIndexRegister instruction 2024-12-10 19:02:31 +02:00
7f07d3b184 c-like struct for AddValueToRegister instruction 2024-12-10 19:01:34 +02:00
ede70d15a0 use named enum for SetRegister instruction 2024-12-10 18:58:21 +02:00
aa27658864 fix clear display instruction 2024-12-10 18:50:24 +02:00
680ee8adeb add command line arguments via clap crate 2024-12-10 18:45:46 +02:00
2f0e22c79c add a separate thread for input handling 2024-12-10 18:35:04 +02:00
e1ad59c8a6 update README.md 2024-12-09 22:02:54 +02:00
a1390d8e45 get rom path from command line 2024-12-09 21:56:58 +02:00
0112138b78 implement input handling instructions 2024-12-09 21:43:46 +02:00
3beddd9acd modify input module to handle special characters like escape 2024-12-09 21:33:34 +02:00
69d44cda4e implement input module 2024-12-09 21:23:55 +02:00
9334c7752d update README.md 2024-12-09 20:00:24 +02:00
92621fac73 handle timers inside frame update 2024-12-09 19:11:14 +02:00
4e6e470dec update README.md 2024-12-08 23:53:32 +02:00
078ca4b8b9 draw the screen withing its 64x32 size 2024-12-08 23:44:42 +02:00
76e16d6a71 improve fps emulation 2024-12-08 23:44:04 +02:00
717a5a85c6 move constants in the display module 2024-12-08 23:17:48 +02:00
b447f0ccee execute 7 instructions per frame 2024-12-08 18:00:52 +02:00
afe5ed835e attempt to simulate 60 fps 2024-12-08 17:21:13 +02:00
5c8eaca55c take last nibble of font address in VX 2024-12-08 16:50:54 +02:00
7001bb747d fix font character instruction 2024-12-08 16:49:27 +02:00
Denis-Cosmin NUTIU
ca97cb7de8 implement sound module 2024-12-08 12:47:21 +02:00
Denis-Cosmin NUTIU
8369f06194 decode keypad instructions 2024-12-08 12:25:35 +02:00
Denis-Cosmin NUTIU
0ce357b8ce fix binary coded decimal instruction 2024-12-08 12:11:31 +02:00
Denis-Cosmin NUTIU
5818815981 implement bcd, load, store memory instructions 2024-12-08 12:09:32 +02:00
Denis-Cosmin NUTIU
7e956277ac fix timers bug 2024-12-07 22:52:42 +02:00
Denis-Cosmin NUTIU
db2c360df3 add unit tests 2024-12-07 22:48:19 +02:00
Denis-Cosmin NUTIU
d42a0ec2c5 fix instruction parsing 2024-12-07 22:23:53 +02:00
Denis-Cosmin NUTIU
9dd876b622 fix shift 2024-12-07 22:13:58 +02:00
Denis-Cosmin NUTIU
e948d3b5fb lay structure for BCD conversion, store and load memory 2024-12-07 22:02:43 +02:00
Denis-Cosmin NUTIU
63d7fb1464 fix set instruction 2024-12-07 21:58:26 +02:00
Denis-Cosmin NUTIU
8d13bd6b18 update shift instruction to modern behavior 2024-12-07 21:43:57 +02:00