Commit Graph

297 Commits

Author SHA1 Message Date
neauoire 81a3dbee5e Better on-screen stack debugging 2023-10-31 11:17:33 -07:00
Sigrid Solveig Haflínudóttir f8c7e44ea1 console: add a newline at eof 2023-09-21 17:13:17 +00:00
neauoire a323cb5c56 (screen.c)Fixed redraw issue 2023-09-02 18:34:04 -07:00
neauoire fb892e4329 Uxn can no longer error 2023-09-02 13:51:03 -07:00
neauoire 3b526bbed6 (screen.c) Always cache value before PEEK/POKE 2023-08-30 12:06:04 -07:00
neauoire 107a25295b (mouse.c) Do not use POKE2 macro 2023-08-30 11:25:15 -07:00
neauoire a18f8697f0 (uxn.c) Removed unnecessary negation 2023-08-25 13:05:45 -07:00
neauoire 1b1c9fc710 Make emu_masks globals 2023-08-25 09:38:03 -07:00
neauoire d3081fd93d Zero ram on reboot 2023-08-19 07:58:44 -07:00
neauoire 15d09cf15b Added stack pointer accessors to system device 2023-08-19 07:34:14 -07:00
neauoire c6a628e6ae Pre-process dei/deo masks 2023-08-17 09:25:24 -07:00
neauoire 5a77c3e1e3 Removed unused ports from system deo mask 2023-08-16 20:46:24 -07:00
neauoire 63d5dd681a Tightened screen debugger redraw 2023-08-16 14:33:45 -07:00
neauoire d3371d1f73 Muted warnings 2023-08-16 13:53:31 -07:00
neauoire 13bd3ce2d8 Made debugger private to screen 2023-08-16 13:46:07 -07:00
neauoire cfe02013fd Inlined system_cmd 2023-08-15 19:23:55 -07:00
neauoire d8532e7c0e system_load() is now private 2023-08-15 19:21:06 -07:00
neauoire b737dfca85 Combined all system reboots 2023-08-15 19:19:06 -07:00
neauoire bd8b2026b8 Keep boot rom path in system 2023-08-15 18:53:51 -07:00
neauoire 4d7ce3e893 Made a console_listen function 2023-08-15 16:24:40 -07:00
neauoire c0d45d1440 Try loading rom during system init 2023-08-15 16:06:29 -07:00
neauoire 9a7a11003f System device handles boot 2023-08-15 15:59:32 -07:00
neauoire de7b24e820 Added soft reboot 2023-08-13 18:48:32 -07:00
neauoire c7884b625f Fixed issue where redraw region always started at 0 2023-08-10 08:47:34 -07:00
neauoire 2e25f6c27e Added version flag to uxnemu 2023-08-08 15:56:40 -07:00
neauoire 9c25f801d0 Print system versions for uxncli with -v flag 2023-08-08 15:31:48 -07:00
neauoire 2e1b56018b Added per-device versions 2023-08-08 14:44:17 -07:00
neauoire 97d299261f Setting up stage to add versioning 2023-08-08 14:13:07 -07:00
neauoire 13570f790d (screen.c) Hide stack debugger when empty 2023-08-08 10:39:11 -07:00
neauoire 7090ab72b9 Returned the on-screen debugger 2023-08-08 10:27:41 -07:00
neauoire c68936b475 (uxn.c) Renamed POP/PUSH to POPx/PUSHx 2023-08-07 16:22:57 -07:00
neauoire 222246748e (screen.c) Inlined sprite drawing function 2023-08-05 10:31:22 -07:00
neauoire 789fb0cd8b (screen.c) Faster sprite drawing 2023-08-05 09:59:08 -07:00
neauoire b4d7818632 Added auto byte sprite flipping 2023-08-04 11:55:17 -07:00
Cellmaker 9ca8e9623d added microtonality to the audio device 2023-07-30 15:03:34 -07:00
Devine Lu Linvega dcb434760b Housekeeping 2023-07-24 09:48:49 -07:00
Devine Lu Linvega 26bc456a1b (screen.c) Blending 00 only clears in accordance to sprite at addr 2023-07-23 19:32:41 -07:00
Devine Lu Linvega 867883409e Emulator functions prefixed with emu_ instead of uxn_ 2023-07-23 19:18:11 -07:00
Devine Lu Linvega ec973c2ea6 Only set emu size on screen resize, no constant checks 2023-07-23 16:24:09 -07:00
Devine Lu Linvega 29e664c6b8 Do not re-set window size when unchanged 2023-07-23 16:10:48 -07:00
Sigrid Solveig Haflínudóttir 51d43a6989 screen: don't leak memory and don't crash if failed to adjust for new screen size 2023-07-17 00:50:19 +02:00
Sigrid Solveig Haflínudóttir dbcb8ed050 retry_realpath: check before possibly writing out of bounds 2023-07-10 17:21:36 +00:00
Weeble f5c816d215 (screen.c) Fix sprite draw at screen edge
Problem - Sprites can be drawn at X/Y coordinates >= 0xfff9 to appear
partially over the left/upper screen boundary. But the dirty-rectangle
calculation doesn't account for this, so these updates will only appear
on the screen if something *else* dirties this area of the screen. This
can be observed in /projects/examples/devices/screen.tal where these
edges of the screen show stale content.

Solution - Detect wrapping and expand the dirty rectangle appropriately.
Change screen_change to take Uint16 to make sure values are truncated to
the intended range. Ignore changes that are fully off the screen.
2023-06-29 07:41:42 -07:00
Sevan Janiyan 305b8469b0 Use the correct definition to obtain snprintf(3)
At some point snprintf(3) prototype became guarded off in stdio.h.
Defining _C99_SOURCE makes it visible.
On legacy Darwin, such a guard was not present so the definition
has no impact on the build, but on "modern" macos it has the desired
effect.
Build tested on OS X 10.4 and macos 10.15.
2023-05-15 08:32:48 -07:00
Devine Lu Linvega 09d9990a62 (screen) Fixes warnings 2023-05-04 20:45:52 -07:00
Devine Lu Linvega 77edd1dbbf (screen) Renamed pixels attr to layer 2023-05-04 20:32:44 -07:00
Devine Lu Linvega d80885ee22 (screen) Housekeeping 2023-05-04 20:17:38 -07:00
Devine Lu Linvega 98bd2a7849 (screen) Use uxn_screen global 2023-05-04 17:43:44 -07:00
Devine Lu Linvega 9416a0e813 Removed layer struct 2023-05-04 11:33:31 -07:00
Devine Lu Linvega 8f98281d89 (screen) Only repaint changed pixels 2023-05-04 11:15:16 -07:00