0
0
Fork 0
mirror of https://git.sr.ht/~rabbits/uxn synced 2024-11-17 19:45:11 +00:00
Commit graph

1014 commits

Author SHA1 Message Date
Devine Lu Linvega
76be67efa0 (uxn-fast.c) Housekeeping 2023-03-06 08:40:00 -08:00
Devine Lu Linvega
d08efece3d (uxn-fast.c) Removed redundant macro 2023-03-06 08:31:08 -08:00
Devine Lu Linvega
2c20d282a8 (uxn-fast) Standardized STH opcodes 2023-03-05 11:35:53 -08:00
Devine Lu Linvega
9f4231c59a (uxn-fast) Housekeeping 2023-03-05 11:33:33 -08:00
Devine Lu Linvega
3da461e14d (uxn-fast) Housekeeping 2023-03-05 11:31:37 -08:00
Devine Lu Linvega
211c4afa2d (uxn-fast) Use macros for STH 2023-03-05 11:29:58 -08:00
Devine Lu Linvega
8ae1c191d7 (uxn-fast.c) Removed function pointers, instead use exterm 2023-03-05 10:44:23 -08:00
Devine Lu Linvega
3190cf3238 Catch overflow in lit opcodes 2023-03-05 10:02:26 -08:00
Devine Lu Linvega
268ec45780 (Screen) Use fast timer if vector short is set 2023-03-04 11:07:11 -08:00
Devine Lu Linvega
3457f665a7 Use device masks for DEI 2023-03-04 10:51:23 -08:00
Devine Lu Linvega
aeceaf75bf Removed file dei event 2023-03-03 21:04:26 -08:00
Devine Lu Linvega
9ac7f06fde (uxn-fast) Housekeeping 2023-03-03 20:47:20 -08:00
Devine Lu Linvega
4cacc0d26b Removed unused deo param 2023-03-03 20:37:43 -08:00
Devine Lu Linvega
8f979ec0fe Use uxn-fast in bug until the callback masks are ported 2023-03-03 12:02:42 -08:00
Devine Lu Linvega
32539d02a9 Added file device mask 2023-03-03 11:16:24 -08:00
Devine Lu Linvega
6eac5226e1 (bunnymark) Ported to immediate opcodes 2023-03-03 11:03:38 -08:00
Devine Lu Linvega
895bfc8675 (mandelbrot.tal) Migrated to immediate opcodes 2023-03-02 20:45:19 -08:00
Devine Lu Linvega
617e3d1f41 (uxn-fast) Added overflow error 2023-03-02 19:47:24 -08:00
Devine Lu Linvega
61393d0d83 (uxn-fast) First draft 2023-03-02 16:37:14 -08:00
Devine Lu Linvega
8c4b1b0592 Use switch for console_deo 2023-03-01 12:04:05 -08:00
Devine Lu Linvega
ea0d81a9b1 (uxnasm) Fixed refs limit check 2023-03-01 11:46:44 -08:00
Devine Lu Linvega
96a19b4887 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2023-03-01 11:31:10 -08:00
Devine Lu Linvega
dae025af20 Date and Screen devices DEI do no need device ptr 2023-03-01 11:28:14 -08:00
Andrew Alderwick
075747f2bd Address compiler warning about switch case falling through. 2023-03-01 19:24:18 +00:00
Andrew Alderwick
d12b948e82 Remove unitialised memory. 2023-03-01 19:23:13 +00:00
Devine Lu Linvega
abd7ab403e Removed POKDEV 2023-03-01 10:53:44 -08:00
Devine Lu Linvega
486a60b1bd Removed PEKDEV macro 2023-03-01 10:49:25 -08:00
Devine Lu Linvega
53f3c18dcf Removed GETVEC macro 2023-03-01 10:42:03 -08:00
Devine Lu Linvega
87de244d37 Replaced some macros 2023-03-01 10:35:42 -08:00
Devine Lu Linvega
18de47cc1c Fixed issue with out-of-screen painting 2023-02-28 21:54:52 -08:00
Devine Lu Linvega
85df5f2d36 (uxnasm) Fixed issue with makeref() 2023-02-28 21:47:45 -08:00
Devine Lu Linvega
bd01e71c35 Sprite wipe helper 2023-02-28 20:54:32 -08:00
Devine Lu Linvega
5709511c7e (screen.c) Do not shift a zero in 1bpp 2023-02-28 19:34:13 -08:00
Devine Lu Linvega
3818720eb2 Removed opacity lut 2023-02-28 17:00:21 -08:00
Devine Lu Linvega
91386f4832 (uxn.c) Housekeeping 2023-02-26 14:28:50 -08:00
Devine Lu Linvega
254f0031e5 (uxn.c) Housekeeping 2023-02-26 13:07:48 -08:00
Devine Lu Linvega
c6110a50d5 Removed param in PUSH() macro 2023-02-26 09:55:39 -08:00
Andrew Alderwick
f07775a9a2 (file device) Fix buffer overflow. 2023-02-17 21:39:14 +00:00
Devine Lu Linvega
60080d8fe8 (file device)Add / suffix to folder names 2023-02-17 10:08:00 -08:00
d_m
c61be654d6 Pass through more keysyms when control is pressed. 2023-02-14 18:33:51 -08:00
Devine Lu Linvega
1014229b8c (uxncli)Use System/halt as exit code 2023-02-13 09:33:57 -08:00
Sigrid Solveig Haflínudóttir
c11dcc3771 remove nonsense return 0 2023-02-07 12:08:17 +00:00
Devine Lu Linvega
9f4e85b1b3 Named arguments in system_cmd 2023-02-02 10:40:47 -08:00
Devine Lu Linvega
36a70ed605 Protect system_cmd from reading out of bounds 2023-02-02 10:20:19 -08:00
Devine Lu Linvega
33d6ef8cd2 Reversed arguments in system loader 2023-02-02 09:35:05 -08:00
Devine Lu Linvega
0dcc3b4c2e Simplified system_cmd 2023-01-31 09:49:32 -08:00
Devine Lu Linvega
e20b572c20 Moved all system memory functions into system.c 2023-01-31 09:38:06 -08:00
Andrew Alderwick
5538e539d2 Minor optimisation. 2023-01-31 17:11:54 +00:00
Andrew Alderwick
9d9d094e6a Bare minimum changes to get Windows builds running again. 2023-01-31 17:05:01 +00:00
Devine Lu Linvega
0aa4aeff41 Load rom in chunks of 64kb 2023-01-28 18:38:37 -08:00
Devine Lu Linvega
390ae8138a Extend loaded rom size 2023-01-28 15:05:24 -08:00
Devine Lu Linvega
fd84ff44d7 Initial draft for MMU 2023-01-28 14:45:31 -08:00
Devine Lu Linvega
22797644b5 Returned to simpler run function 2023-01-28 10:54:54 -08:00
Devine Lu Linvega
b894ba4c57 Fixed issue with screen vector run 2023-01-27 09:36:04 -08:00
Devine Lu Linvega
63108c178a Tighter run 2023-01-26 10:56:14 -08:00
Devine Lu Linvega
b5fa665cdb Reduce refresh requests without screen vector 2023-01-26 09:35:56 -08:00
Devine Lu Linvega
e327373950 Increased refs limit 2023-01-21 18:24:11 -08:00
Devine Lu Linvega
cfeeb85712 Catch invalid sublabels 2023-01-14 15:08:40 -08:00
Devine Lu Linvega
ffb0a9c9bc (uxnasm.c) Auto-start at 0x100 2023-01-13 10:14:20 -08:00
Devine Lu Linvega
fad574816d Removed errcode from stacks 2023-01-12 20:35:42 -08:00
Devine Lu Linvega
bc26d9d60d (uxn.c) Removed mask to LDR and write in Uint16 var instead 2023-01-12 19:00:54 -08:00
Devine Lu Linvega
c7d574b230 (uxn.c) Unallow LDR/STR to reach outside of ram 2023-01-12 18:47:19 -08:00
Devine Lu Linvega
a5442ea4fd (uxn.c) Swapped JMI/JCI 2023-01-12 09:44:27 -08:00
Devine Lu Linvega
5e1c896554 (uxnasm) endian-agnostic handling of symbols file writing 2023-01-12 08:40:33 -08:00
Andrew Alderwick
f202944566 Make JMI, JCI and JSI relative. 2023-01-12 13:22:21 +00:00
Andrew Alderwick
7490666878 (uxnasm) Simplify handling of references. 2023-01-12 13:15:07 +00:00
Andrew Alderwick
230e8dda34 Optimize opcode 0 handling. 2023-01-12 13:02:04 +00:00
Devine Lu Linvega
e0c2da0700 (uxnasm) Use correct address in symbol export 2023-01-11 21:01:56 -08:00
Devine Lu Linvega
d5d6a7a186 Removed DEO masks, already fed to Uint8 expecting function 2023-01-09 15:54:05 -08:00
Devine Lu Linvega
a1bc00ce5f (uxnasm) Fixed buffer overflow in tokenizer 2023-01-07 11:59:00 -08:00
Devine Lu Linvega
4e68dc7753 Fixed crash vector where STR/LDR can access outside of bounds 2023-01-07 11:31:03 -08:00
Devine Lu Linvega
6cbe51b4ab (uxn.c)Use same macro format sequence for all CALL opcodes 2023-01-03 11:17:55 -08:00
Devine Lu Linvega
9b8cd748ad Faster CALL opcodes 2023-01-03 10:48:17 -08:00
Devine Lu Linvega
0e7137e016 (uxnasm) Experimental implementation of JM/JC/JS runes 2023-01-02 17:45:06 -08:00
Devine Lu Linvega
5b6aad6be2 Clearer routing of LIT/CALL opcodes 2023-01-02 13:11:52 -08:00
Devine Lu Linvega
cc2b2e77b0 Merge branch 'main' of git.sr.ht:~rabbits/uxn 2023-01-02 09:50:57 -08:00
Devine Lu Linvega
491e4b7435 Returned the k variable in uxn core 2023-01-02 09:50:09 -08:00
Andrew Alderwick
5cacb3f241 Fix macOS build. 2023-01-02 15:23:28 +00:00
Andrew Alderwick
d94a84bc93 Port Audio to new devices scheme. 2023-01-02 15:01:55 +00:00
Andrew Alderwick
c2b0667496 Update Copyright years. 2023-01-02 14:40:23 +00:00
Devine Lu Linvega
a450959e9f Removed extraneous j variable 2023-01-01 18:26:28 -08:00
Devine Lu Linvega
6d0b51fa7f Added support for CALL 2023-01-01 18:03:36 -08:00
Devine Lu Linvega
22cbd38fab Do not check twice for short mode in LIT opcode 2023-01-01 16:44:18 -08:00
Devine Lu Linvega
48596a6ee7 Removed PEEK16 macro 2023-01-01 16:22:37 -08:00
Devine Lu Linvega
7f275772ef Added HALT macro 2023-01-01 16:21:05 -08:00
Devine Lu Linvega
5ac6ff4313 All devices but audio ported to new devices scheme 2023-01-01 16:13:34 -08:00
Devine Lu Linvega
2fb5f560a7 Use the File device load_rom function 2023-01-01 14:18:27 -08:00
Devine Lu Linvega
794ce1bdfd Housekeeping 2023-01-01 13:40:58 -08:00
Devine Lu Linvega
bf4ee03d27 Ported screen to new device 2023-01-01 13:34:20 -08:00
Devine Lu Linvega
7afe1f39c7 Screen device is half ported to new device handlers 2023-01-01 13:19:40 -08:00
Devine Lu Linvega
679aec047a Device memory is not a member of ram 2023-01-01 12:21:30 -08:00
Devine Lu Linvega
68d706be25 Will connect devices to devold while I migrate to new router 2023-01-01 12:12:59 -08:00
Devine Lu Linvega
0fd68e96f0 Connecting new device ports to uxn core 2023-01-01 12:04:54 -08:00
Devine Lu Linvega
d1ca328b98 Removed devmouse and devctrl globals 2023-01-01 11:47:52 -08:00
Devine Lu Linvega
9aefeebf25 Removed Device struct from controller device 2023-01-01 11:37:34 -08:00
Devine Lu Linvega
062bbac37d Removed Device struct from mouse device 2023-01-01 11:31:14 -08:00
Sigrid Solveig Haflínudóttir
6317b5cf18 fix uxnasm: missing semicolon 2022-12-11 04:54:58 +01:00
neauoire
c97aa87faf (uxnasm)Allow more space for symbols filename, and check for length 2022-12-10 11:07:45 -08:00
neauoire
2f3954d398 Uxnasm should use BE to store addresses 2022-12-09 12:52:34 -08:00
neauoire
d4c55e2f48 Uxnasm now outputs a symbols file 2022-12-09 12:30:04 -08:00
neauoire
c8fc397054 Relaunch boot rom if launcher is not found 2022-11-11 21:12:30 -08:00
neauoire
f59b214ac1 Added _rune 2022-11-10 20:54:53 -08:00
neauoire
da5e581442 (uxnasm) Fixed issue with = rune 2022-11-09 16:40:07 -08:00
neauoire
261b574671 (uxnasm) Added support for = and - runes 2022-11-09 16:21:07 -08:00
Devine Lu Linvega
24285d1d5d Fixed issue with monochromatic 2022-09-15 11:12:57 -07:00
Devine Lu Linvega
ac6e4fed10 Toggle monochromatic mode 2022-09-15 09:11:20 -07:00
Devine Lu Linvega
f348d24606 Removing rawchr run 2022-08-14 12:06:23 -07:00
Devine Lu Linvega
ef30fb8f8e Removed JSR JMP2r tail-call optimisations for now 2022-08-06 11:05:16 -07:00
Andrew Alderwick
fb030288f9 Disable execution timeouts for now.
This is a quick hack to disable the execution timeout, while still
making the application able to exit if the window is requested to close.
Execution limits may be reintroduced with more debugging features, but
not enabled by default.
2022-06-13 09:15:20 +01:00
Andrew Alderwick
04352a8c89 Switch back to single thread for handling redraws.
This reverts commit a283264df2 while
keeping the enhancements made later on (detection of overlong
execution).

