Commit Graph

154 Commits

Author SHA1 Message Date
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
neauoire cda9b0bce8 Implemented IOR/IOW 2021-04-20 10:31:50 -07:00
neauoire 50b11f12ca Removed magic helpers 2021-04-19 21:00:14 -07:00
neauoire 82f7103a55 Started migrating to new assembler 2021-04-19 17:23:30 -07:00
neauoire d61e724d48 LIT is now 0x01 2021-04-19 09:51:52 -07:00
neauoire f3e58adc03 Implemented file vectors in nasu/noodle 2021-04-13 12:29:36 -07:00
neauoire 69f770f56f Removed some globals 2021-04-08 09:59:45 -07:00
neauoire 2e3cfff210 Porter more examples to the new vectors 2021-04-05 13:27:43 -07:00
neauoire 3d8ddc143a Each device now has its own vector 2021-04-05 11:39:08 -07:00
neauoire 818ade6db1 Fixed emulator frame bug 2021-04-04 20:58:47 -07:00
neauoire 3dafa868cb Minor cleanup 2021-04-04 20:35:52 -07:00
neauoire 7529e119cd Removed status byte in CPU 2021-04-04 20:24:11 -07:00
neauoire 98da3cbe31 Tiny optimization 2021-04-04 10:03:20 -07:00
neauoire ab889172cf Merged lit counter with status flag 2021-04-04 09:37:00 -07:00
neauoire e791dbd640 Removed old devices and counters bytes 2021-04-04 08:34:18 -07:00
Andrew Alderwick 12552c51a7 Removed FLAG_RETURN. 2021-03-28 20:38:43 +01:00
Andrew Alderwick 44157aae5b Removed redundant modulo operations. 2021-03-28 20:37:37 +01:00
neauoire a2370ed4e3 Disks are now loaded at 0x0200 2021-03-28 11:06:36 -07:00
Andrew Alderwick dad540651e Hard-code vectors. 2021-03-28 18:19:06 +01:00
Andrew Alderwick 0c26811277 Fix LITr and LIT2r. 2021-03-28 11:51:45 +01:00
neauoire f740ec3feb Minor cleanup 2021-03-27 11:04:05 -07:00
neauoire a5ec692b0a Removed CLN 2021-03-26 20:16:48 -07:00
neauoire 8e2a8df848 JNZ now uses the flag last 2021-03-26 11:19:19 -07:00
Andrew Alderwick 7761c3ee94 Remove FLAG_SHORT. 2021-03-26 17:02:14 +00:00
neauoire a0f54f118b Removed special case in JNZ 2021-03-26 09:53:17 -07:00