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

1047 commits

Author SHA1 Message Date
Devine Lu Linvega
18b73f4861 (uxnasm)Optimize tail-call for subroutines too 2022-05-31 13:55:00 -07:00
Devine Lu Linvega
3c06af41c3 Tiny change to uxnasm 2022-05-31 13:38:21 -07:00
Devine Lu Linvega
8176ab93c8 Extended timeout to 20 frames to give RPIs a chance 2022-05-31 12:29:55 -07:00
Devine Lu Linvega
56d08285b7 Fix for hanging on quit 2022-05-31 12:25:25 -07:00
Devine Lu Linvega
5a0e0c56aa Added tail-call optimization 2022-05-26 20:26:21 -07:00
Andrew Alderwick
e00e74b9d0 (uxnasm) Raise an error if the output rom would be empty. 2022-05-09 21:13:28 +01:00
neauoire
fec233db2a Use helpers for LIT 2022-04-18 12:33:30 -07:00
Andrew Alderwick
d5253086b5 Move stack opcodes. 2022-04-18 09:45:33 +01:00
Andrew Alderwick
c2ffe63cc3 (uxnasm) Fix valid macro names being rejected.
Macro names that begin with the name of an opcode were being rejected
incorrectly. “STA” would not be a valid macro name since it is an
opcode, but “STACK” should be fine.
2022-04-14 18:24:48 +01:00
neauoire
d49981c4ce Removed runes 2022-04-11 17:27:33 -07:00
neauoire
a3c42c23b9 Fixed issue with oprunes 2022-04-11 17:16:05 -07:00
neauoire
dcc37fd0d5 Added logic/arithmetic symbols to uxnasm 2022-04-11 16:07:15 -07:00
neauoire
60315ff3dc Raised label limit in uxnasm 2022-04-11 15:34:53 -07:00
Andrew Alderwick
4c59498f14 (Windows) Fix uxnemu freezing on exit. 2022-04-09 12:22:24 +01:00
Andrew Alderwick
219cfee472 (Windows) Fix output not flushing automatically. 2022-04-09 12:21:39 +01:00
Andrew Alderwick
72c7296a47 Revert "Switch to SDL Timer for redraw handler." 2022-04-09 12:19:27 +01:00
Andrew Alderwick
96f4510a03 Switch to SDL Timer for redraw handler. 2022-04-09 11:37:51 +01:00
Andrew Alderwick
a35ef6b242 Fix build warning on Windows. 2022-04-09 11:37:06 +01:00
Sigrid Solveig Haflínudóttir
2a892a23b1 uxnemu: fix a memory leak (ram) in start() and reduce types clutter 2022-03-29 19:24:15 +02:00
Andrew Alderwick
47f65c7b82 (uxncli) Load ROM using the File device functions. 2022-03-28 18:51:29 +01:00
Andrew Alderwick
42dea5b914 Replace file_i_deo and file_i_dei. 2022-03-28 18:16:44 +01:00
Sigrid Solveig Haflínudóttir
0b75afc415 uxnemu: use read() in stdin thread and close(0) at shutdown for the thread to exit 2022-03-28 17:49:54 +02:00
Sigrid Solveig Haflínudóttir
f06494477a uxnemu: fix the stuck threads on quit, SOMEWHAT
Create threads in detached mode and check if events failed to be
pushed. Stdin thread is still blocking on fread hence the "SOMEWHAT".
2022-03-28 17:24:35 +02:00
neauoire
c4f7483027 Arranged include order 2022-03-27 09:18:02 -07:00
Andrew Alderwick
0e7ebb69e6 (uxnemu) Interrupt infinite loops with an error. 2022-03-27 13:53:25 +01:00
Andrew Alderwick
b9ff19d857 (uxnemu) Update indentation with clang-format.
The main loop now uses SDL_WaitEvent instead of SDL_PollEvent, and the
indentation level needs to change. For clarity, the previous commit
contains the code changes, while this one updates the indentation.
2022-03-27 13:18:37 +01:00
Andrew Alderwick
a283264df2 (uxnemu) Use a separate thread for triggering redraws.
The main loop now uses SDL_WaitEvent instead of SDL_PollEvent, and the
indentation level needs to change. For clarity, this commit contains the
code changes, while the next one updates the indentation.
2022-03-27 13:16:40 +01:00
Andrew Alderwick
f2c644f680 Move DateTime to 0xc0, add second File to 0xb0. 2022-03-26 17:54:29 +00:00
Andrew Alderwick
7ce8cc1d24 Add file reading with .File/read DEI(2). 2022-03-17 19:09:34 +00:00
Andrew Alderwick
205cc89bcb Keep a local copy of File/name; don't try to read it beyond end of RAM. 2022-03-17 18:41:55 +00:00
Andrew Alderwick
27089a77e4 Prepare for more than one File device. 2022-03-17 18:35:49 +00:00
Andrew Alderwick
bca73244f0 Minor fix to audio.c. 2022-03-17 18:29:44 +00:00
Andrew Alderwick
a3b87e021f Rename file_deo variables. 2022-03-17 17:08:03 +00:00
Andrew Alderwick
5dcf0a2b35 Make the UxnAudio struct private to audio.c. 2022-03-17 16:59:36 +00:00
Andrew Alderwick
1d694c43ea Fix sprite address check. 2022-03-06 20:39:27 +00:00
Andrew Alderwick
fef8806493 Fix comment at end of uxn.h. 2022-03-06 18:02:34 +00:00
Andrew Alderwick
314dd5a431 screen/auto: Replace draft looping with block width control. 2022-03-06 18:02:34 +00:00
Andrew Alderwick
1b04e0814b (draft) Add looping functionality to Screen/auto. 2022-03-06 13:42:59 +00:00
Bad Diode
11c9ec8b49 Add header guard to uxn.h 2022-03-05 13:58:03 -08:00
Andrew Alderwick
0c819b9f59 clang-format 2022-02-19 01:02:47 +00:00
Andrew Alderwick
550aceee23 (uxnasm) Allow writing the 0xffff byte of RAM. 2022-02-19 00:29:40 +00:00
Andrew Alderwick
8b84813c6e (uxnasm) Raise error when memory is overwritten. 2022-02-19 00:27:28 +00:00
Andrew Alderwick
da4f0e70a5 (uxnasm) Allow returning errors from writebyte(). 2022-02-19 00:26:55 +00:00
Andrew Alderwick
0ae6992089 (uxnasm) Fix calculation of usage. 2022-02-18 23:02:42 +00:00
Andrew Alderwick
f06498f6a6 Remove unused constants. 2022-02-17 18:17:17 +00:00
Liam Cooke
33940d3b5b Fix blurry pixels on high-DPI displays
Creates the uxnemu window in high-DPI mode when supported. Now it looks
pixel perfect on a display with 2:1 pixel density.

