Andrew Alderwick
1b04e0814b
(draft) Add looping functionality to Screen/auto.
2022-03-06 13:42:59 +00:00
Bad Diode
11c9ec8b49
Add header guard to uxn.h
2022-03-05 13:58:03 -08:00
Andrew Alderwick
0c819b9f59
clang-format
2022-02-19 01:02:47 +00:00
Andrew Alderwick
550aceee23
(uxnasm) Allow writing the 0xffff byte of RAM.
2022-02-19 00:29:40 +00:00
Andrew Alderwick
8b84813c6e
(uxnasm) Raise error when memory is overwritten.
2022-02-19 00:27:28 +00:00
Andrew Alderwick
da4f0e70a5
(uxnasm) Allow returning errors from writebyte().
2022-02-19 00:26:55 +00:00
Andrew Alderwick
0ae6992089
(uxnasm) Fix calculation of usage.
2022-02-18 23:02:42 +00:00
Andrew Alderwick
f06498f6a6
Remove unused constants.
2022-02-17 18:17:17 +00:00
Liam Cooke
33940d3b5b
Fix blurry pixels on high-DPI displays
...
Creates the uxnemu window in high-DPI mode when supported. Now it looks
pixel perfect on a display with 2:1 pixel density.
Should have no effect on a 1:1 display, but I don't have access to one
to test this.
2022-02-04 08:52:31 -08:00
Andrew Alderwick
055fa9bcd0
Close some security holes.
2022-01-23 23:17:54 +00:00
Andrew Alderwick
deace3b79a
Remove old debugging support.
2022-01-23 19:35:18 +00:00
Andrew Alderwick
edd05ed1d1
Fix compiler warning.
2022-01-23 11:23:52 +00:00
Andrew Alderwick
6577d3c8a0
Remove jump-based infinite loop detection.
2022-01-23 11:17:07 +00:00
Andrew Alderwick
fbd9c49f84
Fix resize when only width or height are set.
2022-01-20 01:34:44 +00:00
Andrew Alderwick
d186b7a038
Perform resizing of SDL screen during redraw.
2022-01-20 01:24:22 +00:00
Andrew Alderwick
cd0ca2eb17
Move clamp() to screen.c.
2022-01-20 01:24:20 +00:00
Andrew Alderwick
cf84a5d661
Prevent invalid screen sizes.
2022-01-19 18:30:32 +00:00
Andrew Alderwick
2c47425c41
Remove trailing space in stack printing
2022-01-14 07:59:42 +00:00
neauoire
4ea8cc2819
Removed extra specing around bytes in stack printing
2022-01-13 14:52:37 -08:00
neauoire
fc659b9094
Removed devsystem
2022-01-13 10:55:02 -08:00
neauoire
b48db8278f
(monospace.tal) Added a 8x8 label drawing example
2022-01-13 10:25:31 -08:00
neauoire
f1cc022e9b
Uxncli now uses the system_inspect
2022-01-13 08:34:32 -08:00
neauoire
44a7f5ef0e
Removed old debug files
2022-01-13 08:26:35 -08:00
neauoire
031f63a13c
Print stack with DEO on 0x0f
2022-01-13 08:25:59 -08:00
neauoire
ee4308196a
Starting a debugging device
2022-01-12 21:22:33 -08:00
neauoire
6a6a2ec383
Removed external memory bank
2022-01-12 18:56:59 -08:00
neauoire
459855d825
Removed supervisor
2022-01-12 18:40:51 -08:00
Andrew Alderwick
696ef03f12
Remove goto/label for jumps.
2022-01-12 13:09:45 +00:00
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
~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
Andrew Alderwick
e82acc875b
Feed extra command line arguments to Console/vector
...
Each argument is followed by a newline character.
2021-10-13 22:58:27 +01:00
neauoire
d6ef361383
Corrected raw short length
2021-10-11 13:35:01 -07:00
neauoire
037ab10b6a
Fixed issue with raw bytes in macros
2021-10-11 13:27:20 -07:00
Andrew Alderwick
55590cec7b
Fixed "while loop has empty body" warning with macOS compiler
2021-10-10 20:09:20 +01:00
Andrew Alderwick
b53d5c428b
Re-added setting border pixels to black
2021-10-09 00:03:34 +01:00
Andrew Alderwick
2006b2a6ad
Print uxnasm message to stderr
2021-10-07 22:38:25 +01:00
neauoire
d363aad7b5
Improved size report for uxnasm
2021-10-06 09:21:27 -07:00
neauoire
08fb3e7f0a
Close uxnemu on System/halt
2021-10-02 12:06:50 -07:00
neauoire
243c5866ac
Do not overdraw
2021-09-30 19:35:22 -07:00
neauoire
765724d2af
Fixed issue where macro size was too large
2021-09-30 19:21:04 -07:00
neauoire
0fe8b39447
Cleaned up PPU
2021-09-30 10:44:40 -07:00
neauoire
9de513ad47
Cleaned up ppu_read
2021-09-30 09:34:50 -07:00
neauoire
c02dc5b0e2
Fixed transparency
2021-09-29 21:00:18 -07:00
neauoire
c494e42cf2
Drawing is pixel-perfect again
2021-09-29 20:54:27 -07:00
neauoire
bac54f1fd9
Progress on new bitpacking
2021-09-29 20:44:15 -07:00
neauoire
253be6f50c
Minor cleanup
2021-09-29 20:05:26 -07:00
neauoire
92e44e4314
Merge branch 'main' of git.sr.ht:~rabbits/uxn into ppu-slow
2021-09-29 18:05:08 -07:00
neauoire
7cff22fcc8
Returned zoom functionality
2021-09-29 18:03:56 -07:00
neauoire
ecc1d7c416
Experimenting with 2 layers
2021-09-29 17:58:58 -07:00
neauoire
f3b3823b0c
The PPU require-draw flag is renamed to reqdraw
2021-09-29 16:14:13 -07:00
neauoire
7f3a889771
Removed clamp from within set_zoom
2021-09-29 16:08:36 -07:00
neauoire
8d72c36123
Moved get_pixel to ppu.c
2021-09-29 16:01:54 -07:00
neauoire
2b80b85baf
Relative labels should not incr references to parent label
2021-09-25 09:39:27 -07:00
neauoire
30c1e4dc6c
Keep vectors in memory instead of constantly peek16()
2021-09-22 12:16:16 -07:00
neauoire
0cc717b251
Removed white flash on launch
2021-09-22 11:56:27 -07:00
neauoire
659dea48d8
Renamed update_palette to set_palette
2021-09-22 11:54:25 -07:00
neauoire
f2260abed0
Moved mouse-wheel event into domouse
2021-09-22 11:53:13 -07:00
neauoire
5905afc97d
Use set_zoom() but test for gWindow before resize
2021-09-22 11:35:00 -07:00
neauoire
718a74641e
Removed flickering on initial resize
2021-09-22 11:21:57 -07:00
neauoire
2822e598ed
Minor cleanup
2021-09-22 10:57:43 -07:00
neauoire
eeeeb90542
Wait for textures and size before default zoom
2021-09-22 10:42:17 -07:00
neauoire
45a7941d7d
Merge branch 'main' of git.sr.ht:~rabbits/uxn
2021-09-22 10:13:12 -07:00
neauoire
26e9d8bf88
Set size after devices are defined
2021-09-22 10:13:02 -07:00
Andrew Alderwick
dd7401bc4c
Redraw entire screen when asked to by reqdraw
2021-09-22 16:40:42 +01:00
neauoire
43f91cecd9
Fixed crashing bug with zoom flag
2021-09-21 15:56:42 -07:00
neauoire
6f10839acf
Created a set_zoom function
2021-09-21 15:41:59 -07:00
Hannah Crawford
8b83ae7e38
Added scale (-s) flag
2021-09-21 21:27:45 +01:00
Hannah Crawford
753c5836e6
Made window resize around center
2021-09-21 21:22:40 +01:00
Andrew Alderwick
f38ba34310
clang-format
2021-09-21 21:20:22 +01:00
neauoire
68a8310830
Muted warnings
2021-09-21 10:45:56 -07:00
Sigrid Solveig Haflínudóttir
3d49536d76
ppu: keep track of the vertical region where redraw is supposed to happen
2021-09-21 19:39:00 +02:00
Andrew Alderwick
81ab3a7a74
Fixed PPU out-of-bounds crash
2021-09-20 23:12:11 +01:00
Andrew Alderwick
a8df7ca410
Fixed palette array
2021-09-20 23:02:42 +01:00
Andrew Alderwick
c0e42f1322
Switched to faster unsigned ints for PPU memory
2021-09-20 22:51:09 +01:00
Andrew Alderwick
b6fe4302d1
Switched to linear PPU memory
2021-09-20 22:51:09 +01:00
Andrew Alderwick
f77fa80d35
Replaced duplicate parts of PPU init with resize functions
2021-09-19 23:34:03 +01:00
Andrew Alderwick
a2305f2d64
Added ability to fix PPU size
...
For testing compatibility with ports that cannot change the PPU size,
the FIXED_SIZE define can be set nonzero and Screen/width,height changes
will be ignored. They can still be read to find the correct width/height
that the PPU is currently using.
2021-09-19 23:21:30 +01:00
Andrew Alderwick
332fbed11e
Only set size when Screen/height is written
2021-09-19 22:56:33 +01:00
Andrew Alderwick
c8f47d8a08
Always return current PPU size when Screen/width,height is read
2021-09-19 22:53:45 +01:00
Andrew Alderwick
15239a1fd2
Rewritten screen_talk with switch
2021-09-19 22:51:35 +01:00
Sigrid Solveig Haflínudóttir
6337680774
ppu: change the API to signal when redraw is required
...
To lower CPU load in idle mode (no changes on screen)
make ppu_pixel return non-zero when a change has been
made.
25% → 4% (piano.rom) after this change on Linux amd64,
Thinkpad X220.
2021-09-19 23:30:53 +02:00
neauoire
a5201767d7
Clear on resize
2021-09-18 17:18:20 -07:00
neauoire
8a32555893
Clear before resizing
2021-09-18 17:10:29 -07:00
neauoire
28cfb143ca
Merge branch 'main' of git.sr.ht:~rabbits/uxn
2021-09-18 16:51:50 -07:00
neauoire
bca5562eec
The screen width/height ports can be written to
2021-09-18 16:51:20 -07:00
Andrew Alderwick
b4fa6f52a8
Replaced malloc and manual initialization with calloc
2021-09-18 22:34:13 +01:00
Andrew Alderwick
e9765337f7
Initialized border color to black
2021-09-18 00:00:28 +01:00
Sigrid Solveig Haflínudóttir
ccd9aabecd
ppu: remove unused "pixels" field from Ppu; reset bg/fg to all zeroes on init
2021-09-17 20:24:50 +02:00
Sigrid Solveig Haflínudóttir
8d98d6d6ef
emu: don't call SDL_UpdateTexture with NULL pixels
2021-09-17 17:22:12 +02:00
Andrew Alderwick
373a797e1e
Removed gSurface and restored previous capture_screen
2021-09-17 09:38:01 +01:00
neauoire
478669a8ca
Reverted to a standard SDL Texture for the screen
2021-09-16 19:48:00 -07:00
neauoire
4406c2856c
Sublabels add refs to root labels in uxnasm
2021-09-16 09:11:53 -07:00
neauoire
9835ec4f20
Fixed address issue with screen auto
2021-09-10 09:07:08 -07:00
neauoire
e52fe82925
Fixed PPU auto byte
2021-09-10 08:52:07 -07:00
neauoire
a3502f1637
Implemented the screen auto byte
2021-09-09 09:42:03 -07:00
neauoire
266152e260
Ported devw/devr changes to uxn.c
2021-09-08 17:51:23 -07:00
Andrew Alderwick
b88d2adc3d
Halt when talk function returns false, since setting ram.ptr no longer works
2021-09-08 00:13:21 +01:00
neauoire
19e84072d8
Removed file_talk debugs
2021-09-04 09:11:43 -07:00
neauoire
25858c3948
Fixed issue with strings in uxnasm
2021-09-01 13:04:56 -07:00
Andrew Alderwick
a6b99078de
Changed file_talk files to open in binary mode
2021-08-31 19:30:57 +01:00
neauoire
05e48c35ce
Fixed issue with SFT
2021-08-30 12:16:57 -07:00
Andrew Alderwick
6337990fe0
Reverted flags in uxn-fast.c
2021-08-30 18:45:04 +01:00
neauoire
4f6a29f57d
Reverted flags
2021-08-30 10:19:33 -07:00
neauoire
a2e40d9d10
Removed unused device string
2021-08-29 19:52:12 -07:00
neauoire
91df7ab470
Completed new uxn core
2021-08-29 18:18:52 -07:00
neauoire
51313988cf
Progress merging 8/16 opcodes
2021-08-29 18:02:46 -07:00
neauoire
9a5bd42bb8
Progress merging 8/16 opcodes
2021-08-29 17:49:22 -07:00
neauoire
86bdb0ca83
Progress merging 8/16 opcodes
2021-08-29 17:36:17 -07:00
neauoire
38ae734021
Progress merging 8/16 opcodes
2021-08-29 17:22:56 -07:00
neauoire
da5f4b606c
Progress merging 8/16 opcodes
2021-08-29 15:05:37 -07:00
neauoire
f0410bb342
Started merging 8/16 opcodes
2021-08-29 14:53:31 -07:00
neauoire
90540742ae
Standardizing fns names before merge
2021-08-29 14:41:05 -07:00
neauoire
a444641a6a
Fixed wrong function names
2021-08-29 14:36:08 -07:00
Andrew Alderwick
4d535ebb46
Swapped return and short flags in advance of uxn.c refactoring
2021-08-29 22:28:30 +01:00
neauoire
8988f536be
Simplified Inspect()
2021-08-29 13:18:42 -07:00
neauoire
2919c11cb9
Print return stack in uxncli
2021-08-29 11:53:27 -07:00
neauoire
3da9352230
Fixed issue with scmp in uxnasm
2021-08-29 11:43:00 -07:00
neauoire
66f898ade4
Removed hardcoded number for LIT opcode in asm
2021-08-29 11:25:58 -07:00
neauoire
0da8709ce3
Assembly stop on long token
2021-08-29 10:51:14 -07:00
neauoire
ca5ad113ee
Minor cleanup
2021-08-29 10:36:23 -07:00
neauoire
c84b5015e4
Repaired zoom
2021-08-28 13:44:53 -07:00
neauoire
c70f16f7ac
Formatted changes
2021-08-28 10:49:51 -07:00
neauoire
83de614e53
Do no display unused macros anymore
2021-08-28 10:30:50 -07:00
Andrew Alderwick
08f20d35c8
Fixed addr being reset in include's pass1
2021-08-28 07:51:48 +01:00
Andrew Alderwick
a92fd8fb22
Expanded File/offset to 32-bit /offset-hs and /offset-ls
2021-08-28 00:37:27 +01:00
Andrew Alderwick
28569d118e
Implemented includes in uxnasm (no asma support yet)
2021-08-27 23:47:34 +01:00
neauoire
52d5e2d694
Single vector uxncli
2021-08-26 20:12:56 -07:00
Andrew Alderwick
61b8750bae
Allowed long tokens within comments (typically URLs)
2021-08-25 22:56:24 +01:00
Andrew Alderwick
87157258b8
Implemented Audio*/vector which runs when notes finish playing
2021-08-20 22:45:39 +01:00
Andrew Alderwick
ad4ff82138
Made Audio*/output return a minimum of 1 on a playing non-muted channel
2021-08-20 22:43:35 +01:00
Andrew Alderwick
e4416264e8
Remove opcode labels by default
2021-08-20 07:06:28 +01:00
Andrew Alderwick
c324881b90
Minor optimisation to uxnasm
2021-08-18 07:45:51 +01:00
neauoire
5167a103ec
Fixed issue with null vectors
2021-08-17 19:30:34 -07:00
Andrew Alderwick
1b68169cee
Merged LIT and BRK into opcode zero, added INC opcode
2021-08-17 22:48:48 +01:00
Andrew Alderwick
72356912e7
Filtered through clang-format
2021-08-17 20:34:21 +01:00
neauoire
fd907e87d6
writing nonzero to "halt" port halts the read() loop.
2021-08-17 08:57:10 -07:00
neauoire
acf6dcee48
Removed unused macro in console example
2021-08-16 18:45:27 -07:00
neauoire
1704e23b4d
Fixed issue with uxncli debugger
2021-08-16 07:22:53 -07:00
neauoire
d111146eb6
Stack pointers can be written
2021-08-15 17:48:15 -07:00
Andrew Alderwick
107a59affa
Rearranged POP, DUP, NIP opcodes
2021-08-15 21:34:33 +01:00
Andrew Alderwick
be360ffc1e
Replaced NOP with NIP
2021-08-15 21:22:01 +01:00
Andrew Alderwick
e2190d84d8
Reverted "Removed OVR opcode and replaced with NIP" and uxn-fast.c update.
...
This reverts commits 1afe39fba4
and 3d3569bab7
.
2021-08-15 21:07:32 +01:00
Andrew Alderwick
3d3569bab7
Updated uxn-fast.c
2021-08-15 20:05:19 +01:00
neauoire
1afe39fba4
Removed OVR opcode and replaced with NIP
2021-08-15 12:01:22 -07:00
Andrew Alderwick
7d8600c679
Fixed display being lost when window is resized
2021-08-08 22:47:25 +01:00
neauoire
d3c3ece6ca
Removed PPU backward compatibility
2021-08-08 09:26:20 -07:00
Andrew Alderwick
0a69a3417d
Updated mkuxn-fast to match uxn.c changes
2021-08-05 18:38:25 +01:00
neauoire
352ae83858
Moved some variables to defines
2021-08-04 20:30:57 -07:00
neauoire
44d584dfdb
Re-added the stack bounds clamp
2021-08-04 20:14:53 -07:00
neauoire
59ea5c0a1a
Added static to uxn opcodes
2021-08-04 20:06:46 -07:00
Andrew Alderwick
43b45ac698
Improved audio failure detection.
...
Now, audio-related failures in SDL_Init are caught too.
2021-08-03 23:25:13 +01:00
Andrew Alderwick
43ea2532e8
Made audio open errors into warnings
...
Varvara will continue to execute if SDL_OpenAudioDevice fails, but the
Audio devices will be disabled.
2021-08-03 23:05:48 +01:00
neauoire
de3591c07e
Fixed issue with mouse zoom
2021-08-01 21:51:43 -07:00
Andrew Alderwick
a58ffb9828
Updated mkuxn-fast scripts
2021-08-02 06:51:51 +01:00
neauoire
b64570f827
Minor cleanup
2021-08-01 15:04:51 -07:00
neauoire
5d7151ab61
Cleaned up a few function names
2021-08-01 14:56:12 -07:00
neauoire
4f822f55f3
Prefixed uxn functions
2021-08-01 14:46:43 -07:00
Andrew Alderwick
5045a4ca52
Fixed uxn-fast.c
2021-08-01 22:40:14 +01:00
Andrew Alderwick
6e21f3aba0
Removed stdio dependency from uxn.c
...
Reimplementation of patch sent in by Marc Schraffenberger
<marc@schraffenberger.com>: thank you for the rationale and inspiration!
2021-08-01 22:17:48 +01:00
Marc Schraffenberger
b53add0ba4
Removed stdio include from uxn.h
2021-08-01 22:17:48 +01:00
neauoire
98f773c652
Removed unused hor/ver values
2021-08-01 11:38:04 -07:00
neauoire
be85023831
Prefixed function names with ppu
2021-08-01 11:33:43 -07:00
neauoire
6d8e06e879
Added alpha to blending table
2021-08-01 11:16:29 -07:00
neauoire
2d493c55bb
Removed extra table
2021-08-01 11:08:02 -07:00
neauoire
b826d78a56
Pushed new blending modes
2021-08-01 11:00:07 -07:00
neauoire
f3b237f0f9
Optimization in putchr
2021-07-31 21:29:40 -07:00
neauoire
8a8de7f142
Simpler putchr(), not the best but..
2021-07-31 17:00:25 -07:00
Andrew Alderwick
b327719e38
Reworked putpixel
2021-08-01 00:31:22 +01:00
Andrew Alderwick
555d38a8ef
Added more color blending modes for chrs
2021-07-31 23:21:13 +01:00
Andrew Alderwick
4257f9818a
Switched to indexed SDL_Surface using blit to window.
2021-07-31 19:46:27 +01:00
neauoire
319f5f9238
Removed mispaste code in ppu
2021-07-31 10:48:58 -07:00
neauoire
564b3207e7
Fixed issue with drawing functions
2021-07-31 10:47:51 -07:00
neauoire
8bf99e6d76
Changed the screen.tal colors to fit the Varvara docs
2021-07-30 20:10:26 -07:00
neauoire
d2c3d0e524
Started implementing the sprite port for the screen device
2021-07-30 19:23:02 -07:00
neauoire
486e79c48d
screen_talk should not peek at addr when drawing a single pixel
2021-07-30 16:31:10 -07:00
neauoire
7f345428d6
Moved inspect in uxnemu.c
2021-07-30 14:38:08 -07:00
neauoire
2c78f2cedf
Named System device
2021-07-28 20:20:57 -07:00
neauoire
b46d317b4f
Added system device to uxncli
2021-07-28 15:41:07 -07:00
neauoire
7b7f4fd0f7
System now carries the debug flag, System/0xf is now stopping eval
2021-07-28 10:29:09 -07:00
neauoire
41eb23e2c2
Added missing boot function
2021-07-28 09:24:26 -07:00
neauoire
fa6b8a1769
Improved error messages
2021-07-24 17:09:46 -07:00
neauoire
c5b8595fb5
Reduced PAD, display usage:, and added 2 fonts
2021-07-24 10:27:27 -07:00
Andrew Alderwick
8855b96057
Started pausing the audio device when it's not in use
2021-07-17 10:13:21 +01:00
Andrew Alderwick
4622a8a061
Created working stack space in case of previous evaluxn overflow
2021-07-17 10:00:38 +01:00
Andrew Alderwick
7a865f25ac
Switched all output to stderr in uxncli
2021-07-17 10:00:38 +01:00
Andrew Alderwick
d2627a7e46
Updated file_talk in uxncli
2021-07-17 10:00:38 +01:00
neauoire
3bfebc570d
Made pop16 more robust
2021-07-15 19:52:37 -07:00
neauoire
c41ba2b1e2
Improved file-talk message
2021-07-11 18:55:09 -07:00
Andrew Alderwick
91fedff46d
Extended Console to write to FD 2-8 (most useful for 2, stderr)
2021-07-11 17:54:30 +01:00
neauoire
dcdf618087
Improved piano example
2021-07-09 11:38:45 -07:00
neauoire
a399c81e2f
New screen defaults
2021-07-07 10:51:12 -07:00
neauoire
ac416bb02f
Make return pointer counter in inspect() more visible
2021-07-05 09:08:55 -07:00
neauoire
a1d00a2df7
Drawing inspect on fg so it can be erased
2021-07-05 09:06:32 -07:00
neauoire
eeb85bdcb1
Modified assembler errors
2021-07-03 20:24:36 -07:00
Sigrid Solveig Haflínudóttir
5e71c0bfc8
emu: start -> run, remove return type
2021-06-29 15:43:28 +02:00
Sigrid Solveig Haflínudóttir
d0fb331aa4
screenshot: one simple trick to reduce the file size
2021-06-29 10:09:42 +02:00
Sigrid Solveig Haflínudóttir
66c16be3a5
screenshot: add timestampp to the filename
2021-06-29 08:11:59 +02:00
Andrew Alderwick
eb8c803b35
Renamed function
2021-06-28 21:57:30 +01:00
Andrew Alderwick
7b5ad795f8
Switched from non-blocking read to thread and custom SDL event
2021-06-28 21:46:50 +01:00
neauoire
74fc816810
Flagged functions as static
2021-06-28 14:42:36 -07:00
neauoire
210be1f458
Added console changes to uxncli
2021-06-28 10:07:49 -07:00
neauoire
274edad29d
Simplified console
2021-06-28 09:40:29 -07:00
Andrew Alderwick
e309ebf6e8
Updated uxncli to match uxnemu
2021-06-28 06:46:04 +01:00
neauoire
f8f2f66756
The console read byte is its own location
2021-06-27 16:42:47 -07:00
Andrew Alderwick
802aa51d54
Added Console/vector implementation with example
2021-06-27 21:45:50 +01:00
Andrew Alderwick
f334086721
Minor updates
2021-06-27 18:56:21 +01:00
Andrew Alderwick
ba50624994
Silenced warnings in debug build
2021-06-27 18:54:43 +01:00
neauoire
2566943659
Removed the noisy prints in the assembler
2021-06-27 10:03:09 -07:00
neauoire
952d022daa
Modified console/char
2021-06-26 15:52:44 -07:00
neauoire
2197e35667
Route errors to stderr
2021-06-26 13:22:01 -07:00
neauoire
4e8375d8df
Removed the Midi device
2021-06-26 13:17:41 -07:00
neauoire
08b64ec33c
Implemented Midi device
2021-06-25 21:28:42 -07:00
Andrew Alderwick
8783bf12b2
Brought back portmidi with conditional compilation
2021-06-25 23:20:36 +01:00
neauoire
93e64c93e8
Trying to fix the ctrl+char issue
2021-06-25 09:21:11 -07:00
neauoire
617364916e
Use F keys for emulator controls
2021-06-25 08:57:25 -07:00
Sigrid Solveig Haflínudóttir
38aa48b8bc
remove chr2img (see https://git.sr.ht/~rabbits/chr-format instead)
2021-06-23 17:45:13 +00:00
Sigrid Solveig Haflínudóttir
80c8e75076
chr2img: shorten writebmp, explain bitmasks
2021-06-23 17:39:44 +02:00
Sigrid Solveig Haflínudóttir
62d809147b
format chr2img.c, weirdly
2021-06-23 17:33:14 +02:00
Sigrid Solveig Haflínudóttir
c81650352b
chr2img: port to Unix-like operating systems
2021-06-23 14:58:03 +00:00
Sigrid Solveig Haflínudóttir
99b75f2943
add chr2img for Plan 9
2021-06-23 13:45:02 +00:00
Andrew Alderwick
2d1c3aa965
Further fixes to keyboard handling
2021-06-20 22:38:45 +01:00
Andrew Alderwick
b3ffe598c4
Fix keyboard problems introduced in improvements
...
Handling of a lot of ordinary keys was broken, e.g. number row and
non-alphanumeric keys, especially with Shift.
I think what's broken has been fixed, but have reverted the improvement
that Controller/vector is only called once per keypress. Many keys cause
Controller/vector to be called twice, but only once with Controller/key
nonzero.
2021-06-20 22:21:37 +01:00
Andrew Alderwick
c268c7fd96
Various keyboard handling improvements
...
The Ctrl, Alt and Shift bits in Controller/button activate with either
left or right modifier keys, and either can be used to take screenshots
/ zoom / show debugging info rather than left modifiers only.
Delete now sets Controller/key to 0x7f rather than being ignored (by
setting Controller/key to 0x00).
Ctrl + letter now sets Controller/key to 0x01-0x1e rather than being
ignored: for example, Ctrl+S will set Controller/key to 0x13.
Controller/vector is no longer called twice per key press (the extra
call with Controller/key set to 0x00 is removed).
2021-06-19 14:04:09 +01:00
neauoire
7fe0750c17
Added return pointer position to debugger
2021-06-18 20:19:32 -07:00
Andrew Alderwick
b62a543679
Reworked H key handling into switch statement
2021-06-18 09:01:35 +01:00
neauoire
8d14b4bbc6
Fixed critical issue where a label/macro with more than 255 refs would vanish
2021-06-17 21:20:19 -07:00
neauoire
8d092bf1bc
Give ids to labels and macros
2021-06-17 20:53:27 -07:00
neauoire
78c428d215
Improved uxnasm error report
2021-06-17 17:41:55 -07:00
neauoire
847728e7d4
Changed capture button
2021-06-11 07:03:48 -07:00
Andrew Alderwick
6f406eebfc
Removed lock/unlock for screenshot
2021-06-11 11:25:17 +01:00
Andrew Alderwick
acf517c422
Fixed order of unlock/save
2021-06-11 11:02:09 +01:00
Andrew Alderwick
52e0f9b29e
Used GetRendererOutputSize to get screenshot size
2021-06-11 09:56:14 +01:00
Andrew Alderwick
a11cbb458f
Added screenshot functionality, contributed by badd10de, thank you!
2021-06-11 09:18:52 +01:00
Andrew Alderwick
064f7745d4
Added reporting of division by zero errors rather than crashing
2021-06-08 22:58:02 +01:00
neauoire
54ece814de
Fixed error reports in assembler
2021-06-08 08:20:00 -07:00
neauoire
7b3d3505b5
Macro and label names cannot be blank
2021-06-08 08:09:03 -07:00
Andrew Alderwick
4bc3ce0d4b
Dropped SDL/ prefix in uxnemu.c
2021-06-08 15:57:00 +01:00
neauoire
31f18e1bdf
Check for valid hex in padding
2021-06-08 07:37:12 -07:00
Andrew Alderwick
d5b2bd9895
Revert "Removed second texture of PPU"
2021-05-30 23:15:37 +01:00
Andrew Alderwick
ffe142ea91
Removed second texture of PPU
2021-05-30 23:04:19 +01:00
neauoire
70edfce206
Unset mouse wheel after eval
2021-05-29 15:05:43 -07:00
neauoire
3276b370e8
Added a scroll wheel port to the mouse device
2021-05-29 15:01:19 -07:00
neauoire
17af020cc0
Restored frame size
2021-05-28 19:14:36 -07:00
neauoire
0183c05d37
Added piano samples in project
2021-05-28 12:37:59 -07:00
neauoire
0b2eb7bb44
Muted warnings
2021-05-26 10:16:42 -07:00
neauoire
d163c43201
Improved uxncli and moved all demos into examples
2021-05-26 10:02:13 -07:00
Andrew Alderwick
6d18549915
Formatted uxn-fast.c according to clang-format
2021-05-23 19:05:17 +01:00
Andrew Alderwick
aeddd9e0f5
Added src/uxn-fast.c generator script
2021-05-23 17:33:00 +01:00
Andrew Alderwick
3b70b23703
Reformatted ops to use consistent if-style
2021-05-23 16:50:50 +01:00
neauoire
d2d2340ee4
Added unrolled CPU
2021-05-23 08:41:41 -07:00
Andrew Alderwick
ea69dff8a8
Updated SFT2 to take byte for shift amount
2021-05-23 16:27:15 +01:00
neauoire
99721ecc55
Removed portmidi temporarily
2021-05-21 08:58:10 -07:00
Andrew Alderwick
15480b238a
Converted PPU to use two textures; moved padding to src/emulator.c
2021-05-19 23:17:58 +01:00
neauoire
229a0f0184
Fixed issue with ctrl/key
2021-05-19 12:23:20 -07:00
neauoire
8c1cf40cb1
Revert "ppu: keep track of modified rows and only redraw those in drawppu"
...
This reverts commit 3c64c8c1a4
.
2021-05-19 09:13:41 -07:00
Sigrid Solveig Haflínudóttir
3c64c8c1a4
ppu: keep track of modified rows and only redraw those in drawppu
2021-05-19 12:25:18 +00:00
Sigrid Solveig Haflínudóttir
b25e3e599d
calculate NOTE_PERIOD based on sampling rate (thanks asie)
2021-05-19 07:30:39 +00:00
Sigrid Solveig Haflínudóttir
74e8a59d2f
bench mode (disabled by default)
2021-05-19 07:29:00 +00:00
Sigrid Solveig Haflínudóttir
3d5e1e343f
call SDL_RenderSetLogicalSize to avoid manual coordinates adjustment based on zoom
2021-05-18 15:29:06 +02:00
Sigrid Solveig Haflínudóttir
e31612f0af
Revert "set render logical size (fixes zooming with npe)"
...
This reverts commit 21b78f2aed
.
That broke on non-Plan 9, so first figure out why this works fine in FT2, but not in Uxn.
2021-05-18 13:39:55 +02:00
Sigrid Solveig Haflínudóttir
21b78f2aed
set render logical size (fixes zooming with npe)
2021-05-18 08:18:43 +00:00
Andrew Alderwick
9a4328ccb5
Fixed printing filename after it can get overwritten
2021-05-18 07:23:23 +01:00
Andrew Alderwick
7132197ba5
Switched load/save print to state length actually loaded/saved
2021-05-16 11:00:53 +01:00
Andrew Alderwick
d56d900876
Reordered variable names on opcodes
2021-05-13 08:02:15 +01:00
neauoire
a4c8066043
Cleaned example files
2021-05-12 18:28:45 -07:00
Andrew Alderwick
76a38e3db9
Reworked pop8 and pop16 so they do not need offsets
2021-05-12 20:36:18 +01:00
neauoire
9164b7f9fe
Reverted patch to sft16
2021-05-12 12:13:28 -07:00
Andrew Alderwick
fd9612d656
Implemented keep opcode flag
2021-05-12 18:42:24 +01:00
neauoire
7f5c4e25e4
Moved devices in their own folders
2021-05-11 11:42:12 -07:00
neauoire
a206ed0b10
Renamed PEK/POK to LDZ/STZ
2021-05-11 11:14:52 -07:00
neauoire
8630028e97
JNZ is now JCN
2021-05-11 11:12:07 -07:00
neauoire
12550c3703
Fixed issue with midi
2021-05-08 07:59:03 -07:00
neauoire
73deb679f3
Optimized piano example
2021-05-04 10:57:57 -07:00
Andrew Alderwick
6829863d6d
Changed samples from s8 to u8 format
2021-05-04 08:32:22 +01:00
neauoire
f5fb9714e4
*
2021-05-03 09:57:39 -07:00
neauoire
993719818a
Removed LTS/GTS opcodes
2021-05-01 09:59:57 -07:00
neauoire
baa2f2450f
Rewriting polycat
2021-04-30 12:08:24 -07:00
Andrew Alderwick
e8c70d954a
Fixed orientation of chr sprites
2021-04-29 23:05:38 +01:00
Andrew Alderwick
f74cfa89eb
Updated debugger with latest device offsets and vectors
2021-04-29 20:11:50 +01:00
neauoire
49182d1335
Added mirroring to the PPU
2021-04-29 10:10:07 -07:00
neauoire
3d5e7f7e48
Fixed PPU
2021-04-28 13:17:11 -07:00
Andrew Alderwick
f7506a41c7
Added stack pointer position readouts to system device
2021-04-27 21:10:58 +01:00
Andrew Alderwick
d343865471
Added position readout to audio devices
2021-04-27 21:03:38 +01:00
neauoire
67dfbc1a63
Ported audio examples to 4 channels
2021-04-26 20:55:51 -07:00
Andrew Alderwick
2b536a7a8e
Minor fix
2021-04-26 22:13:10 +01:00
Andrew Alderwick
f90a97386c
Splitted audio device into four
2021-04-26 20:16:41 +01:00
Andrew Alderwick
833f0acc20
Made room for multiple audio devices
2021-04-26 20:16:41 +01:00
neauoire
9c218db857
Added midi device
2021-04-25 19:50:45 -07:00
Andrew Alderwick
d01eb6cc45
Added currently playing volume readout
2021-04-25 21:52:50 +01:00
Andrew Alderwick
de53a6c95f
Reduced instrument volume by 2/3 to help avoid clipping
2021-04-25 18:05:37 +01:00
Andrew Alderwick
8c958d94a7
Moved from Uint16 to Sint8 audio sample data type
2021-04-25 18:04:59 +01:00
Andrew Alderwick
d892f29ea1
Implemented sample-based synth for APU
2021-04-25 15:12:45 +01:00
neauoire
38a9be86c2
Fixed color swatch in nasu
2021-04-24 21:18:15 -07:00
neauoire
19157a9ae1
Removed templating macros in assembler
2021-04-24 17:12:25 -07:00
neauoire
72b0458745
Removed refresh port in datetime
2021-04-24 10:26:09 -07:00
neauoire
2eb18b06a2
Device events can now fire on read
2021-04-24 10:15:47 -07:00
neauoire
5c5b767eaf
Working toward bidirectional talk between devices and program
2021-04-24 09:43:30 -07:00
Andrew Alderwick
fa2d290351
Made poke functions return void.
2021-04-24 09:13:03 +01:00
Andrew Alderwick
75142397b8
Raised label limit to compile noodle
2021-04-23 15:42:07 +01:00
neauoire
1b4623be1b
Templated examples
2021-04-22 19:57:47 -07:00
neauoire
dad55324aa
Progress on macros experiments
2021-04-22 15:57:40 -07:00
neauoire
62e3d75883
Added better templating
2021-04-22 14:29:48 -07:00
Sigrid Solveig Haflínudóttir
9c3536bca8
ppu: rename draw → drawppu to avoid conflicts on Plan 9
2021-04-22 18:04:06 +00:00
Andrew Alderwick
e7f234f55b
Reinstated check for labels in zero page
2021-04-21 21:01:50 +01:00
neauoire
c0b337e933
ported dvd animation
2021-04-21 12:00:31 -07:00
neauoire
743eaef47a
Ported some of the examples to the new accessors
2021-04-21 11:12:42 -07:00
neauoire
276e5086db
Implemented PEK/POK/GET/PUT
2021-04-21 10:23:58 -07:00
Andrew Alderwick
ef94053723
Allow device memory offsets in assembler
2021-04-21 13:45:17 +01:00
Andrew Alderwick
400c49e96b
Fixed file_poke
2021-04-21 13:37:41 +01:00
Andrew Alderwick
bbf05cb4ec
Minor code cleanup
2021-04-21 12:58:05 +01:00
neauoire
526650f079
Removed extra param in poke functions
2021-04-20 21:29:18 -07:00
neauoire
02993229ee
Removed access to uxn to devpeek/devpoke
2021-04-20 21:21:31 -07:00
neauoire
6a1bf9215d
Removed genpoke macros
2021-04-20 20:38:15 -07:00
neauoire
c9e35a5ad8
Revert "Tiny fix to PPU"
...
This reverts commit 9c4df35174
.
2021-04-20 20:09:10 -07:00
neauoire
9c4df35174
Tiny fix to PPU
2021-04-20 20:06:30 -07:00
neauoire
a4e54062b8
Merged sandwich
2021-04-20 17:11:02 -07:00
Andrew Alderwick
751d198606
Fixed file memory location
2021-04-20 23:05:27 +01:00
Andrew Alderwick
cdfcb5ae0a
Small changes to simplify code
2021-04-20 22:56:59 +01:00
Andrew Alderwick
04f48ec02b
Added memory to individual devices.
2021-04-20 22:49:10 +01:00
Andrew Alderwick
f06a600231
Implemented : for ; without LIT2
2021-04-20 21:05:34 +01:00
Andrew Alderwick
65c3a72730
Stripped zero bytes at end of assembled ROM
2021-04-20 20:56:43 +01:00
neauoire
a293c1daa8
Ported the hello-world example
2021-04-20 11:32:26 -07:00
neauoire
cda9b0bce8
Implemented IOR/IOW
2021-04-20 10:31:50 -07:00
neauoire
716d048906
Working example for dev.control
2021-04-19 21:33:52 -07:00
neauoire
50b11f12ca
Removed magic helpers
2021-04-19 21:00:14 -07:00
neauoire
d8957cb7bf
*
2021-04-19 17:24:04 -07:00
neauoire
82f7103a55
Started migrating to new assembler
2021-04-19 17:23:30 -07:00
neauoire
d61e724d48
LIT is now 0x01
2021-04-19 09:51:52 -07:00
neauoire
6a6b6e9d93
Minor cleanup in assembler
2021-04-19 09:29:39 -07:00
Andrew Alderwick
031fe3fb26
Improved timing of audio synth
2021-04-16 11:02:04 +01:00
neauoire
d1fc6c1860
Added blending mode to nasu
2021-04-15 10:19:59 -07:00
Andrew Alderwick
f7f4c78534
Removed reptition in file_poke
2021-04-14 21:56:50 +01:00
Andrew Alderwick
fc4e2e2876
Dropped File.vector, add File.result short
2021-04-14 20:38:32 +01:00
Andrew Alderwick
253c2b8906
Made Audio.value unsigned
2021-04-13 21:54:18 +01:00
Andrew Alderwick
43cde08b68
Audio.pitch MSB must be 1 to use current synth
2021-04-13 21:52:54 +01:00
Andrew Alderwick
2ea85815f6
Changed audio sample frequency to 44.1 kHz
2021-04-13 21:50:49 +01:00
neauoire
f3e58adc03
Implemented file vectors in nasu/noodle
2021-04-13 12:29:36 -07:00
neauoire
56a3a993f4
Added graphical example to file device
2021-04-13 11:38:22 -07:00
neauoire
ff81d21b08
Progress on orca
2021-04-12 21:16:31 -07:00
neauoire
359c373d68
Removed overdrawing in PPU
2021-04-11 20:38:21 -07:00
neauoire
01dbf400db
Removed warning
2021-04-11 09:58:47 -07:00
neauoire
3cd7be7eb5
Removed duplicate function in ppu
2021-04-10 22:00:49 -07:00
neauoire
86a52e1091
Fixed issue with controller.key
2021-04-10 20:55:31 -07:00
neauoire
ad19620b82
Merged ctrl with text
2021-04-10 19:39:32 -07:00
neauoire
98c32fd95c
Improved blending for chr parsing
2021-04-10 12:25:37 -07:00
neauoire
c1c0f8f2bc
Improved picture example
2021-04-10 12:19:38 -07:00
neauoire
131157cd53
Fixed issue with mouse button not being released
2021-04-10 11:24:38 -07:00
neauoire
05d9405e7a
Microscopic optimizations
2021-04-10 09:32:14 -07:00
neauoire
a2ed617fc8
Fixed audio device port id
2021-04-09 13:47:58 -07:00
neauoire
d6036dec6b
Revamped the screen example
2021-04-09 12:15:38 -07:00
neauoire
ffded2f642
Merged sprite in screen device
2021-04-09 10:01:53 -07:00
neauoire
79949be735
Minor cleanup
2021-04-09 08:02:55 -07:00
neauoire
f2509f13f4
Removed zoom and debugger from PPU
2021-04-09 07:30:45 -07:00
neauoire
5334e5cfa0
Progress on orca
2021-04-08 22:00:06 -07:00
neauoire
9dda5bdf1b
Removed unused function call in emu
2021-04-08 16:47:38 -07:00
neauoire
169e659ab8
Minor cleanup
2021-04-08 16:30:44 -07:00
Andrew Alderwick
9df5bb924b
Made devapu static to emulator.c
2021-04-08 21:22:27 +01:00
Andrew Alderwick
f76f8cf6ef
Added apu.h to clang-format
2021-04-08 21:21:46 +01:00
Andrew Alderwick
59f5fbf4f1
Returned SDL calls from apu.c to emulator.c
2021-04-08 21:14:40 +01:00
neauoire
530ff4bef2
Removed old rect data from the PPU
2021-04-08 10:06:17 -07:00
neauoire
69f770f56f
Removed some globals
2021-04-08 09:59:45 -07:00
neauoire
c9ddd01696
Added keyboard controls to dev.audio
2021-04-07 21:01:36 -07:00
neauoire
63fa4242c3
Minor cleanup
2021-04-07 20:30:10 -07:00
neauoire
33a660aef8
Moved some extra things into PPU
2021-04-07 17:42:30 -07:00
neauoire
31a9e3d64c
Started moving PPU into its own file
2021-04-07 17:32:18 -07:00
Andrew Alderwick
21f7c0d966
Fix return in wrong place
2021-04-07 22:46:52 +01:00
Andrew Alderwick
f3bf1a74db
Added Uxn-based synth
2021-04-07 21:57:17 +01:00
neauoire
09571b1084
Starting Orca
2021-04-06 21:34:11 -07:00
neauoire
2e3cfff210
Porter more examples to the new vectors
2021-04-05 13:27:43 -07:00
neauoire
364ba49da8
Ported screen example to new vectors
2021-04-05 13:14:37 -07:00
neauoire
3f98a2a832
Ported keys example to new vectors
2021-04-05 13:00:55 -07:00
neauoire
3d8ddc143a
Each device now has its own vector
2021-04-05 11:39:08 -07:00
neauoire
818ade6db1
Fixed emulator frame bug
2021-04-04 20:58:47 -07:00
neauoire
3dafa868cb
Minor cleanup
2021-04-04 20:35:52 -07:00
neauoire
7529e119cd
Removed status byte in CPU
2021-04-04 20:24:11 -07:00
neauoire
3ca4fb6b42
Clamp at 60fps
2021-04-04 11:47:13 -07:00
neauoire
98da3cbe31
Tiny optimization
2021-04-04 10:03:20 -07:00
neauoire
ab889172cf
Merged lit counter with status flag
2021-04-04 09:37:00 -07:00
neauoire
18a48a28c5
Starting to remove the lit counter
2021-04-04 09:17:30 -07:00
neauoire
e791dbd640
Removed old devices and counters bytes
2021-04-04 08:34:18 -07:00
neauoire
dcfb6fb5bf
Do not trigger on asdr change
2021-04-03 20:29:00 -07:00
neauoire
739b13c1e3
Flipped the ch vol/pitch ports
2021-04-03 17:17:40 -07:00
neauoire
eb3026cde0
Adding notes to audio track is working
2021-04-02 19:19:31 -07:00
Andrew Alderwick
e7be81d678
Implemented stereo sound.
2021-04-02 20:43:03 +01:00
Andrew Alderwick
e39ed74796
Implemented ADSR envelopes.
2021-04-02 19:26:50 +01:00
Andrew Alderwick
09091275b5
Added square wave audio, no ASDR support yet.
2021-04-02 16:05:08 +01:00
neauoire
23521c5a4f
Rewrote ctrl parser for left
2021-03-31 10:00:32 -07:00
neauoire
d4783214a4
Fixed issue with emulator colors
2021-03-30 12:21:00 -07:00
neauoire
c7644f90c1
Clamp name erase
2021-03-28 16:52:34 -07:00
neauoire
d5a18c6cd1
Implemented save/load to noodle
2021-03-28 16:43:32 -07:00
Andrew Alderwick
7543b0453d
Removed old debugging code.
2021-03-28 20:57:16 +01:00
Andrew Alderwick
12552c51a7
Removed FLAG_RETURN.
2021-03-28 20:38:43 +01:00
Andrew Alderwick
44157aae5b
Removed redundant modulo operations.
2021-03-28 20:37:37 +01:00
neauoire
296d4c5070
Removed offset from assembly export size
2021-03-28 12:20:54 -07:00
neauoire
e02a0e440f
Tiny fix, condensed things a bit
2021-03-28 12:14:37 -07:00
neauoire
09f4352161
Cleaned up screen colors code
2021-03-28 12:09:21 -07:00
neauoire
c91bf304e6
Ported all examples
2021-03-28 11:20:36 -07:00
neauoire
a2370ed4e3
Disks are now loaded at 0x0200
2021-03-28 11:06:36 -07:00
neauoire
b522da962e
Merge branch 'master' of git.sr.ht:~rabbits/uxn
2021-03-28 10:20:34 -07:00
neauoire
ebdb079cae
Fixed issue with assembler segfault
2021-03-28 10:20:24 -07:00
Andrew Alderwick
9d8989627d
Removed compiler warning about unused variable.
2021-03-28 18:19:36 +01:00
Andrew Alderwick
dad540651e
Hard-code vectors.
2021-03-28 18:19:06 +01:00
neauoire
c2a5c8cac2
Assembler will now use a single byte when on the zero-page
2021-03-28 09:48:00 -07:00
Andrew Alderwick
0c26811277
Fix LITr and LIT2r.
2021-03-28 11:51:45 +01:00
Andrew Alderwick
633c593a51
Fixed wrong numbers in date handling.
2021-03-27 22:32:47 +00:00
neauoire
f740ec3feb
Minor cleanup
2021-03-27 11:04:05 -07:00
Andrew Alderwick
0d86ff78d7
Renamed time device to datetime.
2021-03-27 11:33:56 +00:00
Andrew Alderwick
0442d7e625
Added time device and example.
2021-03-27 11:24:02 +00:00
Andrew Alderwick
b60fa9d6dd
Stopped matching non-opcode tokens that start with an opcode.
2021-03-27 11:23:40 +00:00
neauoire
a5ec692b0a
Removed CLN
2021-03-26 20:16:48 -07:00
neauoire
8e2a8df848
JNZ now uses the flag last
2021-03-26 11:19:19 -07:00
Andrew Alderwick
7761c3ee94
Remove FLAG_SHORT.
2021-03-26 17:02:14 +00:00
neauoire
a0f54f118b
Removed special case in JNZ
2021-03-26 09:53:17 -07:00
neauoire
4d478833d3
Removed conditional mode
2021-03-26 08:35:45 -07:00
neauoire
a646d34cf4
Merge branch 'master' of git.sr.ht:~rabbits/uxn
2021-03-24 16:32:32 -07:00