Commit Graph

305 Commits

Author SHA1 Message Date
Devine Lu Linvega 5709511c7e (screen.c) Do not shift a zero in 1bpp 2023-02-28 19:34:13 -08:00
Devine Lu Linvega 3818720eb2 Removed opacity lut 2023-02-28 17:00:21 -08:00
Andrew Alderwick f07775a9a2 (file device) Fix buffer overflow. 2023-02-17 21:39:14 +00:00
Devine Lu Linvega 60080d8fe8 (file device)Add / suffix to folder names 2023-02-17 10:08:00 -08:00
Devine Lu Linvega 9f4e85b1b3 Named arguments in system_cmd 2023-02-02 10:40:47 -08:00
Devine Lu Linvega 36a70ed605 Protect system_cmd from reading out of bounds 2023-02-02 10:20:19 -08:00
Devine Lu Linvega 33d6ef8cd2 Reversed arguments in system loader 2023-02-02 09:35:05 -08:00
Devine Lu Linvega 0dcc3b4c2e Simplified system_cmd 2023-01-31 09:49:32 -08:00
Devine Lu Linvega e20b572c20 Moved all system memory functions into system.c 2023-01-31 09:38:06 -08:00
Andrew Alderwick 5538e539d2 Minor optimisation. 2023-01-31 17:11:54 +00:00
Andrew Alderwick 9d9d094e6a Bare minimum changes to get Windows builds running again. 2023-01-31 17:05:01 +00:00
Devine Lu Linvega 0aa4aeff41 Load rom in chunks of 64kb 2023-01-28 18:38:37 -08:00
Devine Lu Linvega 390ae8138a Extend loaded rom size 2023-01-28 15:05:24 -08:00
Devine Lu Linvega fd84ff44d7 Initial draft for MMU 2023-01-28 14:45:31 -08:00
Devine Lu Linvega fad574816d Removed errcode from stacks 2023-01-12 20:35:42 -08:00
Andrew Alderwick 5cacb3f241 Fix macOS build. 2023-01-02 15:23:28 +00:00
Andrew Alderwick d94a84bc93 Port Audio to new devices scheme. 2023-01-02 15:01:55 +00:00
Andrew Alderwick c2b0667496 Update Copyright years. 2023-01-02 14:40:23 +00: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 bf4ee03d27 Ported screen to new device 2023-01-01 13:34:20 -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 68d706be25 Will connect devices to devold while I migrate to new router 2023-01-01 12:12:59 -08:00
Devine Lu Linvega 9aefeebf25 Removed Device struct from controller device 2023-01-01 11:37:34 -08:00
Devine Lu Linvega 062bbac37d Removed Device struct from mouse device 2023-01-01 11:31:14 -08:00
Devine Lu Linvega 24285d1d5d Fixed issue with monochromatic 2022-09-15 11:12:57 -07:00
Devine Lu Linvega ac6e4fed10 Toggle monochromatic mode 2022-09-15 09:11:20 -07:00
Andrew Alderwick a35ef6b242 Fix build warning on Windows. 2022-04-09 11:37:06 +01:00
Andrew Alderwick 47f65c7b82 (uxncli) Load ROM using the File device functions. 2022-03-28 18:51:29 +01:00
Andrew Alderwick 42dea5b914 Replace file_i_deo and file_i_dei. 2022-03-28 18:16:44 +01:00
neauoire c4f7483027 Arranged include order 2022-03-27 09:18:02 -07:00
Andrew Alderwick 0e7ebb69e6 (uxnemu) Interrupt infinite loops with an error. 2022-03-27 13:53:25 +01:00
Andrew Alderwick f2c644f680 Move DateTime to 0xc0, add second File to 0xb0. 2022-03-26 17:54:29 +00:00
Andrew Alderwick 7ce8cc1d24 Add file reading with .File/read DEI(2). 2022-03-17 19:09:34 +00:00
Andrew Alderwick 205cc89bcb Keep a local copy of File/name; don't try to read it beyond end of RAM. 2022-03-17 18:41:55 +00:00
Andrew Alderwick 27089a77e4 Prepare for more than one File device. 2022-03-17 18:35:49 +00:00
Andrew Alderwick bca73244f0 Minor fix to audio.c. 2022-03-17 18:29:44 +00:00
Andrew Alderwick a3b87e021f Rename file_deo variables. 2022-03-17 17:08:03 +00:00
Andrew Alderwick 5dcf0a2b35 Make the UxnAudio struct private to audio.c. 2022-03-17 16:59:36 +00:00
Andrew Alderwick 1d694c43ea Fix sprite address check. 2022-03-06 20:39:27 +00:00
Andrew Alderwick 314dd5a431 screen/auto: Replace draft looping with block width control. 2022-03-06 18:02:34 +00:00
Andrew Alderwick 1b04e0814b (draft) Add looping functionality to Screen/auto. 2022-03-06 13:42:59 +00:00
Andrew Alderwick 055fa9bcd0 Close some security holes. 2022-01-23 23:17:54 +00:00
Andrew Alderwick deace3b79a Remove old debugging support. 2022-01-23 19:35:18 +00:00
Andrew Alderwick fbd9c49f84 Fix resize when only width or height are set. 2022-01-20 01:34:44 +00:00
Andrew Alderwick d186b7a038 Perform resizing of SDL screen during redraw. 2022-01-20 01:24:22 +00:00
Andrew Alderwick cd0ca2eb17 Move clamp() to screen.c. 2022-01-20 01:24:20 +00:00
Andrew Alderwick 2c47425c41 Remove trailing space in stack printing 2022-01-14 07:59:42 +00:00
neauoire 4ea8cc2819 Removed extra specing around bytes in stack printing 2022-01-13 14:52:37 -08:00
neauoire b48db8278f (monospace.tal) Added a 8x8 label drawing example 2022-01-13 10:25:31 -08:00
neauoire f1cc022e9b Uxncli now uses the system_inspect 2022-01-13 08:34:32 -08:00
neauoire 44a7f5ef0e Removed old debug files 2022-01-13 08:26:35 -08:00
neauoire 031f63a13c Print stack with DEO on 0x0f 2022-01-13 08:25:59 -08:00
neauoire ee4308196a Starting a debugging device 2022-01-12 21:22:33 -08:00
neauoire 6a6a2ec383 Removed external memory bank 2022-01-12 18:56:59 -08:00
neauoire 459855d825 Removed supervisor 2022-01-12 18:40:51 -08:00
neauoire 06b694d406 Removed ram helper in uxn 2022-01-11 14:51:25 -08:00
neauoire cd30b48665 Rename memory banks 2022-01-11 14:16:27 -08:00
neauoire 38d2c7cbd7 (boot.rom) Renamed to launcher.rom 2022-01-10 20:35:34 -08:00
Andrew Alderwick 9fcb0c335b Remove use of snprintf. 2022-01-10 11:35:45 +00:00
Andrew Alderwick 0d242d704e Correct cast for snprintf 2022-01-10 09:59:00 +00:00
neauoire 37497060dc Removed stdlib from screen header 2022-01-08 19:38:53 -08:00
neauoire 5004ee1339 The file device cannot write on the supervisor 2022-01-08 10:03:21 -08:00
neauoire 8fdb039926 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2022-01-07 16:47:01 -08:00
neauoire f5278f3a13 Removed device vector variable 2022-01-07 16:46:50 -08:00
Sigrid Solveig Haflínudóttir eeb0dc9e45 put back newlines to avoid compilation warnings 2022-01-07 23:46:39 +01:00
neauoire b328a4e87d Commented the fkey controls temporarily 2022-01-07 11:36:04 -08:00
neauoire 38334a633b Pass fn keys directly to the supervisor 2022-01-07 10:55:09 -08:00
neauoire 19a8e56cd6 Started device port masking 2022-01-07 10:02:28 -08:00
neauoire 41d0911d13 The supervisor program now uses its own vectors 2022-01-06 19:51:34 -08:00
neauoire 1a7af4d8d0 Supervisor is now watching the device page 2022-01-06 19:20:50 -08:00
neauoire ed1f6e6263 Connected error reporting and the hypervisor 2022-01-06 14:32:28 -08:00
neauoire 3cc2ba98f0 First hypervisor 2022-01-05 20:44:33 -08:00
neauoire b9a37077c3 Started work on the hypervisor 2022-01-05 19:48:51 -08:00
Andrew Alderwick 4cbb661f48 Implement System/vector for debugging. 2022-01-05 17:27:24 +00:00
Andrew Alderwick 646d79fff5 Factor out common parts of system_dei/deo. 2022-01-05 13:29:18 +00:00
Andrew Alderwick c77799dac2 Just pass an error code to uxn_halt. 2022-01-05 13:07:04 +00:00
Andrew Alderwick c37831749f Split uxn_halt into beginnings of System device file. 2022-01-05 13:03:17 +00:00
Andrew Alderwick 2a825de2fd Switch void context increments from pre to post 2022-01-04 02:05:32 +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
Sigrid Solveig Haflínudóttir e12e07e457 mouse.c: add newline at eof 2021-12-29 18:58:31 +01:00
neauoire 385fa44f9d Prefixed globals with uxn_ 2021-12-29 09:11:03 -08:00
neauoire a747e4b20a Fixed issue with screen resize 2021-12-28 17:22:40 -08:00
neauoire c3506869b5 Renamed Apu to Audio 2021-12-28 13:47:35 -08:00
neauoire 7b33cf3d95 Renamed PPU to Screen 2021-12-28 13:37:26 -08:00
neauoire 2a9fc00441 Renamed mouse mod to mouse scroll 2021-12-28 11:21:56 -08:00
neauoire 69f72485c7 Invert y scroll 2021-12-28 10:56:53 -08:00
neauoire a1dc75a2bc Implemented scroll x/y 2021-12-28 10:45:34 -08:00
neauoire 51b9c699b8 Mini fix to controller button order 2021-12-27 13:37:37 -08:00
neauoire 4a223f91b5 The screen is now a member of Ppu 2021-12-27 09:57:48 -08:00
neauoire fe75479fae Moved controller device to devices/controller.c 2021-12-27 09:24:43 -08:00
Sigrid Solveig Haflínudóttir a8944f36ec remove aarch64-specific logic, it has been moved to its own branch, "aarch64" 2021-12-27 13:38:44 +01:00
neauoire 89c07988ac Moved mouse to devices/ 2021-12-26 21:02:24 -08:00
neauoire 13fd0d9724 Moved file APIs in device/file 2021-12-26 20:26:27 -08:00
Sigrid Solveig Haflínudóttir b7453e1206 ppu aarch64: sorry, neauoire 2021-12-26 14:31:24 +01:00
Sigrid Solveig Haflínudóttir e488f76766 ppu arch64: clear "changed" on fg/bg and handle leftovers, if any 2021-12-26 14:19:02 +01:00
Sigrid Solveig Haflínudóttir 68c3a81301 ppu aarch64: clean up 2021-12-26 13:54:06 +01:00
Sigrid Solveig Haflínudóttir 6338f8d9a2 ppu_aarch64: initial version of ppu_redraw using Neon 2021-12-26 07:32:35 +01:00
Sigrid Solveig Haflínudóttir 66f5ba6e4d apu: Uint32 already defined in uxn.h 2021-12-26 07:28:19 +01:00
Sigrid Solveig Haflínudóttir 73177d91fe ppu: mark ppu_redraw as weak symbol so it can be overridden; move paletter to the start of Ppu struct (for alignment) 2021-12-26 07:09:12 +01:00
Sigrid Solveig Haflínudóttir 69cfef46be ppu_palette: rewrite for more readability 2021-12-25 22:42:34 +01:00
Sigrid Solveig Haflínudóttir 37cd90bec1 ppu_blit: change type to Uint16 2021-12-25 19:00:26 +01:00
Sigrid Solveig Haflínudóttir 2c8a7ed05a ppu_blit: tiny bit faster by doing less memory reads in the inner loop 2021-12-25 18:56:36 +01:00
Sigrid Solveig Haflínudóttir 5848fbe50b ppu_blit: mostly cosmetic - explain blending's 4th row, gain few more cycles 2021-12-25 16:26:01 +01:00
Sigrid Solveig Haflínudóttir 8bbe5c1dfd ppu_resize: f49143782a was wrong. keep successfully reallocated layers 2021-12-25 16:06:30 +01:00
Sigrid Solveig Haflínudóttir 831014e811 ppu_redraw: use the same optimization that one-layer logic had 2021-12-25 15:57:43 +01:00
Sigrid Solveig Haflínudóttir c2829ce5fe ppu: remove the last(?) remnants of single layer logic 2021-12-25 15:12:30 +01:00
Sigrid Solveig Haflínudóttir f49143782a ppu_resize: don't leak if one layer failed to resize 2021-12-25 15:05:33 +01:00
Sigrid Solveig Haflínudóttir ef2b2e881b ppu header: remove unused macros 2021-12-25 14:48:05 +01:00
Sigrid Solveig Haflínudóttir 927fdb497f ppu: unite 1bpp and 2bpp into one - ppu_blit 2021-12-25 13:50:34 +01:00
Sigrid Solveig Haflínudóttir b2bb585e1d ppu: clear should only mark one layer as changed 2021-12-24 23:27:41 +01:00
Sigrid Solveig Haflínudóttir db957f4dbb ppu: resize already calls clear, no need for repetition 2021-12-24 23:27:07 +01:00
neauoire 8a25a5e387 Renamed layer.p to layer.pixels 2021-12-24 12:01:10 -08:00
Sigrid Solveig Haflínudóttir f79b092e71 ppu: separate reqdraw for fg and bg 2021-12-24 20:45:31 +01:00
neauoire 0a040824b7 Optimized ppu_redraw 2021-12-24 10:10:55 -08:00
neauoire cc6f2c8b29 Inlined ppu_read 2021-12-24 10:02:23 -08:00
neauoire 3fb4d40eb0 Split pixels into fg/bg 2021-12-24 09:59:18 -08:00
neauoire 250e338d07 Redraw is now part of the PPU 2021-12-24 09:46:21 -08:00
neauoire 0794070adf Palette is now part of the PPU 2021-12-24 09:39:51 -08:00
neauoire 668eab05bf (ppu) Minor optimisation 2021-12-24 09:29:26 -08:00
neauoire 4d2b55c188 Removed stdio from ppu 2021-12-20 09:45:56 -08:00
neauoire 5ebeaf6852 Using ppu_clear on resize 2021-12-20 09:42:29 -08:00
neauoire c4d9e52fd6 (uxnemu) Clear debugger on toggle 2021-12-19 12:20:13 -08:00
Andrew Alderwick 2330320985 (readability) Use preincrements throughout in void context. 2021-12-14 23:17:32 +00:00
Andrew Alderwick d2c6d5e12d Remove unused limits.h 2021-11-07 19:34:41 +00:00
Sigrid Solveig Haflínudóttir fd7cf5e221
file: write: return error if fflush failed 2021-11-07 20:21:15 +01:00
Sigrid Solveig Haflínudóttir 3606081184
file: reduce casts 2021-11-07 20:06:15 +01:00
Sigrid Solveig Haflínudóttir 677b02f0a3
file: replace strncpy+strncat with a single snprintf call 2021-11-07 20:00:56 +01:00
Sigrid Solveig Haflínudóttir 90225ad773
file: replace PATH_MAX with 4096 to have the same limit everywhere (Windows has the macro set to < 300) 2021-11-07 19:32:48 +01:00
Devine Lu Linvega 42d0f65d12 Rewrote get_entry 2021-11-07 12:26:37 -05:00
Devine Lu Linvega dee04ff44a Renamed prepare for init 2021-11-07 10:30:56 -05:00
Andrew Alderwick db0efaeff1 Drop redundant dirfd 2021-11-07 00:51:42 +00:00
Andrew Alderwick ea42a0bdd7 Use basename for File/stat output 2021-11-07 00:46:18 +00:00
Andrew Alderwick 3acaaa2874 Drop fstatat for building on MSYS2 2021-11-07 00:45:55 +00:00
Sigrid Solveig Haflínudóttir 0465b68ab5
add file device build dep to mkfile; fix file_delete prototype 2021-11-07 00:12:11 +01:00
Andrew Alderwick ede10292d6 Add flush to File device writes 2021-11-06 21:22:00 +00:00
Andrew Alderwick 3a11945fec Fix null pointer dereference if File/name not set 2021-11-05 23:26:45 +00:00
Andrew Alderwick dc3170db98 Implement File/append flag. 2021-11-05 22:48:04 +00:00
Andrew Alderwick c970e2c5ef File device: drop offset shorts, add stat and delete. 2021-11-05 21:32:45 +00:00
Devine Lu Linvega 3bfbbbc124 Moved debugger to ppu 2021-11-04 11:42:15 -04:00
Sigrid Solveig Haflínudóttir e21a0ed885
clang-format 2021-11-03 23:05:47 +01:00
Sigrid Solveig Haflínudóttir 5a20eb69b0
ppu: simplify ppu_set_size 2021-11-03 23:03:33 +01:00
Sigrid Solveig Haflínudóttir 28aaf40e6d
ppu_write: put new byte value only if it's different 2021-11-02 18:18:30 +01:00
Sigrid Solveig Haflínudóttir ca5675419e
ppu_write: remove duplicate condition we already checked for 2021-11-02 18:15:11 +01:00
neauoire 243c5866ac Do not overdraw 2021-09-30 19:35:22 -07:00
neauoire 0fe8b39447 Cleaned up PPU 2021-09-30 10:44:40 -07:00
neauoire 9de513ad47 Cleaned up ppu_read 2021-09-30 09:34:50 -07:00
neauoire c02dc5b0e2 Fixed transparency 2021-09-29 21:00:18 -07:00
neauoire c494e42cf2 Drawing is pixel-perfect again 2021-09-29 20:54:27 -07:00
neauoire bac54f1fd9 Progress on new bitpacking 2021-09-29 20:44:15 -07:00