Commit Graph

178 Commits

Author SHA1 Message Date
Devine Lu Linvega 22cbd38fab Do not check twice for short mode in LIT opcode 2023-01-01 16:44:18 -08:00
Devine Lu Linvega 48596a6ee7 Removed PEEK16 macro 2023-01-01 16:22:37 -08:00
Devine Lu Linvega 7f275772ef Added HALT macro 2023-01-01 16:21:05 -08:00
Devine Lu Linvega 5ac6ff4313 All devices but audio ported to new devices scheme 2023-01-01 16:13:34 -08:00
Devine Lu Linvega 794ce1bdfd Housekeeping 2023-01-01 13:40:58 -08:00
Devine Lu Linvega 7afe1f39c7 Screen device is half ported to new device handlers 2023-01-01 13:19:40 -08:00
Devine Lu Linvega 679aec047a Device memory is not a member of ram 2023-01-01 12:21:30 -08:00
Devine Lu Linvega 68d706be25 Will connect devices to devold while I migrate to new router 2023-01-01 12:12:59 -08:00
Devine Lu Linvega 0fd68e96f0 Connecting new device ports to uxn core 2023-01-01 12:04:54 -08:00
neauoire fec233db2a Use helpers for LIT 2022-04-18 12:33:30 -07:00
Andrew Alderwick d5253086b5 Move stack opcodes. 2022-04-18 09:45:33 +01:00
Andrew Alderwick 0e7ebb69e6 (uxnemu) Interrupt infinite loops with an error. 2022-03-27 13:53:25 +01:00
Andrew Alderwick deace3b79a Remove old debugging support. 2022-01-23 19:35:18 +00:00
Andrew Alderwick 6577d3c8a0 Remove jump-based infinite loop detection. 2022-01-23 11:17:07 +00:00
neauoire 459855d825 Removed supervisor 2022-01-12 18:40:51 -08:00
Andrew Alderwick 696ef03f12 Remove goto/label for jumps. 2022-01-12 13:09:45 +00:00
Andrew Alderwick 41de322a75 Add support for interrupting Uxn during execution. 2022-01-12 11:33:49 +00:00
neauoire 06b694d406 Removed ram helper in uxn 2022-01-11 14:51:25 -08:00
neauoire 180984f8fb Removed device port masks 2022-01-07 11:48:09 -08:00
neauoire 19a8e56cd6 Started device port masking 2022-01-07 10:02:28 -08:00
neauoire 1a7af4d8d0 Supervisor is now watching the device page 2022-01-06 19:20:50 -08:00
neauoire 28b9265042 Let us make a device page in shadow memory 2022-01-06 18:49:54 -08:00
neauoire b9a37077c3 Started work on the hypervisor 2022-01-05 19:48:51 -08:00
Andrew Alderwick 0fd288de79 Fix compiler suggestion. 2022-01-05 14:37:37 +00:00
Andrew Alderwick 291cb3d1a2 Simplify stack determination logic. 2022-01-05 14:02:06 +00:00
Andrew Alderwick c77799dac2 Just pass an error code to uxn_halt. 2022-01-05 13:07:04 +00:00
Andrew Alderwick c827fdc960 Move errored stack identification to after error handling label.
Partial revert of commits 1ce8b9bc27 (and
c296187ea9).
2022-01-05 01:27:27 +00:00
Andrew Alderwick c296187ea9 Rename ERROR/err to FAULT/fault 2022-01-04 02:15:38 +00:00
Andrew Alderwick 2a825de2fd Switch void context increments from pre to post 2022-01-04 02:05:32 +00:00
Andrew Alderwick 1ce8b9bc27 Bring back working/return stack identification on errors 2022-01-04 02:05:32 +00:00
Andrew Alderwick 7e3353ea72 Rename u->ram.dat to u->ram, u->ram.ptr to pc. 2022-01-04 01:40:48 +00:00
neauoire 4789d8ccef Removed peek16 2022-01-03 13:29:47 -08:00
neauoire 0ee477615b Removed poke16 2022-01-03 13:23:57 -08:00
cancel 416389bcf4 Improvements to uxn.c 2022-01-03 13:41:20 +00:00
cancel 6980abacfc Refactor uxn.c. 2022-01-02 23:03:06 +00:00
neauoire ecc2654165 Prefixed helpers in uxn.c 2022-01-02 11:04:13 -08:00
neauoire cca1253376 Use calloc for memory array 2022-01-01 15:20:48 -08:00
Sigrid Solveig Haflínudóttir ba7e8a9fb4 uxn_eval: multiply as two uint32s to avoid UB 2021-12-25 23:29:36 +01:00
Andrew Alderwick 2330320985 (readability) Use preincrements throughout in void context. 2021-12-14 23:17:32 +00:00
Andrew Alderwick 9b15f90008 Rename b0 to port in dei/deo functions 2021-11-04 17:14:15 +00:00
Andrew Alderwick 287bc67e1e Split talk functions into dei and deo; make deo functions void 2021-11-04 17:13:44 +00:00
neauoire 99e38d560c Fixed JNZ comment for uxn.c 2021-10-17 13:16:58 -07:00
neauoire e52fe82925 Fixed PPU auto byte 2021-09-10 08:52:07 -07:00
neauoire 266152e260 Ported devw/devr changes to uxn.c 2021-09-08 17:51:23 -07:00
Andrew Alderwick b88d2adc3d Halt when talk function returns false, since setting ram.ptr no longer works 2021-09-08 00:13:21 +01:00
neauoire 05e48c35ce Fixed issue with SFT 2021-08-30 12:16:57 -07:00
neauoire 4f6a29f57d Reverted flags 2021-08-30 10:19:33 -07:00
neauoire a2e40d9d10 Removed unused device string 2021-08-29 19:52:12 -07:00
neauoire 91df7ab470 Completed new uxn core 2021-08-29 18:18:52 -07:00
neauoire 51313988cf Progress merging 8/16 opcodes 2021-08-29 18:02:46 -07:00
neauoire 9a5bd42bb8 Progress merging 8/16 opcodes 2021-08-29 17:49:22 -07:00
neauoire 86bdb0ca83 Progress merging 8/16 opcodes 2021-08-29 17:36:17 -07:00
neauoire 38ae734021 Progress merging 8/16 opcodes 2021-08-29 17:22:56 -07:00
neauoire da5f4b606c Progress merging 8/16 opcodes 2021-08-29 15:05:37 -07:00
neauoire f0410bb342 Started merging 8/16 opcodes 2021-08-29 14:53:31 -07:00
neauoire 90540742ae Standardizing fns names before merge 2021-08-29 14:41:05 -07:00
neauoire a444641a6a Fixed wrong function names 2021-08-29 14:36:08 -07:00
Andrew Alderwick 4d535ebb46 Swapped return and short flags in advance of uxn.c refactoring 2021-08-29 22:28:30 +01:00
neauoire ca5ad113ee Minor cleanup 2021-08-29 10:36:23 -07:00
neauoire 5167a103ec Fixed issue with null vectors 2021-08-17 19:30:34 -07:00
Andrew Alderwick 1b68169cee Merged LIT and BRK into opcode zero, added INC opcode 2021-08-17 22:48:48 +01:00
Andrew Alderwick 107a59affa Rearranged POP, DUP, NIP opcodes 2021-08-15 21:34:33 +01:00
Andrew Alderwick be360ffc1e Replaced NOP with NIP 2021-08-15 21:22:01 +01:00
Andrew Alderwick e2190d84d8 Reverted "Removed OVR opcode and replaced with NIP" and uxn-fast.c update.
This reverts commits 1afe39fba4 and 3d3569bab7.
2021-08-15 21:07:32 +01:00
neauoire 1afe39fba4 Removed OVR opcode and replaced with NIP 2021-08-15 12:01:22 -07:00
neauoire 44d584dfdb Re-added the stack bounds clamp 2021-08-04 20:14:53 -07:00
neauoire 59ea5c0a1a Added static to uxn opcodes 2021-08-04 20:06:46 -07:00
neauoire 5d7151ab61 Cleaned up a few function names 2021-08-01 14:56:12 -07:00
neauoire 4f822f55f3 Prefixed uxn functions 2021-08-01 14:46:43 -07:00
Andrew Alderwick 6e21f3aba0 Removed stdio dependency from uxn.c
Reimplementation of patch sent in by Marc Schraffenberger
<marc@schraffenberger.com>: thank you for the rationale and inspiration!
2021-08-01 22:17:48 +01:00
neauoire 7b7f4fd0f7 System now carries the debug flag, System/0xf is now stopping eval 2021-07-28 10:29:09 -07:00
neauoire fa6b8a1769 Improved error messages 2021-07-24 17:09:46 -07:00
Andrew Alderwick 4622a8a061 Created working stack space in case of previous evaluxn overflow 2021-07-17 10:00:38 +01:00
neauoire 3bfebc570d Made pop16 more robust 2021-07-15 19:52:37 -07:00
neauoire 2197e35667 Route errors to stderr 2021-06-26 13:22:01 -07:00
Andrew Alderwick 064f7745d4 Added reporting of division by zero errors rather than crashing 2021-06-08 22:58:02 +01:00
Andrew Alderwick aeddd9e0f5 Added src/uxn-fast.c generator script 2021-05-23 17:33:00 +01:00
Andrew Alderwick 3b70b23703 Reformatted ops to use consistent if-style 2021-05-23 16:50:50 +01:00
Andrew Alderwick ea69dff8a8 Updated SFT2 to take byte for shift amount 2021-05-23 16:27:15 +01:00
Andrew Alderwick d56d900876 Reordered variable names on opcodes 2021-05-13 08:02:15 +01:00
neauoire a4c8066043 Cleaned example files 2021-05-12 18:28:45 -07:00
Andrew Alderwick 76a38e3db9 Reworked pop8 and pop16 so they do not need offsets 2021-05-12 20:36:18 +01:00
neauoire 9164b7f9fe Reverted patch to sft16 2021-05-12 12:13:28 -07:00
Andrew Alderwick fd9612d656 Implemented keep opcode flag 2021-05-12 18:42:24 +01:00
neauoire 12550c3703 Fixed issue with midi 2021-05-08 07:59:03 -07:00
neauoire f5fb9714e4 * 2021-05-03 09:57:39 -07:00
neauoire 993719818a Removed LTS/GTS opcodes 2021-05-01 09:59:57 -07:00
Andrew Alderwick f7506a41c7 Added stack pointer position readouts to system device 2021-04-27 21:10:58 +01:00
neauoire 72b0458745 Removed refresh port in datetime 2021-04-24 10:26:09 -07:00
neauoire 2eb18b06a2 Device events can now fire on read 2021-04-24 10:15:47 -07:00
neauoire 5c5b767eaf Working toward bidirectional talk between devices and program 2021-04-24 09:43:30 -07:00
Andrew Alderwick fa2d290351 Made poke functions return void. 2021-04-24 09:13:03 +01:00
neauoire 743eaef47a Ported some of the examples to the new accessors 2021-04-21 11:12:42 -07:00
neauoire 276e5086db Implemented PEK/POK/GET/PUT 2021-04-21 10:23:58 -07:00
Andrew Alderwick bbf05cb4ec Minor code cleanup 2021-04-21 12:58:05 +01:00
neauoire 526650f079 Removed extra param in poke functions 2021-04-20 21:29:18 -07:00
neauoire 02993229ee Removed access to uxn to devpeek/devpoke 2021-04-20 21:21:31 -07:00
neauoire 6a1bf9215d Removed genpoke macros 2021-04-20 20:38:15 -07:00
neauoire a4e54062b8 Merged sandwich 2021-04-20 17:11:02 -07:00
Andrew Alderwick 04f48ec02b Added memory to individual devices. 2021-04-20 22:49:10 +01:00