Commit Graph

223 Commits

Author SHA1 Message Date
Devine Lu Linvega bf1ee0298d (uxn.c) Fixed issue where JSRr was pushing to wrong stack 2023-07-23 09:57:32 -07:00
Devine Lu Linvega db6f7d9fbf (uxn.c) Aligned BRK/JCI/JMI 2023-07-23 09:52:20 -07:00
Devine Lu Linvega bc4ec9ea5f (uxn.c) JSI makes use of SET() macro 2023-07-23 09:41:11 -07:00
Devine Lu Linvega 6f15a96d91 (uxn.c) LIT opcodes use SET() macro 2023-07-23 09:36:18 -07:00
Devine Lu Linvega b020732d6d (uxn.c) PUT2 should use POKE2 macro 2023-07-23 09:21:09 -07:00
Devine Lu Linvega 41a3a6b358 (uxn) Removed z stack assignment 2023-07-22 20:53:23 -07:00
neauoire e147b46b55 Snake_cased some SDL variables 2023-06-07 08:03:28 -07:00
Devine Lu Linvega 1d4ae74e41 Removed multiplication from SET macro in uxn core 2023-05-17 20:39:03 -07:00
Devine Lu Linvega 32fa0f95c3 (uxn.c) Catch div-by-zero errors 2023-04-15 09:52:08 -07:00
Devine Lu Linvega c7203de2ea (uxn.c) Less indirections in uxn core 2023-04-14 10:30:08 -07:00
Devine Lu Linvega daa421c259 (uxn.c) Cache stack pointer 2023-04-11 10:32:23 -07:00
Devine Lu Linvega fc8400dcac (uxn.c) Formatting 2023-04-11 10:24:54 -07:00
Devine Lu Linvega 3973bc2ab8 Made the uxn stacks private again 2023-04-11 10:14:29 -07:00
Sigrid Solveig Haflínudóttir 8a3c86a879 core: in plan 9 C it does not wrap around, fix the crash 2023-03-20 16:29:46 +00:00
Andrew Alderwick c701b95541 Detect stack overflows with greater than 255 bytes. 2023-03-13 06:04:33 +00:00
Andrew Alderwick 4464b1ec56 Correct SET values for NIP. 2023-03-13 06:03:44 +00:00
Devine Lu Linvega b68af3d173 Replaced macros in PUT2/PUSH2 2023-03-12 18:29:08 -07:00
Devine Lu Linvega 1de2cea576 Ordered the SWP writes 2023-03-12 16:15:27 -07:00
Devine Lu Linvega 3ecbfe5e03 Make use of macros in PUT/PUSH 2023-03-12 15:54:20 -07:00
Devine Lu Linvega 4e77d3d5ae Renamed PEEK16/POKE16 to PEEK2/POKE2 2023-03-12 15:25:52 -07:00
Devine Lu Linvega 43ce262a07 Moved opcodes side-by-side 2023-03-12 15:16:10 -07:00
Devine Lu Linvega 6c068b7774 Removed device page from addressable memory 2023-03-12 14:56:44 -07:00
Devine Lu Linvega 13ab0e5d95 Temporarily override uxn.c with fast until I can port the devices macros 2023-03-11 23:00:32 -08:00
Andrew Alderwick 075747f2bd Address compiler warning about switch case falling through. 2023-03-01 19:24:18 +00:00
Devine Lu Linvega 87de244d37 Replaced some macros 2023-03-01 10:35:42 -08:00
Devine Lu Linvega 91386f4832 (uxn.c) Housekeeping 2023-02-26 14:28:50 -08:00
Devine Lu Linvega 254f0031e5 (uxn.c) Housekeeping 2023-02-26 13:07:48 -08:00
Devine Lu Linvega c6110a50d5 Removed param in PUSH() macro 2023-02-26 09:55:39 -08:00
Devine Lu Linvega fd84ff44d7 Initial draft for MMU 2023-01-28 14:45:31 -08:00
Devine Lu Linvega bc26d9d60d (uxn.c) Removed mask to LDR and write in Uint16 var instead 2023-01-12 19:00:54 -08:00
Devine Lu Linvega c7d574b230 (uxn.c) Unallow LDR/STR to reach outside of ram 2023-01-12 18:47:19 -08:00
Devine Lu Linvega a5442ea4fd (uxn.c) Swapped JMI/JCI 2023-01-12 09:44:27 -08:00
Andrew Alderwick f202944566 Make JMI, JCI and JSI relative. 2023-01-12 13:22:21 +00:00
Andrew Alderwick 230e8dda34 Optimize opcode 0 handling. 2023-01-12 13:02:04 +00:00
Devine Lu Linvega d5d6a7a186 Removed DEO masks, already fed to Uint8 expecting function 2023-01-09 15:54:05 -08:00
Devine Lu Linvega a1bc00ce5f (uxnasm) Fixed buffer overflow in tokenizer 2023-01-07 11:59:00 -08:00
Devine Lu Linvega 4e68dc7753 Fixed crash vector where STR/LDR can access outside of bounds 2023-01-07 11:31:03 -08:00
Devine Lu Linvega 6cbe51b4ab (uxn.c)Use same macro format sequence for all CALL opcodes 2023-01-03 11:17:55 -08:00
Devine Lu Linvega 9b8cd748ad Faster CALL opcodes 2023-01-03 10:48:17 -08:00
Devine Lu Linvega 5b6aad6be2 Clearer routing of LIT/CALL opcodes 2023-01-02 13:11:52 -08:00
Devine Lu Linvega cc2b2e77b0 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2023-01-02 09:50:57 -08:00
Devine Lu Linvega 491e4b7435 Returned the k variable in uxn core 2023-01-02 09:50:09 -08:00
Andrew Alderwick c2b0667496 Update Copyright years. 2023-01-02 14:40:23 +00:00
Devine Lu Linvega a450959e9f Removed extraneous j variable 2023-01-01 18:26:28 -08:00
Devine Lu Linvega 6d0b51fa7f Added support for CALL 2023-01-01 18:03:36 -08:00
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