This change fixes compatibility for learn-uxn and current npe.
2022-06-10 07:58:29 +01:00
Andrew Alderwick
978713474a (uxnasm) Prevent tail call optimisation when required, fixes asma
Literals do not get squashed across absolute or relative pads and
labels, now the tail call optimisations do not occur under the same
conditions. etc/asma-test.tal was identifying serious errors with
asma.rom, which uses "JSR2 &skip JMP2r" in @asma-macro-body.
2022-06-07 20:03:12 +01:00
Andrew Alderwick
0ff2a3586d Deal with compiler warnings. 2022-06-07 19:39:43 +01:00
Devine Lu Linvega
0fafd652f1 (uxnasm) Better parent label reference counting 2022-06-06 09:42:26 -07:00
Devine Lu Linvega
bf81d07113 (uxnasm)Quiet label warnings with sublabels 2022-06-06 07:57:29 -07:00
phoebos
a014cd8da9 (uxnasm) only ignore [ or ] if it is a whole token
Currently, tokens beginning with a [ or ] character are completely
ignored, which forbids a macro from beginning with these characters.
Specifically, a macro can be declared eg. as `%[x { ... }` but cannot be
dereferenced as `[x`.
This patch only ignores these tokens if they have a length of 1;
otherwise the switch falls through to the default case.
2022-06-05 16:29:06 -07:00
Andrew Alderwick
eb8c496feb Revert "Fix for hanging on quit", replacing it with improved code 2022-06-03 22:42:54 +01:00
Devine Lu Linvega
17fd40af43 (uxnasm) Minor cleanup 2022-05-31 14:04:54 -07:00
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