Commit Graph

645 Commits

Author SHA1 Message Date
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
neauoire bdaca53a7c Improving noodle 2021-03-24 16:30:52 -07:00
Andrew Alderwick 865bdd63e8 Make types consistent across PEK/POK and LDR/STR. 2021-03-24 23:17:18 +00:00
neauoire 217b5f88f3 Started audio device 2021-03-24 11:14:41 -07:00
neauoire 16f9b92d4a Progress toward migrating to proper peek/load 2021-03-24 10:50:55 -07:00
neauoire 1f9155400d Added zoom toggle controls to emulator 2021-03-24 09:39:19 -07:00
Andrew Alderwick 88fb08c2b2 Add offset and append switch to file device. 2021-03-23 20:10:08 +00:00
neauoire 2e90428b0c Added color picker for screen example 2021-03-23 11:44:36 -07:00
neauoire 6df5a1a767 Starting Theme app 2021-03-22 20:04:04 -07:00
neauoire 2c8ce4970e Print stack in debugger 2021-03-22 19:24:05 -07:00
neauoire 82674a1484 Created a debugger 2021-03-22 19:04:31 -07:00