5116 Commits

Author SHA1 Message Date
payonel
4a50b50725 fix raw set fg and bg methods for row, col, and even the color fields. closes #3401 2021-05-12 07:21:54 -07:00
payonel
90be0181bc args drop returns scala iterator, no need to cast again, toArray will work
closes #3159
2021-05-11 13:03:41 -07:00
payonel
a1d1834597 seems onLoaded from ic2 can call oc before traits are ready. this probably closes #3187 2021-05-11 09:33:36 -07:00
payonel
9bb7b69528 allow orphaned coroutines to function. they could be referenced in detached threads. closes #3423 2021-05-11 09:08:12 -07:00
Guilherme Puida
1a9feabed7 pt_BR translation update 2021-05-11 08:31:29 -07:00
payonel
7928f0c67f fix remote terminal missing causing null exception. closes #3249 2021-05-11 08:10:39 -07:00
Fingercomp
59fac9b4b6 Check the channel is set before submitting it to the TCPNotifier 2021-05-10 14:41:51 -07:00
David Cook
af2db43c53 Block 0.0.0.0/8 from internet card by default
The 0.0.0.0/8 subnet refers to "this network", (c.f. RFC 3330) and in
particular, 0.0.0.0 can be used to refer to the local computer. As such,
it should be blocked by default, as loopback addresses currently are.

This default configuration was relevant to a challenge in the ALLES! CTF
2020 competition, see https://play.allesctf.net/tasks/ALLES!Craft or
https://ctftime.org/event/1091. The challenge involved multiple servers
interconnected with Waterfall as a proxy, to enable server
teleportation. The solution to the challenge was to use an internet card
on one of the servers to connect to 0.0.0.0, bypassing the Waterfall
proxy, and replay or reverse proxy a Minecraft handshake in Lua, which
allowed spoofing as a different user.
2020-09-08 01:58:54 -07:00
PrismaticYT
f74d7d230e Fix five-year-old typo 2020-08-08 21:11:20 -07:00
payonel
f73dd9eaca allow numbers in gsub pattern, as lua does
closes #1999
2020-06-07 16:46:15 -07:00
payonel
a84506b860 vt ABCD default is 1
closes #3320
2020-06-07 15:05:11 -07:00
payonel
f74af9cafe send palette change update 2020-06-06 21:05:37 -07:00
repo_alt
1cf0910937 Distillation pattern aspect information 2020-06-06 18:02:00 -07:00
repo_alt
172cb07945 Added Seismic Prospector data reading support 2020-06-06 18:00:44 -07:00
Fingercomp
ab13cec942 Rewrite the ru_RU translation of a manpage 2020-06-04 15:13:06 -07:00
payonel
cd0f9fa731 fixed the floppy gui to update its buttons
and cleaned up the packet handler to make sure reads are done regardless of outcome
2020-05-31 01:32:59 -07:00
payonel
91847a44e5 pass wget user-agent, in a special opencomputers way
closes #3305
2020-05-24 02:32:36 -07:00
payonel
bc64f64efe allow process exception handler to print error to stderr - as in some cases the user wants to know about these crashes; such as out-of-memory
closes #3308
2020-05-24 02:19:24 -07:00
payonel
7b078ada5b use rawequal for internal table checks in machien.lua
thanks bauen1
2020-05-24 00:42:20 -07:00
payonel
e0f42c30ee rename color_bytes to colors 2020-05-24 00:35:51 -07:00
payonel
af9a34a6af fixed mixed tier gpu and screen bitblt 2020-05-23 23:45:01 -07:00
payonel
20f2cc460f optimize color write and increase bitblt limits
the color write improvements appears to give clients a 90% speed up on loading color nbt
2020-05-23 22:59:27 -07:00
payonel
6ff0d7865e fix support for multiple gpu vram access to a screen 2020-05-23 17:39:35 -07:00
payonel
ec2e7d4aaf some tooltips and a fix for possible install code path (nil ref) 2020-05-23 01:29:04 -07:00
payonel
9a61dd94f6 add tooltip to trading upgrade.
diable rack "relay mode" by default when crafting a new rack
add better descriptive text to debug card connectToBlock
2020-05-22 23:23:53 -07:00
payonel
13d19c1bb8 insure minimal bitblt cost when writing to screen 2020-05-22 10:12:05 -07:00
payonel
a879a181f2 update settings.scala to match defaults in application.conf 2020-05-22 01:54:05 -07:00
payonel
4e6d1f930b added budget costs for bitblt that allow a dynamic indirect callback behavior, while being direct by default
this also increases the budget cost for bitblt for dirty pages. this new calibration is more server friendly
2020-05-21 23:47:10 -07:00
payonel
c8fce521d7 gpu vram api return change - freeAllBuffers returns the number of buffers freed
increase timeouts on bitblt after further server load and network load testing
2020-05-21 02:41:22 -07:00
payonel
a4fbcd975b significant change, and carefully tested - read/writes to vram is now free, no budget cost
This change required removing our minimum budget cost (the cost for a component invoke) which was .001 (budget limits are ~1)
This affects a number of cheap component api calls, so that they no longer have a .001 minimum call budget. From tesing it appears that tight loops caling these api don't experience a different behavior, they still fail with "too long without yielding" just the same. Additionally, these api are safe to call without forcing a budget cost. This should have a small quality of life improvement in many places, being able to call some api ever so slightly faster.