Should have no effect on a 1:1 display, but I don't have access to one
to test this.
2022-02-04 08:52:31 -08:00
Andrew Alderwick
055fa9bcd0 Close some security holes. 2022-01-23 23:17:54 +00:00
Andrew Alderwick
deace3b79a Remove old debugging support. 2022-01-23 19:35:18 +00:00
Andrew Alderwick
edd05ed1d1 Fix compiler warning. 2022-01-23 11:23:52 +00:00
Andrew Alderwick
6577d3c8a0 Remove jump-based infinite loop detection. 2022-01-23 11:17:07 +00:00
Andrew Alderwick
fbd9c49f84 Fix resize when only width or height are set. 2022-01-20 01:34:44 +00:00
Andrew Alderwick
d186b7a038 Perform resizing of SDL screen during redraw. 2022-01-20 01:24:22 +00:00
Andrew Alderwick
cd0ca2eb17 Move clamp() to screen.c. 2022-01-20 01:24:20 +00:00
Andrew Alderwick
cf84a5d661 Prevent invalid screen sizes. 2022-01-19 18:30:32 +00:00
Andrew Alderwick
2c47425c41 Remove trailing space in stack printing 2022-01-14 07:59:42 +00:00
neauoire
4ea8cc2819 Removed extra specing around bytes in stack printing 2022-01-13 14:52:37 -08:00
neauoire
fc659b9094 Removed devsystem 2022-01-13 10:55:02 -08:00
neauoire
b48db8278f (monospace.tal) Added a 8x8 label drawing example 2022-01-13 10:25:31 -08:00
neauoire
f1cc022e9b Uxncli now uses the system_inspect 2022-01-13 08:34:32 -08:00
neauoire
44a7f5ef0e Removed old debug files 2022-01-13 08:26:35 -08:00
neauoire
031f63a13c Print stack with DEO on 0x0f 2022-01-13 08:25:59 -08:00
neauoire
ee4308196a Starting a debugging device 2022-01-12 21:22:33 -08:00
neauoire
6a6a2ec383 Removed external memory bank 2022-01-12 18:56:59 -08:00
neauoire
459855d825 Removed supervisor 2022-01-12 18:40:51 -08:00
Andrew Alderwick
696ef03f12 Remove goto/label for jumps. 2022-01-12 13:09:45 +00:00
Andrew Alderwick
41de322a75 Add support for interrupting Uxn during execution. 2022-01-12 11:33:49 +00:00
Andrew Alderwick
b1ba95336c Remove unistd.h from uxnemu.c. 2022-01-11 23:50:41 +00:00
neauoire
5e2bb92e4c Removed unistd from uxncli 2022-01-11 15:13:12 -08:00
neauoire
06b694d406 Removed ram helper in uxn 2022-01-11 14:51:25 -08:00
neauoire
61c7f9f0c1 Removed device globals 2022-01-11 14:38:55 -08:00
neauoire
cd30b48665 Rename memory banks 2022-01-11 14:16:27 -08:00
neauoire
ede186b226 Minor cleanup 2022-01-11 11:07:25 -08:00
neauoire
38d2c7cbd7 (boot.rom) Renamed to launcher.rom 2022-01-10 20:35:34 -08:00
Andrew Alderwick
9fcb0c335b Remove use of snprintf. 2022-01-10 11:35:45 +00:00
Andrew Alderwick
0d242d704e Correct cast for snprintf 2022-01-10 09:59:00 +00:00
neauoire
37497060dc Removed stdlib from screen header 2022-01-08 19:38:53 -08:00
neauoire
5004ee1339 The file device cannot write on the supervisor 2022-01-08 10:03:21 -08:00
neauoire
c866b0938a Use proper memory size 2022-01-07 16:51:43 -08:00
neauoire
8fdb039926 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2022-01-07 16:47:01 -08:00
neauoire
f5278f3a13 Removed device vector variable 2022-01-07 16:46:50 -08:00
Sigrid Solveig Haflínudóttir
eeb0dc9e45 put back newlines to avoid compilation warnings 2022-01-07 23:46:39 +01:00
neauoire
180984f8fb Removed device port masks 2022-01-07 11:48:09 -08:00
neauoire
b328a4e87d Commented the fkey controls temporarily 2022-01-07 11:36:04 -08:00
neauoire
38334a633b Pass fn keys directly to the supervisor 2022-01-07 10:55:09 -08:00
neauoire
19a8e56cd6 Started device port masking 2022-01-07 10:02:28 -08:00
neauoire
41d0911d13 The supervisor program now uses its own vectors 2022-01-06 19:51:34 -08:00
neauoire
1a7af4d8d0 Supervisor is now watching the device page 2022-01-06 19:20:50 -08:00
neauoire
28b9265042 Let us make a device page in shadow memory 2022-01-06 18:49:54 -08:00
neauoire
a82f7d79f8 Defined the location of stacks in shadow memory 2022-01-06 17:29:34 -08:00
neauoire
4c6821189e Merge branch 'main' of git.sr.ht:~rabbits/uxn 2022-01-06 14:32:35 -08:00
neauoire
ed1f6e6263 Connected error reporting and the hypervisor 2022-01-06 14:32:28 -08:00
Sigrid Solveig Haflínudóttir
d21bfb20e0 SDL_PIXELFORMAT_XRGB8888 → SDL_PIXELFORMAT_RGB888 (for older SDL2 versions) 2022-01-06 18:24:35 +01:00
neauoire
3cc2ba98f0 First hypervisor 2022-01-05 20:44:33 -08:00
neauoire
b9a37077c3 Started work on the hypervisor 2022-01-05 19:48:51 -08:00
Sigrid Solveig Haflínudóttir
4cd52209ac make the SDL texture XRGB8888 (no alpha) and remove padding pixels from it 2022-01-05 22:45:49 +01:00
Andrew Alderwick
f48a09c482 Stop LeakSanitizer complaining about Uxn's RAM. 2022-01-05 18:18:13 +00:00
Andrew Alderwick
4cbb661f48 Implement System/vector for debugging. 2022-01-05 17:27:24 +00:00
Andrew Alderwick
0fd288de79 Fix compiler suggestion. 2022-01-05 14:37:37 +00:00
Andrew Alderwick
291cb3d1a2 Simplify stack determination logic. 2022-01-05 14:02:06 +00:00
Andrew Alderwick
646d79fff5 Factor out common parts of system_dei/deo. 2022-01-05 13:29:18 +00:00
Andrew Alderwick
c77799dac2 Just pass an error code to uxn_halt. 2022-01-05 13:07:04 +00:00
Andrew Alderwick
c37831749f Split uxn_halt into beginnings of System device file. 2022-01-05 13:03:17 +00:00
Andrew Alderwick
c827fdc960 Move errored stack identification to after error handling label.
Partial revert of commits 1ce8b9bc27 (and
c296187ea9).
2022-01-05 01:27:27 +00:00
Andrew Alderwick
c296187ea9 Rename ERROR/err to FAULT/fault 2022-01-04 02:15:38 +00:00
Andrew Alderwick
2a825de2fd Switch void context increments from pre to post 2022-01-04 02:05:32 +00:00
Andrew Alderwick
1ce8b9bc27 Bring back working/return stack identification on errors 2022-01-04 02:05:32 +00:00
Andrew Alderwick
7e3353ea72 Rename u->ram.dat to u->ram, u->ram.ptr to pc. 2022-01-04 01:40:48 +00:00
Andrew Alderwick
205f63cc43 Clear up SDL_KEYDOWN/SDL_TEXTINPUT logic 2022-01-04 01:12:17 +00:00
neauoire
4789d8ccef Removed peek16 2022-01-03 13:29:47 -08:00
neauoire
0ee477615b Removed poke16 2022-01-03 13:23:57 -08:00
cancel
416389bcf4 Improvements to uxn.c 2022-01-03 13:41:20 +00:00
cancel
1cab0dffeb Removed unused fields in uxn.h 2022-01-02 23:26:13 +00:00
Andrew Alderwick
52598bdad7 Remove uxn-fast.c since new reference core is almost as fast. 2022-01-02 23:05:28 +00:00
cancel
6980abacfc Refactor uxn.c. 2022-01-02 23:03:06 +00:00
neauoire
ecc2654165 Prefixed helpers in uxn.c 2022-01-02 11:04:13 -08:00
neauoire
cca1253376 Use calloc for memory array 2022-01-01 15:20:48 -08:00
Sigrid Solveig Haflínudóttir
22c6e07fca emu: make sure to handle key down event if the same key is up at the same frame 2021-12-29 23:32:18 +01:00
Sigrid Solveig Haflínudóttir
e12e07e457 mouse.c: add newline at eof 2021-12-29 18:58:31 +01:00
Sigrid Solveig Haflínudóttir
2b1e7fe20f emu: use SDL_BUTTON macro to get bitmask from a mouse button event 2021-12-29 18:47:54 +01:00
Sigrid Solveig Haflínudóttir
148dae4ebd fix a few "set and not used" warnings 2021-12-29 18:33:23 +01:00
neauoire
385fa44f9d Prefixed globals with uxn_ 2021-12-29 09:11:03 -08:00
Erik Osheim
abd6a3a5da Support nested comments in uxnasm.
Previously, code like this would fail with an error
about an unrecognized ) token:

    ( this is a ( nested ) comment )

