0
0
Fork 0
mirror of https://git.sr.ht/~rabbits/uxn synced 2024-12-04 11:37:25 +00:00
Commit graph

682 commits

Author SHA1 Message Date
Andrew Alderwick
41de322a75 Add support for interrupting Uxn during execution. 2022-01-12 11:33:49 +00:00
Andrew Alderwick
b1ba95336c Remove unistd.h from uxnemu.c. 2022-01-11 23:50:41 +00:00
neauoire
5e2bb92e4c Removed unistd from uxncli 2022-01-11 15:13:12 -08:00
neauoire
06b694d406 Removed ram helper in uxn 2022-01-11 14:51:25 -08:00
neauoire
61c7f9f0c1 Removed device globals 2022-01-11 14:38:55 -08:00
neauoire
cd30b48665 Rename memory banks 2022-01-11 14:16:27 -08:00
neauoire
ede186b226 Minor cleanup 2022-01-11 11:07:25 -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
c866b0938a Use proper memory size 2022-01-07 16:51:43 -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
180984f8fb Removed device port masks 2022-01-07 11:48:09 -08: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
28b9265042 Let us make a device page in shadow memory 2022-01-06 18:49:54 -08:00
neauoire
a82f7d79f8 Defined the location of stacks in shadow memory 2022-01-06 17:29:34 -08:00
neauoire
4c6821189e Merge branch 'main' of git.sr.ht:~rabbits/uxn 2022-01-06 14:32:35 -08:00
neauoire
ed1f6e6263 Connected error reporting and the hypervisor 2022-01-06 14:32:28 -08:00
Sigrid Solveig Haflínudóttir
d21bfb20e0 SDL_PIXELFORMAT_XRGB8888 → SDL_PIXELFORMAT_RGB888 (for older SDL2 versions) 2022-01-06 18:24:35 +01: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
Sigrid Solveig Haflínudóttir
4cd52209ac make the SDL texture XRGB8888 (no alpha) and remove padding pixels from it 2022-01-05 22:45:49 +01:00
Andrew Alderwick
f48a09c482 Stop LeakSanitizer complaining about Uxn's RAM. 2022-01-05 18:18:13 +00:00
Andrew Alderwick
4cbb661f48 Implement System/vector for debugging. 2022-01-05 17:27:24 +00: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
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
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
Andrew Alderwick
205f63cc43 Clear up SDL_KEYDOWN/SDL_TEXTINPUT logic 2022-01-04 01:12:17 +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
1cab0dffeb Removed unused fields in uxn.h 2022-01-02 23:26:13 +00:00
Andrew Alderwick
52598bdad7 Remove uxn-fast.c since new reference core is almost as fast. 2022-01-02 23:05:28 +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
22c6e07fca emu: make sure to handle key down event if the same key is up at the same frame 2021-12-29 23:32:18 +01:00
Sigrid Solveig Haflínudóttir
e12e07e457 mouse.c: add newline at eof 2021-12-29 18:58:31 +01:00
Sigrid Solveig Haflínudóttir
2b1e7fe20f emu: use SDL_BUTTON macro to get bitmask from a mouse button event 2021-12-29 18:47:54 +01:00
Sigrid Solveig Haflínudóttir
148dae4ebd fix a few "set and not used" warnings 2021-12-29 18:33:23 +01:00
neauoire
385fa44f9d Prefixed globals with uxn_ 2021-12-29 09:11:03 -08:00
Erik Osheim
abd6a3a5da Support nested comments in uxnasm.
Previously, code like this would fail with an error
about an unrecognized ) token:

    ( this is a ( nested ) comment )

With this patch, the above code will now work.

