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

700 commits

Author SHA1 Message Date
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