With this patch, the above code will now work.

Relatedly, it was previously possible to write code
that compiled but was confusing:

    (open parenthesis should have a space )
    ( in this case the ADD2 will be ignored )ADD2
    ( this comment with ( would have been fine )

With this commit, the first example will emit a warning
but continue to work as intended. The second and third
examples will continue searching for a matching ) token,
which due to the new nested coment behavior will probably
mean the rest of the file gets commented out.
2021-12-28 19:28:15 -08:00
neauoire
51b55f3d99 Do not check for erroring video twice 2021-12-28 17:38:55 -08:00
neauoire
a747e4b20a Fixed issue with screen resize 2021-12-28 17:22:40 -08:00
neauoire
c3506869b5 Renamed Apu to Audio 2021-12-28 13:47:35 -08:00
neauoire
7b33cf3d95 Renamed PPU to Screen 2021-12-28 13:37:26 -08:00
neauoire
2a9fc00441 Renamed mouse mod to mouse scroll 2021-12-28 11:21:56 -08:00
neauoire
69f72485c7 Invert y scroll 2021-12-28 10:56:53 -08:00
neauoire
a1dc75a2bc Implemented scroll x/y 2021-12-28 10:45:34 -08:00
neauoire
8488ce64a4 Moved the emulator controls together 2021-12-27 13:59:22 -08:00
neauoire
004fa800ef Fixed issue with function keys 2021-12-27 13:50:39 -08:00
neauoire
3c47876d5e Start button is now HOME 2021-12-27 13:42:36 -08:00
neauoire
51b9c699b8 Mini fix to controller button order 2021-12-27 13:37:37 -08:00
neauoire
87507f7f03 Added joystick support 2021-12-27 11:44:57 -08:00
neauoire
9f743399b1 Added gamepad support 2021-12-27 10:04:24 -08:00
neauoire
4a223f91b5 The screen is now a member of Ppu 2021-12-27 09:57:48 -08:00
neauoire
fe75479fae Moved controller device to devices/controller.c 2021-12-27 09:24:43 -08:00
Sigrid Solveig Haflínudóttir
a12781f23a get_button: do not pass the whole event struct on the stack 2021-12-27 15:24:22 +01:00
Sigrid Solveig Haflínudóttir
a8944f36ec remove aarch64-specific logic, it has been moved to its own branch, "aarch64" 2021-12-27 13:38:44 +01:00
neauoire
32c18e82ca Started extracting the controller device 2021-12-26 21:33:23 -08:00
neauoire
89c07988ac Moved mouse to devices/ 2021-12-26 21:02:24 -08:00
neauoire
13fd0d9724 Moved file APIs in device/file 2021-12-26 20:26:27 -08:00
Andrew Alderwick
d9e619d8a1 Revert "emu: use SDL_clamp" since that function is not available in Debian's SDL.
This reverts commit a967525caf.
2021-12-26 21:14:41 +00:00
Sigrid Solveig Haflínudóttir
b7453e1206 ppu aarch64: sorry, neauoire 2021-12-26 14:31:24 +01:00
Sigrid Solveig Haflínudóttir
e488f76766 ppu arch64: clear "changed" on fg/bg and handle leftovers, if any 2021-12-26 14:19:02 +01:00
Sigrid Solveig Haflínudóttir
68c3a81301 ppu aarch64: clean up 2021-12-26 13:54:06 +01:00
Sigrid Solveig Haflínudóttir
6338f8d9a2 ppu_aarch64: initial version of ppu_redraw using Neon 2021-12-26 07:32:35 +01:00
Sigrid Solveig Haflínudóttir
66f5ba6e4d apu: Uint32 already defined in uxn.h 2021-12-26 07:28:19 +01:00
Sigrid Solveig Haflínudóttir
73177d91fe ppu: mark ppu_redraw as weak symbol so it can be overridden; move paletter to the start of Ppu struct (for alignment) 2021-12-26 07:09:12 +01:00
Sigrid Solveig Haflínudóttir
ba7e8a9fb4 uxn_eval: multiply as two uint32s to avoid UB 2021-12-25 23:29:36 +01:00
Sigrid Solveig Haflínudóttir
d8667dca0b emu event loop: peek for a key up only on key down event 2021-12-25 22:58:10 +01:00
Sigrid Solveig Haflínudóttir
69cfef46be ppu_palette: rewrite for more readability 2021-12-25 22:42:34 +01:00
Sigrid Solveig Haflínudóttir
8d4e7d54e1 emu: use SDL_Quit directly and let SDL handle shutdown itself 2021-12-25 21:44:19 +01:00
Sigrid Solveig Haflínudóttir
2f7bfd4122 emu: set_zoom: window is always there, remove useless check 2021-12-25 21:37:22 +01:00
Sigrid Solveig Haflínudóttir
a967525caf emu: use SDL_clamp 2021-12-25 21:28:02 +01:00
Sigrid Solveig Haflínudóttir
f436ebff12 emu: shut up -Wtypedef-redefinition with SDL headers when using clang 2021-12-25 21:27:23 +01:00
Sigrid Solveig Haflínudóttir
37cd90bec1 ppu_blit: change type to Uint16 2021-12-25 19:00:26 +01:00
Sigrid Solveig Haflínudóttir
2c8a7ed05a ppu_blit: tiny bit faster by doing less memory reads in the inner loop 2021-12-25 18:56:36 +01:00
Sigrid Solveig Haflínudóttir
5848fbe50b ppu_blit: mostly cosmetic - explain blending's 4th row, gain few more cycles 2021-12-25 16:26:01 +01:00
Sigrid Solveig Haflínudóttir
8bbe5c1dfd ppu_resize: f49143782a was wrong. keep successfully reallocated layers 2021-12-25 16:06:30 +01:00
Sigrid Solveig Haflínudóttir
831014e811 ppu_redraw: use the same optimization that one-layer logic had 2021-12-25 15:57:43 +01:00
Sigrid Solveig Haflínudóttir
c2829ce5fe ppu: remove the last(?) remnants of single layer logic 2021-12-25 15:12:30 +01:00
Sigrid Solveig Haflínudóttir
f49143782a ppu_resize: don't leak if one layer failed to resize 2021-12-25 15:05:33 +01:00
Sigrid Solveig Haflínudóttir
ef2b2e881b ppu header: remove unused macros 2021-12-25 14:48:05 +01:00
Sigrid Solveig Haflínudóttir
927fdb497f ppu: unite 1bpp and 2bpp into one - ppu_blit 2021-12-25 13:50:34 +01:00
Sigrid Solveig Haflínudóttir
b2bb585e1d ppu: clear should only mark one layer as changed 2021-12-24 23:27:41 +01:00
Sigrid Solveig Haflínudóttir
db957f4dbb ppu: resize already calls clear, no need for repetition 2021-12-24 23:27:07 +01:00
neauoire
8a25a5e387 Renamed layer.p to layer.pixels 2021-12-24 12:01:10 -08:00
Sigrid Solveig Haflínudóttir
f79b092e71 ppu: separate reqdraw for fg and bg 2021-12-24 20:45:31 +01:00
neauoire
0a040824b7 Optimized ppu_redraw 2021-12-24 10:10:55 -08:00
neauoire
cc6f2c8b29 Inlined ppu_read 2021-12-24 10:02:23 -08:00
neauoire
3fb4d40eb0 Split pixels into fg/bg 2021-12-24 09:59:18 -08:00
neauoire
250e338d07 Redraw is now part of the PPU 2021-12-24 09:46:21 -08:00
neauoire
0794070adf Palette is now part of the PPU 2021-12-24 09:39:51 -08:00
neauoire
668eab05bf (ppu) Minor optimisation 2021-12-24 09:29:26 -08:00
neauoire
4d2b55c188 Removed stdio from ppu 2021-12-20 09:45:56 -08:00
neauoire
5ebeaf6852 Using ppu_clear on resize 2021-12-20 09:42:29 -08:00
neauoire
6c64678829 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2021-12-19 12:20:21 -08:00
neauoire
c4d9e52fd6 (uxnemu) Clear debugger on toggle 2021-12-19 12:20:13 -08:00
Sigrid Solveig Haflínudóttir
1e224079ed emu: when both key down and key up are generated on the same frame, skip the up until the next one 2021-12-19 20:40:20 +01:00
Sigrid Solveig Haflínudóttir
73c1ecccc0 emu: handle files dropped by loading it as a ROM 2021-12-16 17:29:09 +01:00
Sigrid Solveig Haflínudóttir
2cf6da4a55 emu: use "Back" on android to restart the rom for now 2021-12-16 01:05:59 +01:00
Sigrid Solveig Haflínudóttir
2dc3680bcf emu: don't call exit(0), return 0 is enough 2021-12-16 00:49:58 +01:00
Sigrid Solveig Haflínudóttir
9bc6a83873 emu/load: use RWops - it's more portable and allows loading roms from assets of an apk on Android 2021-12-15 23:54:44 +01:00
Andrew Alderwick
62f740416d Remove redundant declaration. 2021-12-14 23:17:32 +00:00
Andrew Alderwick
2330320985 (readability) Use preincrements throughout in void context. 2021-12-14 23:17:32 +00:00
neauoire
bae2d37fc2 (uxnasm) Only catch hex labels with slen of 2 or 4 2021-12-06 09:01:48 -08:00
Andrew Alderwick
60f04ca053 (uxnasm) Add error for relative references that are too far. 2021-12-01 11:42:44 +00:00
neauoire
da797b33c6 (uxnasm) Stop on resolve failure 2021-11-30 10:27:35 -08:00
neauoire
074a049ff2 (uxnasm) Renamed conflicting function 2021-11-29 16:19:47 -08:00
neauoire
25df420607 (uxnasm) Improved errors 2021-11-29 08:48:12 -08:00
Andrew Alderwick
6ba2af5c62 Avoid combining literals across | or $ pads. 2021-11-28 18:07:22 +00:00
neauoire
6c0e39ad6f (uxnasm) Fixed issue with labels 2021-11-27 14:58:37 -08:00
neauoire
b4e50165b6 (uxnasm) Warn for refs size limit 2021-11-27 14:44:28 -08:00
neauoire
78853ac5c6 (uxnasm) Removed lit flag for writebyte 2021-11-27 14:20:56 -08:00
neauoire
fbbddf50d6 (uxnasm) Cleanup 2021-11-27 14:07:25 -08:00
neauoire
4b6efa6fc6 (uxnasm) Combine byte literals 2021-11-27 13:55:33 -08:00
neauoire
71e8177657 (uxnasm) Rewrite 2021-11-27 11:33:22 -08:00
neauoire
b873f04789 Added tal syntax highlight for nano 2021-11-26 08:11:18 -08:00
Devine Lu Linvega
088897c6b4 (uxnasm) Display exact numberof bytes 2021-11-24 17:12:01 -05:00
Andrew Alderwick
d4e033e715 Remove vestigial mention of "include". 2021-11-18 00:14:15 +00:00
Andrew Alderwick
c3ac41c41d Change "include" word into ~ rune for includes. 2021-11-17 22:06:00 +00:00
Sigrid Solveig Haflínudóttir
f75f644aff
same fixes for uxncli 2021-11-17 14:29:36 +01:00
Sigrid Solveig Haflínudóttir
19c16081c6
load: don't leak file handles; don't ignore read errors 2021-11-17 14:21:27 +01:00
Sigrid Solveig Haflínudóttir
6c1720e328
datetime: don't crash if localtime failed 2021-11-17 14:14:38 +01:00
Devine Lu Linvega
170aa0f64c Try to start boot.rom if no rom is provided 2021-11-09 10:34:10 -05:00
Sigrid Solveig Haflínudóttir
4988b2214e
uxnasm: reset scope to avoid pointing at garbage 2021-11-08 18:51:28 +01:00
Devine Lu Linvega
ef13809e08 Made reboot static 2021-11-08 12:13:43 -05:00
Devine Lu Linvega
2f8cc83aa4 Renamed reboot for restart 2021-11-08 12:12:17 -05:00
Devine Lu Linvega
737a87ac3f Building boot on start 2021-11-08 11:21:23 -05:00
Devine Lu Linvega
85322b92ce Progress toward boot.rom setup 2021-11-08 10:51:09 -05:00
Andrew Alderwick
d2c6d5e12d Remove unused limits.h 2021-11-07 19:34:41 +00:00
Sigrid Solveig Haflínudóttir
fd7cf5e221
file: write: return error if fflush failed 2021-11-07 20:21:15 +01:00
Sigrid Solveig Haflínudóttir
3606081184
file: reduce casts 2021-11-07 20:06:15 +01:00
Sigrid Solveig Haflínudóttir
677b02f0a3
file: replace strncpy+strncat with a single snprintf call 2021-11-07 20:00:56 +01:00
Sigrid Solveig Haflínudóttir
90225ad773
file: replace PATH_MAX with 4096 to have the same limit everywhere (Windows has the macro set to < 300) 2021-11-07 19:32:48 +01:00
Devine Lu Linvega
42d0f65d12 Rewrote get_entry 2021-11-07 12:26:37 -05:00
Devine Lu Linvega
dee04ff44a Renamed prepare for init 2021-11-07 10:30:56 -05:00
Andrew Alderwick
db0efaeff1 Drop redundant dirfd 2021-11-07 00:51:42 +00:00
Andrew Alderwick
ea42a0bdd7 Use basename for File/stat output 2021-11-07 00:46:18 +00:00
Andrew Alderwick
3acaaa2874 Drop fstatat for building on MSYS2 2021-11-07 00:45:55 +00:00
Sigrid Solveig Haflínudóttir
0465b68ab5
add file device build dep to mkfile; fix file_delete prototype 2021-11-07 00:12:11 +01:00
Andrew Alderwick
ede10292d6 Add flush to File device writes 2021-11-06 21:22:00 +00:00
Andrew Alderwick
a92dd9fd73 Rearranged File ports for backwards compatibility. 2021-11-06 00:51:43 +00:00
Andrew Alderwick
3a11945fec Fix null pointer dereference if File/name not set 2021-11-05 23:26:45 +00:00
Andrew Alderwick
dc3170db98 Implement File/append flag. 2021-11-05 22:48:04 +00:00
Andrew Alderwick
c970e2c5ef File device: drop offset shorts, add stat and delete. 2021-11-05 21:32:45 +00:00
Andrew Alderwick
9b15f90008 Rename b0 to port in dei/deo functions 2021-11-04 17:14:15 +00:00
Andrew Alderwick
287bc67e1e Split talk functions into dei and deo; make deo functions void 2021-11-04 17:13:44 +00:00
alex wennerberg
18dddbacd6 Add [-scale] to usage string 2021-11-04 12:48:49 -04:00
Devine Lu Linvega
3bfbbbc124 Moved debugger to ppu 2021-11-04 11:42:15 -04:00
Sigrid Solveig Haflínudóttir
e21a0ed885
clang-format 2021-11-03 23:05:47 +01:00
Sigrid Solveig Haflínudóttir
5a20eb69b0
ppu: simplify ppu_set_size 2021-11-03 23:03:33 +01:00
Andrew Alderwick
38f534d9ec Allow shifts up to 0xf in byte mode 2021-11-03 07:15:14 +00:00
Sigrid Solveig Haflínudóttir
28aaf40e6d
ppu_write: put new byte value only if it's different 2021-11-02 18:18:30 +01:00
Sigrid Solveig Haflínudóttir
ca5675419e
ppu_write: remove duplicate condition we already checked for 2021-11-02 18:15:11 +01:00
Andrew Alderwick
1bf7fb11b2 Update uxn-fast.c with new LIT opcode meanings 2021-10-30 08:55:23 +01:00
Andrew Alderwick
80b4e4f88d Use Keep mode for all LIT opcodes 2021-10-30 00:28:33 +01:00
Devine Lu Linvega
6f872feff5 Use Keep modes for byte and short literals 2021-10-29 16:02:07 -07:00
Devine Lu Linvega
8132a09e21 Test for valid destination in uxnasm 2021-10-29 09:29:23 -07:00
neauoire
a635fea52f Use rom name for window title 2021-10-28 09:27:39 -07:00
Claude Heiland-Allen
33e77e261c uxnasm errors-out if too many macros 2021-10-26 09:55:57 -07:00
Claude Heiland-Allen
a373939544 uxnasm errors-out if too many labels 2021-10-26 09:54:29 -07:00
Sigrid Solveig Haflínudóttir
a3ee7ab982
emu: close audio device if used 2021-10-24 22:14:27 +02:00
Sigrid Solveig Haflínudóttir
2afded6e05
check SDL_UpdateTexture return code as well 2021-10-24 21:48:56 +02:00
Sigrid Solveig Haflínudóttir
297046ec14
check SDL_GetCurrentDisplayMode return code, keep zoom at 1 if it failed 2021-10-24 21:31:25 +02:00
neauoire
5582816943 Removed unecessary error 2021-10-24 09:09:58 -07:00
Andrew Alderwick
5807e22fef Fixed corruption in ff00-ffff, improved checks for | and $, thanks karolbelina! 2021-10-23 23:15:07 +01:00
neauoire
6799b5f78e Warn for out of bounds 2021-10-23 08:48:11 -07:00
neauoire
540fd70b9b Removed unused include 2021-10-22 16:41:23 -07:00
neauoire
04e4edf05f Fixed an issue with the ref counter in uxnasm 2021-10-17 19:10:29 -07:00
neauoire
99e38d560c Fixed JNZ comment for uxn.c 2021-10-17 13:16:58 -07:00
Andrew Alderwick
e82acc875b Feed extra command line arguments to Console/vector
Each argument is followed by a newline character.
2021-10-13 22:58:27 +01:00
neauoire
d6ef361383 Corrected raw short length 2021-10-11 13:35:01 -07:00
neauoire
037ab10b6a Fixed issue with raw bytes in macros 2021-10-11 13:27:20 -07:00
Andrew Alderwick
55590cec7b Fixed "while loop has empty body" warning with macOS compiler 2021-10-10 20:09:20 +01:00
Andrew Alderwick
b53d5c428b Re-added setting border pixels to black 2021-10-09 00:03:34 +01:00
Andrew Alderwick
2006b2a6ad Print uxnasm message to stderr 2021-10-07 22:38:25 +01:00
neauoire
d363aad7b5 Improved size report for uxnasm 2021-10-06 09:21:27 -07:00
neauoire
08fb3e7f0a Close uxnemu on System/halt 2021-10-02 12:06:50 -07:00
neauoire
243c5866ac Do not overdraw 2021-09-30 19:35:22 -07:00
neauoire
765724d2af Fixed issue where macro size was too large 2021-09-30 19:21:04 -07:00
neauoire
0fe8b39447 Cleaned up PPU 2021-09-30 10:44:40 -07:00
neauoire
9de513ad47 Cleaned up ppu_read 2021-09-30 09:34:50 -07:00
neauoire
c02dc5b0e2 Fixed transparency 2021-09-29 21:00:18 -07:00
neauoire
c494e42cf2 Drawing is pixel-perfect again 2021-09-29 20:54:27 -07:00
neauoire
bac54f1fd9 Progress on new bitpacking 2021-09-29 20:44:15 -07:00
neauoire
253be6f50c Minor cleanup 2021-09-29 20:05:26 -07:00
neauoire
92e44e4314 Merge branch 'main' of git.sr.ht:~rabbits/uxn into ppu-slow 2021-09-29 18:05:08 -07:00
neauoire
7cff22fcc8 Returned zoom functionality 2021-09-29 18:03:56 -07:00
neauoire
ecc1d7c416 Experimenting with 2 layers 2021-09-29 17:58:58 -07:00
neauoire
f3b3823b0c The PPU require-draw flag is renamed to reqdraw 2021-09-29 16:14:13 -07:00
neauoire
7f3a889771 Removed clamp from within set_zoom 2021-09-29 16:08:36 -07:00
neauoire
8d72c36123 Moved get_pixel to ppu.c 2021-09-29 16:01:54 -07:00
neauoire
2b80b85baf Relative labels should not incr references to parent label 2021-09-25 09:39:27 -07:00
neauoire
30c1e4dc6c Keep vectors in memory instead of constantly peek16() 2021-09-22 12:16:16 -07:00
neauoire
0cc717b251 Removed white flash on launch 2021-09-22 11:56:27 -07:00
neauoire
659dea48d8 Renamed update_palette to set_palette 2021-09-22 11:54:25 -07:00
neauoire
f2260abed0 Moved mouse-wheel event into domouse 2021-09-22 11:53:13 -07:00
neauoire
5905afc97d Use set_zoom() but test for gWindow before resize 2021-09-22 11:35:00 -07:00
neauoire
718a74641e Removed flickering on initial resize 2021-09-22 11:21:57 -07:00
neauoire
2822e598ed Minor cleanup 2021-09-22 10:57:43 -07:00
neauoire
eeeeb90542 Wait for textures and size before default zoom 2021-09-22 10:42:17 -07:00
neauoire
45a7941d7d Merge branch 'main' of git.sr.ht:~rabbits/uxn 2021-09-22 10:13:12 -07:00
neauoire
26e9d8bf88 Set size after devices are defined 2021-09-22 10:13:02 -07:00
Andrew Alderwick
dd7401bc4c Redraw entire screen when asked to by reqdraw 2021-09-22 16:40:42 +01:00
neauoire
43f91cecd9 Fixed crashing bug with zoom flag 2021-09-21 15:56:42 -07:00
neauoire
6f10839acf Created a set_zoom function 2021-09-21 15:41:59 -07:00
Hannah Crawford
8b83ae7e38 Added scale (-s) flag 2021-09-21 21:27:45 +01:00
Hannah Crawford
753c5836e6 Made window resize around center 2021-09-21 21:22:40 +01:00
Andrew Alderwick
f38ba34310 clang-format 2021-09-21 21:20:22 +01:00
neauoire
68a8310830 Muted warnings 2021-09-21 10:45:56 -07:00
Sigrid Solveig Haflínudóttir
3d49536d76
ppu: keep track of the vertical region where redraw is supposed to happen 2021-09-21 19:39:00 +02:00
Andrew Alderwick
81ab3a7a74 Fixed PPU out-of-bounds crash 2021-09-20 23:12:11 +01:00
Andrew Alderwick
a8df7ca410 Fixed palette array 2021-09-20 23:02:42 +01:00
Andrew Alderwick
c0e42f1322 Switched to faster unsigned ints for PPU memory 2021-09-20 22:51:09 +01:00
Andrew Alderwick
b6fe4302d1 Switched to linear PPU memory 2021-09-20 22:51:09 +01:00
Andrew Alderwick
f77fa80d35 Replaced duplicate parts of PPU init with resize functions 2021-09-19 23:34:03 +01:00
Andrew Alderwick
a2305f2d64 Added ability to fix PPU size
For testing compatibility with ports that cannot change the PPU size,
the FIXED_SIZE define can be set nonzero and Screen/width,height changes
will be ignored. They can still be read to find the correct width/height
that the PPU is currently using.
2021-09-19 23:21:30 +01:00
Andrew Alderwick
332fbed11e Only set size when Screen/height is written 2021-09-19 22:56:33 +01:00
Andrew Alderwick
c8f47d8a08 Always return current PPU size when Screen/width,height is read 2021-09-19 22:53:45 +01:00
Andrew Alderwick
15239a1fd2 Rewritten screen_talk with switch 2021-09-19 22:51:35 +01:00
Sigrid Solveig Haflínudóttir
6337680774 ppu: change the API to signal when redraw is required
To lower CPU load in idle mode (no changes on screen)
make ppu_pixel return non-zero when a change has been
made.