also, added better config options for vram settings
2020-05-21 00:44:43 -07:00
payonel
09505e6cff openos improvements
1. if /home is readonly, a helpful message is displayed tell the user to run install
2. remove -i from `cp` alias because a bunch of people complain about it
3. `install` now does not clobber /etc/rc.cfg nor /home/.shrc
2020-05-21 00:36:09 -07:00
payonel
4857395e6a reverting clamp for callback cost (as it was before) 2020-05-19 02:05:14 -07:00
payonel
61780aa36e small adjustment to bitblt perf
also, temporary changes to minimum callback data for perf testing
2020-05-19 02:04:11 -07:00
payonel
694a12af38 left in debug values on accident 2020-05-18 23:41:08 -07:00
payonel
687bf569a0 more meaningful bitblt budget cost scaling 2020-05-18 23:36:14 -07:00
Pablo Blanco Celdrán
dcc96e9133 Added VEGA AI name (Doom 2016) 2020-05-18 10:01:09 -07:00
payonel
33170fadbc api rename for get/set buffer, it is now {get/set}ActiveBuffer
this breaks previous build, but this is dev stuff, so it's okay :)
no release is broken here
2020-05-18 02:40:59 -07:00
payonel
1ecd2b1e6e bitblt fix for same device, and better markDirty code 2020-05-18 02:36:58 -07:00
payonel
fabe7bac43 gpu budget cleanup - made the vram bitblt budget and energy cost far more reasonable and logical
note: dirty page bitblts to a screen are increasinly expensive for larger buffers
bitblts to vram are "free" (no budget, no energy)
note that any direct component call has a minimum .001 budget cost
2020-05-17 23:33:01 -07:00
payonel
efe6cbc1e7 vram: added a couple more defaults for buffer api and fixed client sync code for dirty buffer updates 2020-05-17 20:16:26 -07:00
payonel
e70856bf9f gpu video ram with allocate, free, bitblts
writing text and color data to a gpu page is free and server side only
bitblt to screen cause an update and has more budget and power cost
2020-05-17 17:29:19 -07:00
payonel
9d38ecb51d remove packet sync for invisible gpu change - make free more free 2020-05-16 10:48:23 -07:00
payonel
4a3b53d760 fix openos crash when setViewport is called without args 2020-05-15 21:42:08 -07:00
payonel
15d34a8660 GPU speed up: Writing to the gpu buffer outside the viewport is free. no budget cost, no power cost, (also, writes are already direct calls)
We've discussed a large variety of options for the gpu
I've reviewed our options and suggestions. Ultimately - users want faster graphics. Most of the ideas are relating to what api is meaningful to the user. The core issue we have in making graphics faster is an increase load on the server.
For example
  Tier 3 GPU and Tier 3 Screen has a max resolution of 160x50
  If you set the viewport (via gpu.setViewport) to 160x25 the bottom half of the buffer will no longer be shown. All gpu.set, gpu.copy, and gpu.fill calls into that space have no cost
  Overlaps are calculated for partial cost. Half in and half out will have half the power cost.

closes #779
2020-05-15 21:01:41 -07:00
payonel
a13792aef3 fixing and old unicode bug
the openos io buffer in utf8 mode can splice inside a utf8 sequence
this code prevents that by reading the next chunk to complete the sequence
in the case the stream actually has bad utf8 sequence, the io buffer decides to return
more data than it was asked, rather than corrupt the stream
closes #1207
2020-05-15 02:33:59 -07:00
payonel
66bcd3f46a fix cpu to use default lua arch (5.3) 2020-05-14 22:56:47 -07:00
payonel
7bd148367c put 5.3 above 5.2 so it is the first selected architecture 2020-05-14 21:32:21 -07:00
payonel
f9e84b3fd9 woops, left debug text in code 2020-05-14 20:58:35 -07:00
payonel
5cb4dc5537 tiny cleanup in shell for crashed scripts
remove unknown error message
2020-05-14 20:18:38 -07:00
payonel
310120df31 fix a couple of devfs adapter issues
gpu: remove screen link when there is no screen
modem: remove max packet size, as this method no longer exists
2020-05-13 09:09:30 -07:00