Devine Lu Linvega
00ed056e51
(uxnasm) Added support for label sized pads
2023-04-04 20:02:33 -07:00
Devine Lu Linvega
3b10969f9e
Fixed issue where a screen redraw might occur after it has been unset
2023-04-02 20:27:15 -07:00
Devine Lu Linvega
8b43d0d7ae
Removed redundant pixel param from screen routines
2023-03-27 08:38:54 -07:00
Sigrid Solveig Haflínudóttir
8a3c86a879
core: in plan 9 C it does not wrap around, fix the crash
2023-03-20 16:29:46 +00:00
Sigrid Solveig Haflínudóttir
37afbc25fb
file: sprintf → snprintf
2023-03-20 16:58:45 +01:00
Sigrid Solveig Haflínudóttir
562153d09e
fix a few long-standing compilation warnings
2023-03-20 16:58:09 +01:00
Devine Lu Linvega
e386c3aeaa
Fixed issue with Windows builds
2023-03-19 14:12:14 -07:00
Deadly Headshot
05fd9771ca
A more elegant solution to the Windows bugs in filepaths and MinGW compilation
2023-03-19 14:11:42 -07:00
Devine Lu Linvega
7d66d81e63
Fixed issue with datetime mask
2023-03-17 21:45:03 -07:00
Devine Lu Linvega
4f9b375895
Fixed issue with device deo mask in uxnemu
2023-03-14 12:40:31 -07:00
Andrew Alderwick
c701b95541
Detect stack overflows with greater than 255 bytes.
2023-03-13 06:04:33 +00:00
Andrew Alderwick
4464b1ec56
Correct SET values for NIP.
2023-03-13 06:03:44 +00:00
Devine Lu Linvega
b68af3d173
Replaced macros in PUT2/PUSH2
2023-03-12 18:29:08 -07:00
Devine Lu Linvega
1de2cea576
Ordered the SWP writes
2023-03-12 16:15:27 -07:00
Devine Lu Linvega
3ecbfe5e03
Make use of macros in PUT/PUSH
2023-03-12 15:54:20 -07:00
Devine Lu Linvega
4e77d3d5ae
Renamed PEEK16/POKE16 to PEEK2/POKE2
2023-03-12 15:25:52 -07:00
Devine Lu Linvega
43ce262a07
Moved opcodes side-by-side
2023-03-12 15:16:10 -07:00
Devine Lu Linvega
6c068b7774
Removed device page from addressable memory
2023-03-12 14:56:44 -07:00
Devine Lu Linvega
bdd071cab4
Archived old core
2023-03-12 14:49:58 -07:00
Devine Lu Linvega
13ab0e5d95
Temporarily override uxn.c with fast until I can port the devices macros
2023-03-11 23:00:32 -08:00
Sigrid Solveig Haflínudóttir
8420c81d52
system.h: no need to redefine the same macro
2023-03-12 02:39:20 +01:00
Devine Lu Linvega
75af0e3cad
Removed redundant mask in SFT opcode
2023-03-08 09:25:55 -08:00
Devine Lu Linvega
c4856aabf0
Added missing ports in device mask
2023-03-07 19:48:24 -08:00
Devine Lu Linvega
77c8e82419
Moved dei/deo masks into emulators
2023-03-06 10:36:24 -08:00
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
~d6
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