25% → 4% (piano.rom) after this change on Linux amd64,
Thinkpad X220.
2021-09-19 23:30:53 +02:00
neauoire
a5201767d7 Clear on resize 2021-09-18 17:18:20 -07:00
neauoire
8a32555893 Clear before resizing 2021-09-18 17:10:29 -07:00
neauoire
28cfb143ca Merge branch 'main' of git.sr.ht:~rabbits/uxn 2021-09-18 16:51:50 -07:00
neauoire
bca5562eec The screen width/height ports can be written to 2021-09-18 16:51:20 -07:00
Andrew Alderwick
b4fa6f52a8 Replaced malloc and manual initialization with calloc 2021-09-18 22:34:13 +01:00
Andrew Alderwick
e9765337f7 Initialized border color to black 2021-09-18 00:00:28 +01:00
Sigrid Solveig Haflínudóttir
ccd9aabecd ppu: remove unused "pixels" field from Ppu; reset bg/fg to all zeroes on init 2021-09-17 20:24:50 +02:00
Sigrid Solveig Haflínudóttir
8d98d6d6ef emu: don't call SDL_UpdateTexture with NULL pixels 2021-09-17 17:22:12 +02:00
Andrew Alderwick
373a797e1e Removed gSurface and restored previous capture_screen 2021-09-17 09:38:01 +01:00
neauoire
478669a8ca Reverted to a standard SDL Texture for the screen 2021-09-16 19:48:00 -07:00
neauoire
4406c2856c Sublabels add refs to root labels in uxnasm 2021-09-16 09:11:53 -07:00
neauoire
9835ec4f20 Fixed address issue with screen auto 2021-09-10 09:07:08 -07:00
neauoire
e52fe82925 Fixed PPU auto byte 2021-09-10 08:52:07 -07:00
neauoire
a3502f1637 Implemented the screen auto byte 2021-09-09 09:42:03 -07:00
neauoire
266152e260 Ported devw/devr changes to uxn.c 2021-09-08 17:51:23 -07:00
Andrew Alderwick
b88d2adc3d Halt when talk function returns false, since setting ram.ptr no longer works 2021-09-08 00:13:21 +01:00
neauoire
19e84072d8 Removed file_talk debugs 2021-09-04 09:11:43 -07:00
neauoire
25858c3948 Fixed issue with strings in uxnasm 2021-09-01 13:04:56 -07:00
Andrew Alderwick
a6b99078de Changed file_talk files to open in binary mode 2021-08-31 19:30:57 +01:00
neauoire
05e48c35ce Fixed issue with SFT 2021-08-30 12:16:57 -07:00
Andrew Alderwick
6337990fe0 Reverted flags in uxn-fast.c 2021-08-30 18:45:04 +01:00
neauoire
4f6a29f57d Reverted flags 2021-08-30 10:19:33 -07:00
neauoire
a2e40d9d10 Removed unused device string 2021-08-29 19:52:12 -07:00
neauoire
91df7ab470 Completed new uxn core 2021-08-29 18:18:52 -07:00
neauoire
51313988cf Progress merging 8/16 opcodes 2021-08-29 18:02:46 -07:00
neauoire
9a5bd42bb8 Progress merging 8/16 opcodes 2021-08-29 17:49:22 -07:00
neauoire
86bdb0ca83 Progress merging 8/16 opcodes 2021-08-29 17:36:17 -07:00
neauoire
38ae734021 Progress merging 8/16 opcodes 2021-08-29 17:22:56 -07:00
neauoire
da5f4b606c Progress merging 8/16 opcodes 2021-08-29 15:05:37 -07:00
neauoire
f0410bb342 Started merging 8/16 opcodes 2021-08-29 14:53:31 -07:00
neauoire
90540742ae Standardizing fns names before merge 2021-08-29 14:41:05 -07:00
neauoire
a444641a6a Fixed wrong function names 2021-08-29 14:36:08 -07:00
Andrew Alderwick
4d535ebb46 Swapped return and short flags in advance of uxn.c refactoring 2021-08-29 22:28:30 +01:00
neauoire
8988f536be Simplified Inspect() 2021-08-29 13:18:42 -07:00
neauoire
2919c11cb9 Print return stack in uxncli 2021-08-29 11:53:27 -07:00
neauoire
3da9352230 Fixed issue with scmp in uxnasm 2021-08-29 11:43:00 -07:00
neauoire
66f898ade4 Removed hardcoded number for LIT opcode in asm 2021-08-29 11:25:58 -07:00
neauoire
0da8709ce3 Assembly stop on long token 2021-08-29 10:51:14 -07:00
neauoire
ca5ad113ee Minor cleanup 2021-08-29 10:36:23 -07:00
neauoire
c84b5015e4 Repaired zoom 2021-08-28 13:44:53 -07:00
neauoire
c70f16f7ac Formatted changes 2021-08-28 10:49:51 -07:00
neauoire
83de614e53 Do no display unused macros anymore 2021-08-28 10:30:50 -07:00
Andrew Alderwick
08f20d35c8 Fixed addr being reset in include's pass1 2021-08-28 07:51:48 +01:00
Andrew Alderwick
a92fd8fb22 Expanded File/offset to 32-bit /offset-hs and /offset-ls 2021-08-28 00:37:27 +01:00
Andrew Alderwick
28569d118e Implemented includes in uxnasm (no asma support yet) 2021-08-27 23:47:34 +01:00
neauoire
52d5e2d694 Single vector uxncli 2021-08-26 20:12:56 -07:00
Andrew Alderwick
61b8750bae Allowed long tokens within comments (typically URLs) 2021-08-25 22:56:24 +01:00
Andrew Alderwick
87157258b8 Implemented Audio*/vector which runs when notes finish playing 2021-08-20 22:45:39 +01:00
Andrew Alderwick
ad4ff82138 Made Audio*/output return a minimum of 1 on a playing non-muted channel 2021-08-20 22:43:35 +01:00
Andrew Alderwick
e4416264e8 Remove opcode labels by default 2021-08-20 07:06:28 +01:00
Andrew Alderwick
c324881b90 Minor optimisation to uxnasm 2021-08-18 07:45:51 +01:00
neauoire
5167a103ec Fixed issue with null vectors 2021-08-17 19:30:34 -07:00
Andrew Alderwick
1b68169cee Merged LIT and BRK into opcode zero, added INC opcode 2021-08-17 22:48:48 +01:00
Andrew Alderwick
72356912e7 Filtered through clang-format 2021-08-17 20:34:21 +01:00
neauoire
fd907e87d6 writing nonzero to "halt" port halts the read() loop. 2021-08-17 08:57:10 -07:00
neauoire
acf6dcee48 Removed unused macro in console example 2021-08-16 18:45:27 -07:00
neauoire
1704e23b4d Fixed issue with uxncli debugger 2021-08-16 07:22:53 -07:00
neauoire
d111146eb6 Stack pointers can be written 2021-08-15 17:48:15 -07:00
Andrew Alderwick
107a59affa Rearranged POP, DUP, NIP opcodes 2021-08-15 21:34:33 +01:00
Andrew Alderwick
be360ffc1e Replaced NOP with NIP 2021-08-15 21:22:01 +01:00
Andrew Alderwick
e2190d84d8 Reverted "Removed OVR opcode and replaced with NIP" and uxn-fast.c update.
This reverts commits 1afe39fba4 and 3d3569bab7.
2021-08-15 21:07:32 +01:00
Andrew Alderwick
3d3569bab7 Updated uxn-fast.c 2021-08-15 20:05:19 +01:00
neauoire
1afe39fba4 Removed OVR opcode and replaced with NIP 2021-08-15 12:01:22 -07:00
Andrew Alderwick
7d8600c679 Fixed display being lost when window is resized 2021-08-08 22:47:25 +01:00
neauoire
d3c3ece6ca Removed PPU backward compatibility 2021-08-08 09:26:20 -07:00
Andrew Alderwick
0a69a3417d Updated mkuxn-fast to match uxn.c changes 2021-08-05 18:38:25 +01:00
neauoire
352ae83858 Moved some variables to defines 2021-08-04 20:30:57 -07:00
neauoire
44d584dfdb Re-added the stack bounds clamp 2021-08-04 20:14:53 -07:00
neauoire
59ea5c0a1a Added static to uxn opcodes 2021-08-04 20:06:46 -07:00
Andrew Alderwick
43b45ac698 Improved audio failure detection.
Now, audio-related failures in SDL_Init are caught too.
2021-08-03 23:25:13 +01:00
Andrew Alderwick
43ea2532e8 Made audio open errors into warnings
Varvara will continue to execute if SDL_OpenAudioDevice fails, but the
Audio devices will be disabled.
2021-08-03 23:05:48 +01:00
neauoire
de3591c07e Fixed issue with mouse zoom 2021-08-01 21:51:43 -07:00
Andrew Alderwick
a58ffb9828 Updated mkuxn-fast scripts 2021-08-02 06:51:51 +01:00
neauoire
b64570f827 Minor cleanup 2021-08-01 15:04:51 -07:00
neauoire
5d7151ab61 Cleaned up a few function names 2021-08-01 14:56:12 -07:00
neauoire
4f822f55f3 Prefixed uxn functions 2021-08-01 14:46:43 -07:00
Andrew Alderwick
5045a4ca52 Fixed uxn-fast.c 2021-08-01 22:40:14 +01:00
Andrew Alderwick
6e21f3aba0 Removed stdio dependency from uxn.c
Reimplementation of patch sent in by Marc Schraffenberger
<marc@schraffenberger.com>: thank you for the rationale and inspiration!
2021-08-01 22:17:48 +01:00
Marc Schraffenberger
b53add0ba4 Removed stdio include from uxn.h 2021-08-01 22:17:48 +01:00
neauoire
98f773c652 Removed unused hor/ver values 2021-08-01 11:38:04 -07:00
neauoire
be85023831 Prefixed function names with ppu 2021-08-01 11:33:43 -07:00
neauoire
6d8e06e879 Added alpha to blending table 2021-08-01 11:16:29 -07:00
neauoire
2d493c55bb Removed extra table 2021-08-01 11:08:02 -07:00
neauoire
b826d78a56 Pushed new blending modes 2021-08-01 11:00:07 -07:00
neauoire
f3b237f0f9 Optimization in putchr 2021-07-31 21:29:40 -07:00
neauoire
8a8de7f142 Simpler putchr(), not the best but.. 2021-07-31 17:00:25 -07:00
Andrew Alderwick
b327719e38 Reworked putpixel 2021-08-01 00:31:22 +01:00
Andrew Alderwick
555d38a8ef Added more color blending modes for chrs 2021-07-31 23:21:13 +01:00
Andrew Alderwick
4257f9818a Switched to indexed SDL_Surface using blit to window. 2021-07-31 19:46:27 +01:00
neauoire
319f5f9238 Removed mispaste code in ppu 2021-07-31 10:48:58 -07:00
neauoire
564b3207e7 Fixed issue with drawing functions 2021-07-31 10:47:51 -07:00
neauoire
8bf99e6d76 Changed the screen.tal colors to fit the Varvara docs 2021-07-30 20:10:26 -07:00
neauoire
d2c3d0e524 Started implementing the sprite port for the screen device 2021-07-30 19:23:02 -07:00
neauoire
486e79c48d screen_talk should not peek at addr when drawing a single pixel 2021-07-30 16:31:10 -07:00
neauoire
7f345428d6 Moved inspect in uxnemu.c 2021-07-30 14:38:08 -07:00
neauoire
2c78f2cedf Named System device 2021-07-28 20:20:57 -07:00
neauoire
b46d317b4f Added system device to uxncli 2021-07-28 15:41:07 -07:00
neauoire
7b7f4fd0f7 System now carries the debug flag, System/0xf is now stopping eval 2021-07-28 10:29:09 -07:00
neauoire
41eb23e2c2 Added missing boot function 2021-07-28 09:24:26 -07:00
neauoire
fa6b8a1769 Improved error messages 2021-07-24 17:09:46 -07:00
neauoire
c5b8595fb5 Reduced PAD, display usage:, and added 2 fonts 2021-07-24 10:27:27 -07:00
Andrew Alderwick
8855b96057 Started pausing the audio device when it's not in use 2021-07-17 10:13:21 +01:00
Andrew Alderwick
4622a8a061 Created working stack space in case of previous evaluxn overflow 2021-07-17 10:00:38 +01:00
Andrew Alderwick
7a865f25ac Switched all output to stderr in uxncli 2021-07-17 10:00:38 +01:00
Andrew Alderwick
d2627a7e46 Updated file_talk in uxncli 2021-07-17 10:00:38 +01:00
neauoire
3bfebc570d Made pop16 more robust 2021-07-15 19:52:37 -07:00
neauoire
c41ba2b1e2 Improved file-talk message 2021-07-11 18:55:09 -07:00
Andrew Alderwick
91fedff46d Extended Console to write to FD 2-8 (most useful for 2, stderr) 2021-07-11 17:54:30 +01:00
neauoire
dcdf618087 Improved piano example 2021-07-09 11:38:45 -07:00
neauoire
a399c81e2f New screen defaults 2021-07-07 10:51:12 -07:00
neauoire
ac416bb02f Make return pointer counter in inspect() more visible 2021-07-05 09:08:55 -07:00
neauoire
a1d00a2df7 Drawing inspect on fg so it can be erased 2021-07-05 09:06:32 -07:00
neauoire
eeb85bdcb1 Modified assembler errors 2021-07-03 20:24:36 -07:00
Sigrid Solveig Haflínudóttir
5e71c0bfc8 emu: start -> run, remove return type 2021-06-29 15:43:28 +02:00
Sigrid Solveig Haflínudóttir
d0fb331aa4 screenshot: one simple trick to reduce the file size 2021-06-29 10:09:42 +02:00
Sigrid Solveig Haflínudóttir
66c16be3a5 screenshot: add timestampp to the filename 2021-06-29 08:11:59 +02:00
Andrew Alderwick
eb8c803b35 Renamed function 2021-06-28 21:57:30 +01:00
Andrew Alderwick
7b5ad795f8 Switched from non-blocking read to thread and custom SDL event 2021-06-28 21:46:50 +01:00
neauoire
74fc816810 Flagged functions as static 2021-06-28 14:42:36 -07:00
neauoire
210be1f458 Added console changes to uxncli 2021-06-28 10:07:49 -07:00
neauoire
274edad29d Simplified console 2021-06-28 09:40:29 -07:00
Andrew Alderwick
e309ebf6e8 Updated uxncli to match uxnemu 2021-06-28 06:46:04 +01:00
neauoire
f8f2f66756 The console read byte is its own location 2021-06-27 16:42:47 -07:00
Andrew Alderwick
802aa51d54 Added Console/vector implementation with example 2021-06-27 21:45:50 +01:00
Andrew Alderwick
f334086721 Minor updates 2021-06-27 18:56:21 +01:00
Andrew Alderwick
ba50624994 Silenced warnings in debug build 2021-06-27 18:54:43 +01:00
neauoire
2566943659 Removed the noisy prints in the assembler 2021-06-27 10:03:09 -07:00
neauoire
952d022daa Modified console/char 2021-06-26 15:52:44 -07:00
neauoire
2197e35667 Route errors to stderr 2021-06-26 13:22:01 -07:00
neauoire
4e8375d8df Removed the Midi device 2021-06-26 13:17:41 -07:00
neauoire
08b64ec33c Implemented Midi device 2021-06-25 21:28:42 -07:00
Andrew Alderwick
8783bf12b2 Brought back portmidi with conditional compilation 2021-06-25 23:20:36 +01:00
neauoire
93e64c93e8 Trying to fix the ctrl+char issue 2021-06-25 09:21:11 -07:00
neauoire
617364916e Use F keys for emulator controls 2021-06-25 08:57:25 -07:00
Sigrid Solveig Haflínudóttir
38aa48b8bc remove chr2img (see https://git.sr.ht/~rabbits/chr-format instead) 2021-06-23 17:45:13 +00:00
Sigrid Solveig Haflínudóttir
80c8e75076 chr2img: shorten writebmp, explain bitmasks 2021-06-23 17:39:44 +02:00
Sigrid Solveig Haflínudóttir
62d809147b format chr2img.c, weirdly 2021-06-23 17:33:14 +02:00
Sigrid Solveig Haflínudóttir
c81650352b chr2img: port to Unix-like operating systems 2021-06-23 14:58:03 +00:00
Sigrid Solveig Haflínudóttir
99b75f2943 add chr2img for Plan 9 2021-06-23 13:45:02 +00:00
Andrew Alderwick
2d1c3aa965 Further fixes to keyboard handling 2021-06-20 22:38:45 +01:00
Andrew Alderwick
b3ffe598c4 Fix keyboard problems introduced in improvements
Handling of a lot of ordinary keys was broken, e.g. number row and
non-alphanumeric keys, especially with Shift.

I think what's broken has been fixed, but have reverted the improvement
that Controller/vector is only called once per keypress. Many keys cause
Controller/vector to be called twice, but only once with Controller/key
nonzero.
2021-06-20 22:21:37 +01:00
Andrew Alderwick
c268c7fd96 Various keyboard handling improvements
The Ctrl, Alt and Shift bits in Controller/button activate with either
left or right modifier keys, and either can be used to take screenshots
/ zoom / show debugging info rather than left modifiers only.

Delete now sets Controller/key to 0x7f rather than being ignored (by
setting Controller/key to 0x00).

Ctrl + letter now sets Controller/key to 0x01-0x1e rather than being
ignored: for example, Ctrl+S will set Controller/key to 0x13.

Controller/vector is no longer called twice per key press (the extra
call with Controller/key set to 0x00 is removed).
2021-06-19 14:04:09 +01:00
neauoire
7fe0750c17 Added return pointer position to debugger 2021-06-18 20:19:32 -07:00
Andrew Alderwick
b62a543679 Reworked H key handling into switch statement 2021-06-18 09:01:35 +01:00
neauoire
8d14b4bbc6 Fixed critical issue where a label/macro with more than 255 refs would vanish 2021-06-17 21:20:19 -07:00
neauoire
8d092bf1bc Give ids to labels and macros 2021-06-17 20:53:27 -07:00
neauoire
78c428d215 Improved uxnasm error report 2021-06-17 17:41:55 -07:00