Commit Graph

287 Commits

Author SHA1 Message Date
neauoire 90c3a25792 emu_deo() writes in memory 2023-10-31 09:00:02 -07:00
neauoire d439d0a45d Send zero byte and EOF on stdin 2023-09-05 16:35:10 -07:00
neauoire f63b25e118 (screen.c) Fixed missing pixel in redraw region 2023-09-02 18:47:33 -07:00
neauoire 5e720d7e4b Uxn can no longer error 2023-09-02 14:03:21 -07:00
neauoire 0fd7427d37 Only check for keep mode during SET() 2023-09-01 15:56:47 -07:00
neauoire 8530f2fa77 (screen.c) Faster DEI/DEO 2023-08-30 12:15:52 -07:00
neauoire 74c830c44c (uxn.c) Use faster core 2023-08-30 12:14:32 -07:00
neauoire c97d19da99 (uxn.c) Catch JCI underflow 2023-08-30 09:14:20 -07:00
neauoire abfeead04c Cache input in PUT2 macros 2023-08-30 08:57:41 -07:00
neauoire bd5a5cbda2 (uxn.c) Added macros for multi-write 2023-08-29 10:47:49 -07:00
neauoire 54b136bfea (uxn.c) Simpler opc form 2023-08-29 09:47:53 -07:00
neauoire 71490d712c (uxn.c) Removed needed masking for opcode lookup 2023-08-29 09:42:06 -07:00
neauoire cdb0f0e4a4 (uxn.c) Removed unnecessary negation 2023-08-25 13:06:00 -07:00
neauoire e0ad8f1c0c Fixed issue in uxn11 2023-08-25 10:19:43 -07:00
neauoire e522eeb7a5 Basic link implementation 2023-08-25 10:15:57 -07:00
neauoire 618212a0d7 Connected link device 2023-08-25 09:48:14 -07:00
neauoire 2c560686d8 Moved masks to system 2023-08-25 09:40:25 -07:00
neauoire bd976ce842 Boilerplate threads 2023-08-25 09:18:37 -07:00
neauoire 0ed2617506 Setting the stage for link device 2023-08-24 21:25:11 -07:00
neauoire b3c68a17fb Zero ram on reboot 2023-08-19 07:59:18 -07:00
neauoire 2e2f8df0e0 Added stack pointer accessors to system device 2023-08-19 07:36:26 -07:00
neauoire c6bd7f06a7 Pre-process dei/deo masks 2023-08-17 09:27:33 -07:00
neauoire b405d8c663 Removed unused ports from system deo mask 2023-08-16 20:47:09 -07:00
neauoire e1b2f8f14b Tightened screen debugger redraw 2023-08-16 14:31:40 -07:00
neauoire 68e4d82df5 Screen debugger forces a full screen redraw 2023-08-16 14:02:01 -07:00
neauoire 4690a113c4 Fixed issue with debugger 2023-08-16 13:46:36 -07:00
neauoire 8edf2da7c8 Destroy assets on emu_end 2023-08-16 13:37:17 -07:00
neauoire c09a047851 Reduce redraws 2023-08-16 13:29:15 -07:00
neauoire 867701b5dc Make screen debugger private 2023-08-16 13:22:41 -07:00
neauoire 7dac87dcba Standardized varvara boot 2023-08-16 13:10:42 -07:00
neauoire 6ebc44baeb Delay window generation to after eval 2023-08-16 13:01:50 -07:00
neauoire 1cc1bbc594 Moved game loop into emu_run 2023-08-16 12:50:46 -07:00
neauoire c1fd75a90b Fixed issue with screen changed region 2023-08-10 08:56:11 -07:00
neauoire 86c26de680 Use tnl core 2023-08-09 19:50:29 -07:00
neauoire 2ed94d4c28 (uxn.c) merged POP-POP PUSH-PUSH sequences 2023-08-08 20:07:27 -07:00
neauoire 670703f87f Merged POPxPOPx and PUSHxPUSHx 2023-08-08 17:15:08 -07:00
neauoire d25be56b5f (uxnasm.c) Fixed issue with lambda 2023-08-08 16:47:29 -07:00
neauoire c5f0dc26d3 (uxnasm.c) Added comma after date 2023-08-08 16:39:50 -07:00
neauoire 8e3676f007 Added version to uxnasm 2023-08-08 16:34:30 -07:00
neauoire 1355d7813e Version 1 2023-08-08 16:26:13 -07:00
neauoire 9fd8b1709e Added on-screen debugger 2023-08-08 10:51:12 -07:00
neauoire cb1dcd12eb Returned the simpler uxn core, connected to device masks 2023-08-07 16:28:41 -07:00
neauoire 1f662d21e6 (screen.c) Inlined sprite drawing function 2023-08-05 10:35:53 -07:00
neauoire 0446dcaaa3 (screen.c) Faster sprite drawing 2023-08-05 09:59:25 -07:00
neauoire 9737391b9f Implemented total sprite flipping in bliting 2023-08-04 11:40:24 -07:00
neauoire 14263f3a02 Updated screen device 2023-08-01 20:39:16 -07:00
neauoire 5c2c060aa3 Brought the latest changes over 2023-08-01 20:32:42 -07:00
Devine Lu Linvega b49ded302d (uxn.c) Removed z stack assignment 2023-07-22 20:58:56 -07:00
Devine Lu Linvega 7ff69378c8 uxncli: stop on EOF as there is nothing left to run (besides endless loop) 2023-07-17 20:25:28 -07:00
Devine Lu Linvega d8e78ffef0 Fixed usage 2023-06-08 09:52:11 -07:00
neauoire d5fed95ef3 Returned PADDING 2023-06-07 08:42:22 -07:00
neauoire 1892352885 More selective redraw 2023-06-05 08:55:21 -07:00
Devine Lu Linvega 5a8ee380fe Removed multiplication from SET macro in uxn core 2023-05-17 20:43:50 -07:00
Devine Lu Linvega 7377477f23 Implemented scaling 2023-05-05 17:21:46 -07:00
Devine Lu Linvega cac4e5d093 (screen) Faster implementation 2023-05-04 20:43:06 -07:00
Devine Lu Linvega f181416095 Renamed zoom for scale 2023-05-04 20:37:06 -07:00
Devine Lu Linvega 7d1c62b2cb Simplified threads implementation somewhat 2023-05-03 11:32:38 -07:00
Devine Lu Linvega 29e130ace0 Removed arguments array for friends/tasks 2023-05-03 10:26:28 -07:00
Devine Lu Linvega 1be9024704 Removed NIPk/POPk special cases once and for all(?) 2023-05-02 14:51:51 -07:00
Devine Lu Linvega 09681a54f5 Added device mask to uxncli for friend port 2023-05-02 10:25:19 -07:00
Devine Lu Linvega ae61e92585 Added special POPk/NIPk modes 2023-05-02 09:57:01 -07:00
Devine Lu Linvega e191a164ea Added multithreading port 2023-04-30 22:03:35 -07:00
Devine Lu Linvega 87a72de69e Using new core 2023-04-30 11:43:33 -07:00
Devine Lu Linvega 55178e8347 Added ZOOM support 2023-04-30 11:32:11 -07:00
Devine Lu Linvega 855b63b1ef Housekeeping 2023-04-30 10:24:14 -07:00
Devine Lu Linvega 29f057ba44 Brought changes for the console 2023-04-17 11:36:17 -07:00
Devine Lu Linvega b733d4dc5a (screen.c) Found issue with screen_fill, removed for now 2023-04-14 19:56:17 -07:00
Devine Lu Linvega da59482765 (screen.c) Less indirections 2023-04-14 10:33:51 -07:00
Devine Lu Linvega 04096fc172 Brought changes for the screen device 2023-04-13 21:58:12 -07:00
Devine Lu Linvega f4f29dea0b Fixed issue with screen fill layer 2023-04-13 09:59:23 -07:00
Devine Lu Linvega 1fb58f0f0a (screen.c) Faster drawing of pixel 2023-04-13 09:43:55 -07:00
Devine Lu Linvega 1968801862 Simplified screen device 2023-04-12 20:31:30 -07:00
Devine Lu Linvega a92e5416f9 Silenced warnings 2023-04-12 12:46:48 -07:00
Devine Lu Linvega 5b59215829 Removed mono mode 2023-04-12 12:44:49 -07:00
Devine Lu Linvega ac4ec0928a Implemented Screen/pixel fill mode 2023-04-11 15:14:32 -07:00
Devine Lu Linvega bc055f37b8 Do not share stacks 2023-04-11 09:25:31 -07:00
Devine Lu Linvega bdd6c19576 Moved emu_error to device 2023-04-10 14:32:54 -07:00
Devine Lu Linvega ed588f9190 Standardized screen device to the SDL version 2023-04-10 14:13:41 -07:00
Devine Lu Linvega adc0ccdad4 Fixed issue with DEI 2023-04-10 13:37:17 -07:00
Devine Lu Linvega 6a0b572f6d Restored old core with new DEI/DEO macros 2023-04-10 12:29:26 -07:00
Devine Lu Linvega 9a4625ba16 Ported to new core 2023-04-10 11:32:16 -07:00
Devine Lu Linvega 8260d9496f Removed POKDEV/PEKDEV macros 2023-04-10 10:53:30 -07:00
Devine Lu Linvega 7e1ac70dc2 (file) Ported to PEEK2 2023-04-10 10:50:16 -07:00
Devine Lu Linvega 1bda3b77f0 (screen) Ported screen to use PEEK2 2023-04-10 10:47:05 -07:00
Devine Lu Linvega a60a2a05d9 (mouse) Ported to POKE2 macro 2023-04-10 10:41:04 -07:00
Devine Lu Linvega 02f2769153 Cleaned up build script 2023-04-10 10:16:17 -07:00
Devine Lu Linvega 416f37c71a Removed GETVEC macro 2023-04-10 10:08:40 -07:00
Devine Lu Linvega 5917f409c5 Formatted 2023-03-18 11:12:48 -07:00
Deadly Headshot 5ef6a7a98a Added console input to uxn11 and added to buildscript the ability to build the release without installing using --release. Also added default flag variables to buildscript. 2023-03-18 11:11:46 -07:00
Devine Lu Linvega 344faceb7d (uxnasm) Fixed issue with makereference() 2023-03-01 08:57:17 -08:00
Devine Lu Linvega 903ca57ad5 (file device)Add / suffix to folder names 2023-02-17 10:08:13 -08:00
Devine Lu Linvega 8cf9d55c1c (uxncli)Use System/halt as exit code 2023-02-13 09:34:30 -08:00
Devine Lu Linvega 2039e0fb4a Named system_cmd arguments 2023-02-02 10:39:57 -08:00
Devine Lu Linvega 5ceffe233f Protected system_cmd 2023-02-02 10:18:53 -08:00
Devine Lu Linvega db4e07f5b1 Ported to last uxn core 2023-02-02 09:34:14 -08:00
Devine Lu Linvega 9d889340ea Simplified system loading 2023-02-02 08:45:03 -08:00
Devine Lu Linvega 7603ddf9cc Added MMU operation 2023-01-28 16:47:41 -08:00
Devine Lu Linvega df7cdd1ce6 Increased limit of refs 2023-01-21 18:25:15 -08:00
Devine Lu Linvega 7616af7cae Swapped JCI and JMI 2023-01-12 09:45:19 -08:00
Devine Lu Linvega 256b7cafce Call opcodes are now relative 2023-01-12 09:34:45 -08:00
Devine Lu Linvega 18ff8550c7 (uxnasm) Use correct address in symbol export 2023-01-11 21:02:29 -08:00
Devine Lu Linvega a61b1cf0ac Removed byte masks for DEI/DEO 2023-01-09 20:00:09 -08:00
Devine Lu Linvega 823e301c0b Fixed security leaks in uxnasm and uxn 2023-01-07 12:02:57 -08:00
Devine Lu Linvega a124ca95b0 Faster CALL opcodes 2023-01-03 11:09:30 -08:00
Devine Lu Linvega 194e9c8949 Housekeeping 2023-01-02 17:33:57 -08:00
Devine Lu Linvega 31360cf82d (uxnasm)Updated license 2023-01-02 16:58:36 -08:00
Devine Lu Linvega 66de46b352 (uxnasm)Added support for JMI, JCI and JSI 2023-01-02 14:15:54 -08:00
Devine Lu Linvega b762c1420a Implement full CALL opcodes stack 2023-01-02 13:32:13 -08:00
Devine Lu Linvega 09bc396402 Removed uxn c/h from clang-format coverage 2023-01-01 18:27:33 -08:00
Devine Lu Linvega 6a9fe623d8 Added support for CALL 2023-01-01 18:03:50 -08:00
Devine Lu Linvega 49f2e626fc Do not check twice for short mode in LIT opcode 2023-01-01 16:44:41 -08:00
Devine Lu Linvega deaf17c3e7 Use HALT macro 2023-01-01 16:23:21 -08:00
Devine Lu Linvega 730440b07c Do not crash on symbol gen for long file names 2023-01-01 10:49:05 -08:00
neauoire 7edbaa0a87 Updated uxnasm to create symbols 2022-12-09 19:54:04 -08:00
Devine Lu Linvega bce4438469 Removed rawchr 2022-08-14 11:32:58 -07:00
Devine Lu Linvega a4a30df07e Removed annoying debug message 2022-08-08 08:04:18 -07:00
Devine Lu Linvega d60c5a01b0 Removed optimizations from uxnasm 2022-08-06 12:17:34 -07:00
Devine Lu Linvega 7a12088bbe Disabled tail-call opt entirely 2022-08-06 11:20:09 -07:00
Devine Lu Linvega 58bf463c40 Removed tail-call optimizations with JSR JMP2r 2022-08-06 10:25:34 -07:00
phoebos 57dfcdf717 don't print .. at sandbox top level 2022-07-31 07:21:10 -07:00
Devine Lu Linvega 245ba17115 Added a copy of uxnasm 2022-07-12 21:27:52 -07:00
aabacchus 387d802819 override sandbox from load_rom 2022-06-21 08:04:31 -07:00
aabacchus d9cdf192a8 add simple file sandboxing below cwd
Uses realpath(3) libc function to find the canonical and longest part of the
pathname which exists, then checking if it starts with cwd.

