1
1
Fork 0
mirror of https://github.com/QB64-Phoenix-Edition/QB64pe.git synced 2024-08-04 21:10:24 +00:00
Commit graph

72 commits

Author SHA1 Message Date
SteveMcNeill
6f3cabcbdc Bug fix for CONST Blink with $NOPREFIX 2023-09-03 21:41:58 -04:00
RainRat
3914037c0f fix typos 2023-04-30 15:20:42 -07:00
Matthew Kilgore
2b3403745c Add initial MIDI language support
This adds MIDI support to the language as a new unstable feature. There
are two new metacommands that come with this:

$Unstable: Midi
$MidiSoundFont: [Default|"filename"]

The $Unstable command is required to be able to use any of the other
commands, and just signifies that this is not a full part of the
language yet and may change in breaking ways before the API is
finalized.

The $MidiSoundFont command enables MIDI support in the compiled program,
and also specifies what sound font to use to play MIDI files. "Default"
will make use of the soundfont placed at
'./internal/support/default_soundfont.sf2', and otherwise a filename can
be specified to use any soundfont wanted.

In either case, the selected sound font is compiled into the executable
and then loaded at runtime.

Fixes: #115
2022-09-04 23:35:14 -04:00
SteveMcNeill
aed82b4979 $Color fix with $NoPrefix
There's no need for all colors to end up with a new prefix for use between $COLOR and $NOPREFIX.
The only conflicts we have are with _Red, _Green, _Blue, so this fix appends a NP_ to the front of the those three color names so they won't conflict with the command names.  (NP_ for NoPrefix_)
2022-04-28 17:20:45 -04:00
Fellippe Heitor
7bad19cb94 Update vwatch.bm so qb64.bas can be debugged 2022-02-22 23:39:00 -03:00
Kit
72126a1289
Make $NOPREFIX-friendly versions of $COLOR includes (#206)
* Create `$NOPREFIX`-friendly version of `color0.bi`

* Create color32_noprefix.bi

* add conditional for noprefix $color

* oh. it was that easy?

* Update CHANGELOG.md

* Update help files [ci-skip]

Co-authored-by: all-other-usernames-were-taken <74026992+all-other-usernames-were-taken@users.noreply.github.com>
2021-11-05 01:46:28 -03:00
FellippeHeitor
45fed463da Fix $Debug in Windows versions prior to 10 2021-10-17 01:51:28 -02:00
FellippeHeitor
69444a6864 Allow "quotes" around watchpoint string conditions 2021-09-29 22:08:02 -03:00
FellippeHeitor
6befb6faa0 Fix how _FLOAT is dealt with ($Debug).
Turns out QB64 promises to store all _FLOATs using 32 bytes.
I imagine that is how Galleon planned for eventually storing
larger floating point numbers, but, as it's been observed,
_FLOAT are actually `long double` variables, so they take up
16 bytes. This not a problem for regular variables, but it
does take a toll for arrays, as values are actually stored
as a sequence of 16-byte numbers.

This patch is a hack. But so is FLOAT right now.
2021-09-28 03:38:24 -03:00
FellippeHeitor
765b77c9bb Fix watchpoints for fixed-length strings in UDTs. 2021-09-28 01:52:16 -03:00
FellippeHeitor
602a32d3ba Fix watchpoints for strings in UDTs. 2021-09-28 01:24:30 -03:00
FellippeHeitor
a157eb5f30 Switches focus to the IDE when an error is trapped. 2021-09-24 00:59:11 -03:00
FellippeHeitor
f680e6bda0 Minor fix in vwatch.bm (signed vs unsigned) 2021-09-20 22:52:19 -03:00
FellippeHeitor
3e498df414 Fixes watching/sending values for _BIT arrays. 2021-09-20 22:04:24 -03:00
FellippeHeitor
3be8a806f8 Fixes watchpoints for strings 2021-09-18 19:30:55 -03:00
FellippeHeitor
ce16f79f04 Improves visual indication of existing watchpoints. 2021-09-18 16:35:14 -03:00
FellippeHeitor
a67dccae5b Allows setting watchpoints regardless of scope.
Adds "Clear Watchpoint" functionality.
Allows watching more than one array index/element.
2021-09-16 22:49:43 -03:00
FellippeHeitor
833e28aaf3 Removes test print lines. 2021-09-16 00:40:07 -03:00
FellippeHeitor
926b631f3b Implements watchpoints. 2021-09-16 00:04:20 -03:00
FellippeHeitor
17a116b19d Adapts "Send Value" to work with multiple array dimensions. 2021-09-09 20:34:04 -03:00
FellippeHeitor
357178652b Calls _KEYCLEAR before moving on with the debuggee.
In order to prevent unwanted keypresses eventually entered while in pause mode.
2021-09-09 00:35:51 -03:00
FellippeHeitor
a37e3801d8 Adds support to watching arrays with multiple dimensions. 2021-09-08 22:48:03 -03:00
FellippeHeitor
7ba11565a5 Adds GetBytes so it's easier to add data to the packet ($DEBUG). 2021-09-03 00:03:28 -03:00
FellippeHeitor
d62e307126 Implements setting value of arrays/UDTs. 2021-08-30 00:47:30 -03:00
FellippeHeitor
276536d467 Merges set address and set string address.
Next step is making arrays and UDTs work.
2021-08-28 16:54:16 -03:00
FellippeHeitor
b8d50b09d2 Prevents errors with arrays in SUBs. 2021-08-25 21:34:36 -03:00
FellippeHeitor
13a9d4e8be Fixes bug watching variable-length strings in UDTs. 2021-08-24 23:48:22 -03:00
FellippeHeitor
3aff84bba8 Fixes STRING type detection in vwatch.bm 2021-08-24 15:56:19 -03:00
FellippeHeitor
38fe93a6cf Adds support for watching multiple indexes arrays of UDTs.
Not multiple dimensions yet tho.
2021-08-24 02:13:42 -03:00
FellippeHeitor
62f3496c36 Adds ability to fetch data from arrays of UDTs. 2021-08-23 18:02:22 -03:00
FellippeHeitor
687276bccd Adds support to STRING elements in UDTs. 2021-08-22 22:47:48 -03:00
FellippeHeitor
bf9ab3458c Allows outputting the watch list to the console. 2021-08-22 11:49:48 -03:00
FellippeHeitor
9423080f6b Allows watching one element of UDTs (no strings yet). 2021-08-22 00:12:01 -03:00
FellippeHeitor
5a40ebd15b Attempt at pointing properly to the element offset. 2021-08-21 19:21:33 -03:00
FellippeHeitor
2fc7380fa6 Begins implementing ways to watch UDTs.
Still in a non-working state.
2021-08-20 16:10:28 -03:00
FellippeHeitor
9aa166e4de Checks for array's lbound and ubound before fetching data. 2021-08-19 19:10:51 -03:00
FellippeHeitor
e311e2ee35 Optimizes $Debug internal protocol.
Less back-and-forth of commands to get variable data. Moves processing/address fetching almost entirely to `vwatch.bm`.
2021-08-19 01:05:47 -03:00
FellippeHeitor
744bd19107 Fixes race condition between vWatch and _CONSOLETITLE
It was a love triangle with _WindowHandle in the end, it's complicated.
2021-08-18 00:21:03 -03:00
FellippeHeitor
589357e472 Merge branch 'var-export' of https://github.com/QB64Team/qb64 into var-export 2021-08-17 00:47:56 -03:00
FellippeHeitor
f279839a7b Reduces number of commands to get a variable's value. 2021-08-17 00:47:13 -03:00
Fellippe Heitor
25f53e032c Prevents crashing when using INPUT and 2021-08-16 11:52:45 -03:00
FellippeHeitor
eeff3207d6 Preliminary work to watch arrays (native types).
Strings not working yet.
2021-08-16 01:32:07 -03:00
FellippeHeitor
ecfb439ff0 Changes communication protocol so it doesn't rely on end markers.
The message length precedes the message, so no <END> marker is required anymore.
2021-08-15 13:56:22 -03:00
FellippeHeitor
b1f53bedf3 Allows QB64 to be used to debug itself again. 2021-08-15 00:49:06 -03:00
FellippeHeitor
2af2f4e2a1 Improves handling/signaling of INPUT/LINE INPUT in $DEBUG mode. 2021-08-14 21:28:21 -03:00
FellippeHeitor
d2cf042c45 Makes vwatch.bm try harder to send its own hWnd. 2021-08-14 21:27:57 -03:00
FellippeHeitor
8dddefd002 Brings debuggee window to foreground when using INPUT. 2021-08-14 17:04:25 -03:00
FellippeHeitor
cca1593f79 Switches focus to IDE automatically when breakpoint is reached.
Windows-only.
2021-08-12 23:00:43 -03:00
FellippeHeitor
85c1e79997 Prevents endless loop when quitting the debuggee. 2021-08-04 21:23:59 -03:00
FellippeHeitor
0bbc60e73e Allows reading program_stop without using _Exit. 2021-08-04 21:12:33 -03:00