Relatedly, it was previously possible to write code
that compiled but was confusing:

    (open parenthesis should have a space )
    ( in this case the ADD2 will be ignored )ADD2
    ( this comment with ( would have been fine )

With this commit, the first example will emit a warning
but continue to work as intended. The second and third
examples will continue searching for a matching ) token,
which due to the new nested coment behavior will probably
mean the rest of the file gets commented out.
2021-12-28 19:28:15 -08:00
neauoire
51b55f3d99 Do not check for erroring video twice 2021-12-28 17:38:55 -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
8488ce64a4 Moved the emulator controls together 2021-12-27 13:59:22 -08:00
neauoire
004fa800ef Fixed issue with function keys 2021-12-27 13:50:39 -08:00
neauoire
3c47876d5e Start button is now HOME 2021-12-27 13:42:36 -08:00
neauoire
51b9c699b8 Mini fix to controller button order 2021-12-27 13:37:37 -08:00
neauoire
87507f7f03 Added joystick support 2021-12-27 11:44:57 -08:00
neauoire
9f743399b1 Added gamepad support 2021-12-27 10:04:24 -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
a12781f23a get_button: do not pass the whole event struct on the stack 2021-12-27 15:24:22 +01: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
32c18e82ca Started extracting the controller device 2021-12-26 21:33:23 -08: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
Andrew Alderwick
d9e619d8a1 Revert "emu: use SDL_clamp" since that function is not available in Debian's SDL.
This reverts commit a967525caf.
2021-12-26 21:14:41 +00: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
ba7e8a9fb4 uxn_eval: multiply as two uint32s to avoid UB 2021-12-25 23:29:36 +01:00
Sigrid Solveig Haflínudóttir
d8667dca0b emu event loop: peek for a key up only on key down event 2021-12-25 22:58:10 +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
8d4e7d54e1 emu: use SDL_Quit directly and let SDL handle shutdown itself 2021-12-25 21:44:19 +01:00
Sigrid Solveig Haflínudóttir
2f7bfd4122 emu: set_zoom: window is always there, remove useless check 2021-12-25 21:37:22 +01:00
Sigrid Solveig Haflínudóttir
a967525caf emu: use SDL_clamp 2021-12-25 21:28:02 +01:00
Sigrid Solveig Haflínudóttir
f436ebff12 emu: shut up -Wtypedef-redefinition with SDL headers when using clang 2021-12-25 21:27:23 +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
6c64678829 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2021-12-19 12:20:21 -08:00
neauoire
c4d9e52fd6 (uxnemu) Clear debugger on toggle 2021-12-19 12:20:13 -08:00
Sigrid Solveig Haflínudóttir
1e224079ed emu: when both key down and key up are generated on the same frame, skip the up until the next one 2021-12-19 20:40:20 +01:00
Sigrid Solveig Haflínudóttir
73c1ecccc0 emu: handle files dropped by loading it as a ROM 2021-12-16 17:29:09 +01:00
Sigrid Solveig Haflínudóttir
2cf6da4a55 emu: use "Back" on android to restart the rom for now 2021-12-16 01:05:59 +01:00
Sigrid Solveig Haflínudóttir
2dc3680bcf emu: don't call exit(0), return 0 is enough 2021-12-16 00:49:58 +01:00
Sigrid Solveig Haflínudóttir
9bc6a83873 emu/load: use RWops - it's more portable and allows loading roms from assets of an apk on Android 2021-12-15 23:54:44 +01:00
Andrew Alderwick
62f740416d Remove redundant declaration. 2021-12-14 23:17:32 +00:00
Andrew Alderwick
2330320985 (readability) Use preincrements throughout in void context. 2021-12-14 23:17:32 +00:00
neauoire
bae2d37fc2 (uxnasm) Only catch hex labels with slen of 2 or 4 2021-12-06 09:01:48 -08:00
Andrew Alderwick
60f04ca053 (uxnasm) Add error for relative references that are too far. 2021-12-01 11:42:44 +00:00
neauoire
da797b33c6 (uxnasm) Stop on resolve failure 2021-11-30 10:27:35 -08:00
neauoire
074a049ff2 (uxnasm) Renamed conflicting function 2021-11-29 16:19:47 -08:00
neauoire
25df420607 (uxnasm) Improved errors 2021-11-29 08:48:12 -08:00
Andrew Alderwick
6ba2af5c62 Avoid combining literals across | or $ pads. 2021-11-28 18:07:22 +00:00
neauoire
6c0e39ad6f (uxnasm) Fixed issue with labels 2021-11-27 14:58:37 -08:00
neauoire
b4e50165b6 (uxnasm) Warn for refs size limit 2021-11-27 14:44:28 -08:00
neauoire
78853ac5c6 (uxnasm) Removed lit flag for writebyte 2021-11-27 14:20:56 -08:00
neauoire
fbbddf50d6 (uxnasm) Cleanup 2021-11-27 14:07:25 -08:00
neauoire
4b6efa6fc6 (uxnasm) Combine byte literals 2021-11-27 13:55:33 -08:00
neauoire
71e8177657 (uxnasm) Rewrite 2021-11-27 11:33:22 -08:00
neauoire
b873f04789 Added tal syntax highlight for nano 2021-11-26 08:11:18 -08:00
Devine Lu Linvega
088897c6b4 (uxnasm) Display exact numberof bytes 2021-11-24 17:12:01 -05:00
Andrew Alderwick
d4e033e715 Remove vestigial mention of "include". 2021-11-18 00:14:15 +00:00
Andrew Alderwick
c3ac41c41d Change "include" word into ~ rune for includes. 2021-11-17 22:06:00 +00:00
Sigrid Solveig Haflínudóttir
f75f644aff
same fixes for uxncli 2021-11-17 14:29:36 +01:00
Sigrid Solveig Haflínudóttir
19c16081c6
load: don't leak file handles; don't ignore read errors 2021-11-17 14:21:27 +01:00
Sigrid Solveig Haflínudóttir
6c1720e328
datetime: don't crash if localtime failed 2021-11-17 14:14:38 +01:00
Devine Lu Linvega
170aa0f64c Try to start boot.rom if no rom is provided 2021-11-09 10:34:10 -05:00
Sigrid Solveig Haflínudóttir
4988b2214e
uxnasm: reset scope to avoid pointing at garbage 2021-11-08 18:51:28 +01:00
Devine Lu Linvega
ef13809e08 Made reboot static 2021-11-08 12:13:43 -05:00
Devine Lu Linvega
2f8cc83aa4 Renamed reboot for restart 2021-11-08 12:12:17 -05:00
Devine Lu Linvega
737a87ac3f Building boot on start 2021-11-08 11:21:23 -05:00
Devine Lu Linvega
85322b92ce Progress toward boot.rom setup 2021-11-08 10:51:09 -05: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