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