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
~d6
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
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
a92dd9fd73
Rearranged File ports for backwards compatibility.
2021-11-06 00:51:43 +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
Andrew Alderwick
9b15f90008
Rename b0 to port in dei/deo functions
2021-11-04 17:14:15 +00:00
Andrew Alderwick
287bc67e1e
Split talk functions into dei and deo; make deo functions void
2021-11-04 17:13:44 +00:00
alex wennerberg
18dddbacd6
Add [-scale] to usage string
2021-11-04 12:48:49 -04: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
Andrew Alderwick
38f534d9ec
Allow shifts up to 0xf in byte mode
2021-11-03 07:15:14 +00: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
Andrew Alderwick
1bf7fb11b2
Update uxn-fast.c with new LIT opcode meanings
2021-10-30 08:55:23 +01:00
Andrew Alderwick
80b4e4f88d
Use Keep mode for all LIT opcodes
2021-10-30 00:28:33 +01:00
Devine Lu Linvega
6f872feff5
Use Keep modes for byte and short literals
2021-10-29 16:02:07 -07:00
Devine Lu Linvega
8132a09e21
Test for valid destination in uxnasm
2021-10-29 09:29:23 -07:00
neauoire
a635fea52f
Use rom name for window title
2021-10-28 09:27:39 -07:00
Claude Heiland-Allen
33e77e261c
uxnasm errors-out if too many macros
2021-10-26 09:55:57 -07:00
Claude Heiland-Allen
a373939544
uxnasm errors-out if too many labels
2021-10-26 09:54:29 -07:00
Sigrid Solveig Haflínudóttir
a3ee7ab982
emu: close audio device if used
2021-10-24 22:14:27 +02:00
Sigrid Solveig Haflínudóttir
2afded6e05
check SDL_UpdateTexture return code as well
2021-10-24 21:48:56 +02:00
Sigrid Solveig Haflínudóttir
297046ec14
check SDL_GetCurrentDisplayMode return code, keep zoom at 1 if it failed
2021-10-24 21:31:25 +02:00
neauoire
5582816943
Removed unecessary error
2021-10-24 09:09:58 -07:00
Andrew Alderwick
5807e22fef
Fixed corruption in ff00-ffff, improved checks for | and $, thanks karolbelina!
2021-10-23 23:15:07 +01:00
neauoire
6799b5f78e
Warn for out of bounds
2021-10-23 08:48:11 -07:00
neauoire
540fd70b9b
Removed unused include
2021-10-22 16:41:23 -07:00
neauoire
04e4edf05f
Fixed an issue with the ref counter in uxnasm
2021-10-17 19:10:29 -07:00
neauoire
99e38d560c
Fixed JNZ comment for uxn.c
2021-10-17 13:16:58 -07:00