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