Commit Graph

886 Commits

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