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
neauoire
847728e7d4
Changed capture button
2021-06-11 07:03:48 -07:00
Andrew Alderwick
6f406eebfc
Removed lock/unlock for screenshot
2021-06-11 11:25:17 +01:00
Andrew Alderwick
acf517c422
Fixed order of unlock/save
2021-06-11 11:02:09 +01:00
Andrew Alderwick
52e0f9b29e
Used GetRendererOutputSize to get screenshot size
2021-06-11 09:56:14 +01:00
Andrew Alderwick
a11cbb458f
Added screenshot functionality, contributed by badd10de, thank you!
2021-06-11 09:18:52 +01:00
Andrew Alderwick
064f7745d4
Added reporting of division by zero errors rather than crashing
2021-06-08 22:58:02 +01:00
neauoire
54ece814de
Fixed error reports in assembler
2021-06-08 08:20:00 -07:00
neauoire
7b3d3505b5
Macro and label names cannot be blank
2021-06-08 08:09:03 -07:00
Andrew Alderwick
4bc3ce0d4b
Dropped SDL/ prefix in uxnemu.c
2021-06-08 15:57:00 +01:00
neauoire
31f18e1bdf
Check for valid hex in padding
2021-06-08 07:37:12 -07:00
Andrew Alderwick
d5b2bd9895
Revert "Removed second texture of PPU"
2021-05-30 23:15:37 +01:00
Andrew Alderwick
ffe142ea91
Removed second texture of PPU
2021-05-30 23:04:19 +01:00
neauoire
70edfce206
Unset mouse wheel after eval
2021-05-29 15:05:43 -07:00
neauoire
3276b370e8
Added a scroll wheel port to the mouse device
2021-05-29 15:01:19 -07:00
neauoire
17af020cc0
Restored frame size
2021-05-28 19:14:36 -07:00
neauoire
0183c05d37
Added piano samples in project
2021-05-28 12:37:59 -07:00
neauoire
0b2eb7bb44
Muted warnings
2021-05-26 10:16:42 -07:00
neauoire
d163c43201
Improved uxncli and moved all demos into examples
2021-05-26 10:02:13 -07:00
Andrew Alderwick
6d18549915
Formatted uxn-fast.c according to clang-format
2021-05-23 19:05:17 +01:00
Andrew Alderwick
aeddd9e0f5
Added src/uxn-fast.c generator script
2021-05-23 17:33:00 +01:00
Andrew Alderwick
3b70b23703
Reformatted ops to use consistent if-style
2021-05-23 16:50:50 +01:00
neauoire
d2d2340ee4
Added unrolled CPU
2021-05-23 08:41:41 -07:00
Andrew Alderwick
ea69dff8a8
Updated SFT2 to take byte for shift amount
2021-05-23 16:27:15 +01:00
neauoire
99721ecc55
Removed portmidi temporarily
2021-05-21 08:58:10 -07:00
Andrew Alderwick
15480b238a
Converted PPU to use two textures; moved padding to src/emulator.c
2021-05-19 23:17:58 +01:00
neauoire
229a0f0184
Fixed issue with ctrl/key
2021-05-19 12:23:20 -07:00
neauoire
8c1cf40cb1
Revert "ppu: keep track of modified rows and only redraw those in drawppu"
...
This reverts commit 3c64c8c1a4
.
2021-05-19 09:13:41 -07:00
Sigrid Solveig Haflínudóttir
3c64c8c1a4
ppu: keep track of modified rows and only redraw those in drawppu
2021-05-19 12:25:18 +00:00
Sigrid Solveig Haflínudóttir
b25e3e599d
calculate NOTE_PERIOD based on sampling rate (thanks asie)
2021-05-19 07:30:39 +00:00
Sigrid Solveig Haflínudóttir
74e8a59d2f
bench mode (disabled by default)
2021-05-19 07:29:00 +00:00
Sigrid Solveig Haflínudóttir
3d5e1e343f
call SDL_RenderSetLogicalSize to avoid manual coordinates adjustment based on zoom
2021-05-18 15:29:06 +02:00
Sigrid Solveig Haflínudóttir
e31612f0af
Revert "set render logical size (fixes zooming with npe)"
...
This reverts commit 21b78f2aed
.
That broke on non-Plan 9, so first figure out why this works fine in FT2, but not in Uxn.
2021-05-18 13:39:55 +02:00
Sigrid Solveig Haflínudóttir
21b78f2aed
set render logical size (fixes zooming with npe)
2021-05-18 08:18:43 +00:00
Andrew Alderwick
9a4328ccb5
Fixed printing filename after it can get overwritten
2021-05-18 07:23:23 +01:00
Andrew Alderwick
7132197ba5
Switched load/save print to state length actually loaded/saved
2021-05-16 11:00:53 +01:00
Andrew Alderwick
d56d900876
Reordered variable names on opcodes
2021-05-13 08:02:15 +01:00
neauoire
a4c8066043
Cleaned example files
2021-05-12 18:28:45 -07:00
Andrew Alderwick
76a38e3db9
Reworked pop8 and pop16 so they do not need offsets
2021-05-12 20:36:18 +01:00
neauoire
9164b7f9fe
Reverted patch to sft16
2021-05-12 12:13:28 -07:00
Andrew Alderwick
fd9612d656
Implemented keep opcode flag
2021-05-12 18:42:24 +01:00
neauoire
7f5c4e25e4
Moved devices in their own folders
2021-05-11 11:42:12 -07:00
neauoire
a206ed0b10
Renamed PEK/POK to LDZ/STZ
2021-05-11 11:14:52 -07:00
neauoire
8630028e97
JNZ is now JCN
2021-05-11 11:12:07 -07:00
neauoire
12550c3703
Fixed issue with midi
2021-05-08 07:59:03 -07:00
neauoire
73deb679f3
Optimized piano example
2021-05-04 10:57:57 -07:00
Andrew Alderwick
6829863d6d
Changed samples from s8 to u8 format
2021-05-04 08:32:22 +01:00
neauoire
f5fb9714e4
*
2021-05-03 09:57:39 -07:00
neauoire
993719818a
Removed LTS/GTS opcodes
2021-05-01 09:59:57 -07:00
neauoire
baa2f2450f
Rewriting polycat
2021-04-30 12:08:24 -07:00
Andrew Alderwick
e8c70d954a
Fixed orientation of chr sprites
2021-04-29 23:05:38 +01:00
Andrew Alderwick
f74cfa89eb
Updated debugger with latest device offsets and vectors
2021-04-29 20:11:50 +01:00
neauoire
49182d1335
Added mirroring to the PPU
2021-04-29 10:10:07 -07:00
neauoire
3d5e7f7e48
Fixed PPU
2021-04-28 13:17:11 -07:00
Andrew Alderwick
f7506a41c7
Added stack pointer position readouts to system device
2021-04-27 21:10:58 +01:00
Andrew Alderwick
d343865471
Added position readout to audio devices
2021-04-27 21:03:38 +01:00
neauoire
67dfbc1a63
Ported audio examples to 4 channels
2021-04-26 20:55:51 -07:00
Andrew Alderwick
2b536a7a8e
Minor fix
2021-04-26 22:13:10 +01:00
Andrew Alderwick
f90a97386c
Splitted audio device into four
2021-04-26 20:16:41 +01:00
Andrew Alderwick
833f0acc20
Made room for multiple audio devices
2021-04-26 20:16:41 +01:00
neauoire
9c218db857
Added midi device
2021-04-25 19:50:45 -07:00
Andrew Alderwick
d01eb6cc45
Added currently playing volume readout
2021-04-25 21:52:50 +01:00
Andrew Alderwick
de53a6c95f
Reduced instrument volume by 2/3 to help avoid clipping
2021-04-25 18:05:37 +01:00
Andrew Alderwick
8c958d94a7
Moved from Uint16 to Sint8 audio sample data type
2021-04-25 18:04:59 +01:00
Andrew Alderwick
d892f29ea1
Implemented sample-based synth for APU
2021-04-25 15:12:45 +01:00
neauoire
38a9be86c2
Fixed color swatch in nasu
2021-04-24 21:18:15 -07:00
neauoire
19157a9ae1
Removed templating macros in assembler
2021-04-24 17:12:25 -07:00
neauoire
72b0458745
Removed refresh port in datetime
2021-04-24 10:26:09 -07:00
neauoire
2eb18b06a2
Device events can now fire on read
2021-04-24 10:15:47 -07:00
neauoire
5c5b767eaf
Working toward bidirectional talk between devices and program
2021-04-24 09:43:30 -07:00
Andrew Alderwick
fa2d290351
Made poke functions return void.
2021-04-24 09:13:03 +01:00
Andrew Alderwick
75142397b8
Raised label limit to compile noodle
2021-04-23 15:42:07 +01:00
neauoire
1b4623be1b
Templated examples
2021-04-22 19:57:47 -07:00
neauoire
dad55324aa
Progress on macros experiments
2021-04-22 15:57:40 -07:00
neauoire
62e3d75883
Added better templating
2021-04-22 14:29:48 -07:00
Sigrid Solveig Haflínudóttir
9c3536bca8
ppu: rename draw → drawppu to avoid conflicts on Plan 9
2021-04-22 18:04:06 +00:00
Andrew Alderwick
e7f234f55b
Reinstated check for labels in zero page
2021-04-21 21:01:50 +01:00
neauoire
c0b337e933
ported dvd animation
2021-04-21 12:00:31 -07:00
neauoire
743eaef47a
Ported some of the examples to the new accessors
2021-04-21 11:12:42 -07:00
neauoire
276e5086db
Implemented PEK/POK/GET/PUT
2021-04-21 10:23:58 -07:00
Andrew Alderwick
ef94053723
Allow device memory offsets in assembler
2021-04-21 13:45:17 +01:00
Andrew Alderwick
400c49e96b
Fixed file_poke
2021-04-21 13:37:41 +01:00
Andrew Alderwick
bbf05cb4ec
Minor code cleanup
2021-04-21 12:58:05 +01:00
neauoire
526650f079
Removed extra param in poke functions
2021-04-20 21:29:18 -07:00
neauoire
02993229ee
Removed access to uxn to devpeek/devpoke
2021-04-20 21:21:31 -07:00
neauoire
6a1bf9215d
Removed genpoke macros
2021-04-20 20:38:15 -07:00
neauoire
c9e35a5ad8
Revert "Tiny fix to PPU"
...
This reverts commit 9c4df35174
.
2021-04-20 20:09:10 -07:00
neauoire
9c4df35174
Tiny fix to PPU
2021-04-20 20:06:30 -07:00
neauoire
a4e54062b8
Merged sandwich
2021-04-20 17:11:02 -07:00
Andrew Alderwick
751d198606
Fixed file memory location
2021-04-20 23:05:27 +01:00
Andrew Alderwick
cdfcb5ae0a
Small changes to simplify code
2021-04-20 22:56:59 +01:00
Andrew Alderwick
04f48ec02b
Added memory to individual devices.
2021-04-20 22:49:10 +01:00
Andrew Alderwick
f06a600231
Implemented : for ; without LIT2
2021-04-20 21:05:34 +01:00
Andrew Alderwick
65c3a72730
Stripped zero bytes at end of assembled ROM
2021-04-20 20:56:43 +01:00
neauoire
a293c1daa8
Ported the hello-world example
2021-04-20 11:32:26 -07:00
neauoire
cda9b0bce8
Implemented IOR/IOW
2021-04-20 10:31:50 -07:00
neauoire
716d048906
Working example for dev.control
2021-04-19 21:33:52 -07:00
neauoire
50b11f12ca
Removed magic helpers
2021-04-19 21:00:14 -07:00
neauoire
d8957cb7bf
*
2021-04-19 17:24:04 -07:00
neauoire
82f7103a55
Started migrating to new assembler
2021-04-19 17:23:30 -07:00
neauoire
d61e724d48
LIT is now 0x01
2021-04-19 09:51:52 -07:00
neauoire
6a6b6e9d93
Minor cleanup in assembler
2021-04-19 09:29:39 -07:00
Andrew Alderwick
031fe3fb26
Improved timing of audio synth
2021-04-16 11:02:04 +01:00
neauoire
d1fc6c1860
Added blending mode to nasu
2021-04-15 10:19:59 -07:00
Andrew Alderwick
f7f4c78534
Removed reptition in file_poke
2021-04-14 21:56:50 +01:00
Andrew Alderwick
fc4e2e2876
Dropped File.vector, add File.result short
2021-04-14 20:38:32 +01:00
Andrew Alderwick
253c2b8906
Made Audio.value unsigned
2021-04-13 21:54:18 +01:00
Andrew Alderwick
43cde08b68
Audio.pitch MSB must be 1 to use current synth
2021-04-13 21:52:54 +01:00
Andrew Alderwick
2ea85815f6
Changed audio sample frequency to 44.1 kHz
2021-04-13 21:50:49 +01:00
neauoire
f3e58adc03
Implemented file vectors in nasu/noodle
2021-04-13 12:29:36 -07:00
neauoire
56a3a993f4
Added graphical example to file device
2021-04-13 11:38:22 -07:00
neauoire
ff81d21b08
Progress on orca
2021-04-12 21:16:31 -07:00
neauoire
359c373d68
Removed overdrawing in PPU
2021-04-11 20:38:21 -07:00
neauoire
01dbf400db
Removed warning
2021-04-11 09:58:47 -07:00
neauoire
3cd7be7eb5
Removed duplicate function in ppu
2021-04-10 22:00:49 -07:00
neauoire
86a52e1091
Fixed issue with controller.key
2021-04-10 20:55:31 -07:00
neauoire
ad19620b82
Merged ctrl with text
2021-04-10 19:39:32 -07:00
neauoire
98c32fd95c
Improved blending for chr parsing
2021-04-10 12:25:37 -07:00
neauoire
c1c0f8f2bc
Improved picture example
2021-04-10 12:19:38 -07:00
neauoire
131157cd53
Fixed issue with mouse button not being released
2021-04-10 11:24:38 -07:00
neauoire
05d9405e7a
Microscopic optimizations
2021-04-10 09:32:14 -07:00
neauoire
a2ed617fc8
Fixed audio device port id
2021-04-09 13:47:58 -07:00
neauoire
d6036dec6b
Revamped the screen example
2021-04-09 12:15:38 -07:00
neauoire
ffded2f642
Merged sprite in screen device
2021-04-09 10:01:53 -07:00
neauoire
79949be735
Minor cleanup
2021-04-09 08:02:55 -07:00
neauoire
f2509f13f4
Removed zoom and debugger from PPU
2021-04-09 07:30:45 -07:00
neauoire
5334e5cfa0
Progress on orca
2021-04-08 22:00:06 -07:00
neauoire
9dda5bdf1b
Removed unused function call in emu
2021-04-08 16:47:38 -07:00
neauoire
169e659ab8
Minor cleanup
2021-04-08 16:30:44 -07:00
Andrew Alderwick
9df5bb924b
Made devapu static to emulator.c
2021-04-08 21:22:27 +01:00
Andrew Alderwick
f76f8cf6ef
Added apu.h to clang-format
2021-04-08 21:21:46 +01:00
Andrew Alderwick
59f5fbf4f1
Returned SDL calls from apu.c to emulator.c
2021-04-08 21:14:40 +01:00
neauoire
530ff4bef2
Removed old rect data from the PPU
2021-04-08 10:06:17 -07:00
neauoire
69f770f56f
Removed some globals
2021-04-08 09:59:45 -07:00
neauoire
c9ddd01696
Added keyboard controls to dev.audio
2021-04-07 21:01:36 -07:00
neauoire
63fa4242c3
Minor cleanup
2021-04-07 20:30:10 -07:00
neauoire
33a660aef8
Moved some extra things into PPU
2021-04-07 17:42:30 -07:00
neauoire
31a9e3d64c
Started moving PPU into its own file
2021-04-07 17:32:18 -07:00
Andrew Alderwick
21f7c0d966
Fix return in wrong place
2021-04-07 22:46:52 +01:00
Andrew Alderwick
f3bf1a74db
Added Uxn-based synth
2021-04-07 21:57:17 +01:00
neauoire
09571b1084
Starting Orca
2021-04-06 21:34:11 -07:00
neauoire
2e3cfff210
Porter more examples to the new vectors
2021-04-05 13:27:43 -07:00
neauoire
364ba49da8
Ported screen example to new vectors
2021-04-05 13:14:37 -07:00
neauoire
3f98a2a832
Ported keys example to new vectors
2021-04-05 13:00:55 -07:00
neauoire
3d8ddc143a
Each device now has its own vector
2021-04-05 11:39:08 -07:00
neauoire
818ade6db1
Fixed emulator frame bug
2021-04-04 20:58:47 -07:00
neauoire
3dafa868cb
Minor cleanup
2021-04-04 20:35:52 -07:00
neauoire
7529e119cd
Removed status byte in CPU
2021-04-04 20:24:11 -07:00
neauoire
3ca4fb6b42
Clamp at 60fps
2021-04-04 11:47:13 -07:00
neauoire
98da3cbe31
Tiny optimization
2021-04-04 10:03:20 -07:00
neauoire
ab889172cf
Merged lit counter with status flag
2021-04-04 09:37:00 -07:00
neauoire
18a48a28c5
Starting to remove the lit counter
2021-04-04 09:17:30 -07:00
neauoire
e791dbd640
Removed old devices and counters bytes
2021-04-04 08:34:18 -07:00
neauoire
dcfb6fb5bf
Do not trigger on asdr change
2021-04-03 20:29:00 -07:00
neauoire
739b13c1e3
Flipped the ch vol/pitch ports
2021-04-03 17:17:40 -07:00
neauoire
eb3026cde0
Adding notes to audio track is working
2021-04-02 19:19:31 -07:00