Commit Graph

878 Commits

Author SHA1 Message Date
neauoire b4d7818632 Added auto byte sprite flipping 2023-08-04 11:55:17 -07:00
Derek Stevens ffc604fba3 run: set window title from rom
Signed-off-by: Derek Stevens <nilix@nilfm.cc>
2023-08-04 11:47:37 -07:00
neauoire 2ddc20b1b6 (uxnasm) Generalized lambdas as common labels 2023-08-02 19:48:48 -07:00
Cellmaker 9ca8e9623d added microtonality to the audio device 2023-07-30 15:03:34 -07:00
Devine Lu Linvega 3a8cc42e0e Better labels for lambdas 2023-07-29 16:24:39 -07:00
Devine Lu Linvega 32cc690539 (uxnasm) Lambdas support 2023-07-29 16:14:19 -07:00
Devine Lu Linvega 0efea06b46 Only update viewport rect on resize 2023-07-26 08:37:58 -07:00
Devine Lu Linvega 289d13aeb4 Returned emulator border 2023-07-25 21:43:26 -07:00
Devine Lu Linvega 12509b7e6b Merged show() and gameloop() 2023-07-25 14:56:26 -07:00
Devine Lu Linvega db2117ee0a Resize emulator on start 2023-07-25 14:46:37 -07:00
Devine Lu Linvega 4286e0ba53 Grouped emulator routines together in uxnemu 2023-07-25 14:42:10 -07:00
Devine Lu Linvega 969f03e0ba Uxnemu skips resizing window until reset vector is done. 2023-07-25 14:30:51 -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
Devine Lu Linvega 4db53c1cc6 (uxn.c) Housekeeping 2023-07-23 11:06:21 -07:00
Devine Lu Linvega cb41bdfa9a (uxn.c) Removed PUSH/PUSH2 macros 2023-07-23 10:13:16 -07:00
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
Devine Lu Linvega 92e06e2eda Removed window padding 2023-07-22 19:52:17 -07:00
Sigrid Solveig Haflínudóttir 0c9e67b9be uxncli: stop on EOF as there is nothing left to run (besides endless loop) 2023-07-17 00:52:52 +02: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
Sigrid Solveig Haflínudóttir 784467564c uxnemu: fix two warnings on 9front build 2023-07-10 15:37:42 +00:00
Sigrid Solveig Haflínudóttir 05356e23b1 capture_screen: check for errors 2023-07-10 15:35:35 +00:00
Devine Lu Linvega ff6d9e39ca (uxnemu) Fixes issue where non-zero console/type occurs even when empty, fixed by hikari_no_yume 2023-06-29 14:23:16 -07: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
Devine Lu Linvega e930804c4b Do not print message on quit 2023-06-09 09:29:25 -07:00
Devine Lu Linvega fe10cfecef Improved usage standard message 2023-06-08 09:47:18 -07:00
neauoire 5dd7fec729 Removed clear between redraws and moved to set_window_size 2023-06-07 08:23:42 -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
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
Sevan Janiyan b5b3177c68 Switch to using SDL_CreateRGBSurface() SDL_CreateRGBSurfaceWithFormat() was introduced in SDL 2.0.5 whereas SDL_CreateRGBSurface() is available since SDL 2.0. This allows uxn to run on legacy systems where it's not possible to reach SDL 2.0.5 but prior versions are, such as Mac OS X Tiger. 2023-05-14 19:34:55 -07:00
Sevan Janiyan 822a7fea54 Use the audio format native to host AUDIO_S16 defaults to little endian format which causes issues when running on big endian systems. Use AUDIO_S16SYS instead which sets to whatever endian the system uxn is being built on is. 2023-05-14 19:34:55 -07:00
~d6 310ba97ef6 Improve screen vector timing somewhat.
This patch tries to improve the accuracy of our
screen refresh timing. Notably, it tries to ensure
we don't introduce extra delay in our timing based
on how long the screen vector takes to evaluate.

We also try to ensure we only call SDL_Delay when
we have at least 1ms to wait.
2023-05-09 13:12:23 -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
Sigrid Solveig Haflínudóttir c7f3014fe9 zoom: ignore if 0, ie if the screen is somehow TOO small to do any scaling 2023-05-02 22:53:07 +00:00
Devine Lu Linvega 83ba7e05ea Added mock behavior for the friend port 2023-05-02 10:31:33 -07:00