Prints a warning to stderr if an attempt is made to access a file outside the
sandbox.
2022-06-21 08:03:38 -07:00
Devine Lu Linvega fdb52a7480 Added window padding 2022-06-15 09:10:13 -07:00
Devine Lu Linvega 0c6dec9fc8 Device ids error report should be in 16th 2022-06-14 10:52:18 -07:00
Devine Lu Linvega 5d837313e5 Added warning for incompatible emulator devices 2022-06-14 10:47:52 -07:00
Devine Lu Linvega 2a1a506524 F2 should display the stacks even if empty 2022-06-13 12:20:20 -07:00
Devine Lu Linvega 707efa223a Removed unecessary struct 2022-06-13 12:07:49 -07:00
Devine Lu Linvega 1d01e74635 Typedef for Dei/Deo 2022-06-13 12:06:16 -07:00
Devine Lu Linvega 507a4b838c uxn_boot() now expects dei/deo fn pointers 2022-06-13 11:59:42 -07:00
Devine Lu Linvega d118cc3813 Renamed viewport to display 2022-06-13 11:29:16 -07:00
Devine Lu Linvega 48ca266a46 Minor housekeeping 2022-06-13 11:21:15 -07:00
Devine Lu Linvega 406d2fb327 Improved hot reload 2022-06-13 11:08:33 -07:00
Devine Lu Linvega 2b55c0732d Print erroring rom 2022-06-13 10:46:18 -07:00
Devine Lu Linvega eaaed92aeb Reload initial rom when boot.rom is not found 2022-06-13 10:43:43 -07:00
Devine Lu Linvega 245ad452a2 Keep rom path in memory 2022-06-13 10:37:18 -07:00
Devine Lu Linvega 95a28d6b4d Removed err4, display only stack when not empty on debug 2022-06-13 10:32:59 -07:00
Devine Lu Linvega 4d252e3109 Returned busy stack erroring while I finish Inle 2022-06-13 08:31:46 -07:00
Devine Lu Linvega 70ccb4fa68 Removed err4 2022-06-12 14:13:07 -07:00
Devine Lu Linvega 5b96cefb3a Added error code for stack busy 2022-06-12 09:12:13 -07:00
Devine Lu Linvega 15dcde5ae9 Improved gameloop 2022-06-03 14:55:46 -07:00
Devine Lu Linvega 3f32b9f6f9 Stop on System/halt 2022-06-03 14:54:40 -07:00
neauoire 9137114bd2 Simplified LIT opcode 2022-04-18 12:32:42 -07:00
neauoire d8f27c84ab Swapped opcodes 2022-04-18 09:28:14 -07:00
james palmer a339014fdd Show rom name in window title. 2022-04-12 10:33:10 -07:00
james palmer 53f57d4878 Fix typo in Uxn11 usage message. It is no-longer uxncli. 2022-04-12 10:33:10 -07:00
james palmer c68645a08f Fix segmentation fault on first boot.
When emu_start() is first called, the Uxn struct is uninitialised stack data.
This meant the u->ram pointer would be an invalid address so the program would crash
with a segmentation fault when attempting to free it. By setting it to NULL, we avoid this
because calling free() on a NULL pointer is a no-op.
2022-04-12 10:33:10 -07:00
neauoire 1acef2aaed Added instruction code to error report 2022-04-10 10:31:18 -07:00
neauoire c704491d79 Allow the system device to handle errors 2022-04-10 09:42:56 -07:00
neauoire aed26e5bd0 Housekeeping 2022-04-07 09:33:52 -07:00