- Jan 12, 2025
-
-
Deucе authored
Shaves time down to 3.85 seconds.
-
Deucе authored
Fixes high CPU when nothing is happening.
-
Deucе authored
-
Deucе authored
-
Rob Swindell authored
-
Rob Swindell authored
SUB and DIR have long had this bug, but I just noticed while playing with the new USER keyword capabilities (specifying user numbers and/or names). If you switched between numeric and alpha/string parameters, without restating the ARS keyword, the keyword would could end up wrong in the parsed byte array.
-
- Jan 11, 2025
-
-
Rob Swindell authored
Caveat: the name parameter cannot contain a space, so excludes spaces or replace them with '.' or '_': the user's alias will match.
-
Rob Swindell authored
This fixes issue #748
-
Rob Swindell authored
-
Rob Swindell authored
-
Rob Swindell authored
Work-around for issue #861 This is the utility script for maintaining file bases, if you didn't know. :-)
-
Deucе authored
This shaves off another .75 seconds, and gets rid of the last glaring plateau in the stack flamegraph. What's interersting is that I'm seeing my CPU utilization drop now too, which implies I've reached the speed of the pty connection type, or the speed of the term worker loop. Maybe I'll look there next, but since the pty isn't a major use-case for SyncTERM, I may not... at this point it's just benchmark golf.
-
Deucе authored
-
Deucе authored
-
Deucе authored
This was the only standout issue when profiling the ANSI parsing code, and is a trivial fix since we're pretty much only checking contiguous ranges of characters. Unfortunately, I didn't create a test for comparison here.
-
Deucе authored
Still massaging more speed out of it.
-
Deucе authored
Down to 4.7s now... 38× faster. Starting to get somewhere useful now.
-
Deucе authored
-
Deucе authored
Fixes issue where the screen would be weird during the connecting phase.
-
Deucе authored
This way, when a character overwrites, we can detect it. Also, document the various magic colour bits.
-
Deucе authored
Since we update the bitmap before drawing a frame now, we can just mark the cells incorrectly moved by advancing the bitmap ringbuffer as dirty and known they'll be redrawn. This gets rid of the memmove on full-width scrolling, and gets us into the 6s range.
-
Deucе authored
Previously, every change would be flushed through to the bitmap, now it only flushes before a frame is sent to the driver, or when specific things (like setting pixels) occur. This about doubles the throughput again, running the test at 11 seconds (started at 179). At a 16× speedup now from when I started. This can now display at about 10Mbps, which is still kinda slow, but at least it's not completely terrible anymore. This could likely be improved by better timing of the frame generation... it tries to hot 100Hz right now, which is a bit excessive.
-
Rob Swindell authored
1. It never saved the rows value set by the user 2. It would not set the current online user values immediately 3. It would only call console.getdimenions() when *both* values were set
-
Rob Swindell authored
Previously, if either of the user terminal dimensions was set to a auto (0) then we wouldn't propagate the other specific (non-zero) value to the runtime console dimension. Usually a user will set either both values (cols and rows) to 0/auto or neither. So this isn't a oft-used configuration combo.
-
Rob Swindell authored
e.g. [can|is]_subject_something() is now named subject_[can|is]_something() No functional change.
-
Rob Swindell authored
-
Rob Swindell authored
temp_cmd() should've been called first on any sane platform. <shrug>
-
- Jan 10, 2025
-
-
Deucе authored
-
Deucе authored
-
Deucе authored
Previously, we actually moved one more line back than we had to. This only moves lines back that need to remain where they were. This shaves another couple seconds off the benchmark.
-
Deucе authored
The code was moving unscrolled lines back after scrolling the majority of them... if all lines were scrolled, moving some back actually broke scrolling.
-
Deucе authored
Thanks Coverity!
-
Deucе authored
Borland doesn't need this, and making the new feature work with it would be immensely painful, so just disable the files in Borland. Also, now the JS format()/printf()/etc. can use field specifiers.
-
Deucе authored
Just in case xp_asprintf() is used for text.dat strings. The field specifier allows you to change the order of parameters, which is useful for translating (and useless for anything else). There must not be any "skipped" parameters though, you must use all of them between the first one and the last one you use.
-
Rob Swindell authored
-
Rob Swindell authored
... so just hitting ENTER will stick with the current mouse enablement.
-
Rob Swindell authored
-
Deucе authored
They weren't standardized until 1999, why would Microsoft support them?
-
Rob Swindell authored
like datestr() does.
-
Rob Swindell authored
Completely remove the 80 column screen width assumption/limit.
-