Commit Graph

305 Commits

Author SHA1 Message Date
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 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 c4d9e52fd6 (uxnemu) Clear debugger on toggle 2021-12-19 12:20:13 -08:00
Andrew Alderwick 2330320985 (readability) Use preincrements throughout in void context. 2021-12-14 23:17:32 +00: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 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
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
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
neauoire 243c5866ac Do not overdraw 2021-09-30 19:35:22 -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 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 8d72c36123 Moved get_pixel to ppu.c 2021-09-29 16:01:54 -07: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 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
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 bca5562eec The screen width/height ports can be written to 2021-09-18 16:51:20 -07: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
neauoire 478669a8ca Reverted to a standard SDL Texture for the screen 2021-09-16 19:48:00 -07: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
neauoire 352ae83858 Moved some variables to defines 2021-08-04 20:30:57 -07: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 7f345428d6 Moved inspect in uxnemu.c 2021-07-30 14:38:08 -07:00
Andrew Alderwick 8855b96057 Started pausing the audio device when it's not in use 2021-07-17 10:13:21 +01:00
neauoire dcdf618087 Improved piano example 2021-07-09 11:38:45 -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 274edad29d Simplified console 2021-06-28 09:40:29 -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 7fe0750c17 Added return pointer position to debugger 2021-06-18 20:19:32 -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 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
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 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
neauoire a4c8066043 Cleaned example files 2021-05-12 18:28:45 -07:00
neauoire 7f5c4e25e4 Moved devices in their own folders 2021-05-11 11:42:12 -07:00