Jump to content
  • Sky
  • Blueberry
  • Slate
  • Blackcurrant
  • Watermelon
  • Strawberry
  • Orange
  • Banana
  • Apple
  • Emerald
  • Chocolate
  • Charcoal


  • Content Count

  • Joined

  • Last visited

  • Days Won


payonel last won the day on November 14

payonel had the most liked content!

About payonel

  • Rank
    Junior Member

Contact Methods

  • Minecraft
  • GitHub
  • IRC
    payonel on esper.net

Profile Information

  • Gender
  • Location
    Portland, Oregon
  • Interests
    Coding and Gaming

Recent Profile Visitors

882 profile views
  1. payonel

    What to I need for a custom OS to run?

    @Molinkois correct that these things become complex quickly, but I think it is a LOT of fun things like term.write, print, and io.write call io.stdout:write. (by default) io.stdout is the tty stream, and io.stdout:write is https://github.com/MightyPirates/OpenComputers/blob/master-MC1.7.10/src/main/resources/assets/opencomputers/loot/openos/lib/tty.lua#L76
  2. payonel

    No Bootable Medium Found

    @SpaceBeeGaming thanks for helping a fellow user I also believe 2 of us already pointed that out and the user acknowledged the mistake already (i.e. read the whole comment thread)
  3. payonel

    No Bootable Medium Found

    that is a ComputerCraft disk drive, not the OpenComputers disk drive
  4. payonel

    No Bootable Medium Found

    I need to see how your disk drive is "connected" to this computer
  5. this is fixed in our dev builds for 1.12, btw
  6. payonel

    I'm a noob and i know it

    Here is basically everything you would ever want to know about startup scripts and such: https://ocdoc.cil.li/tutorial:autorun_options For your needs, I would write a script in my home dir that cleared the screen, set the resolution how I wanted it, and wrote the message, and then waited for user input or something to keep it from closing the program and returning to the shell: local term = require("term") local gpu = require("component").gpu term.clear() gpu.setResolution(20, 5) term.setCursor(5, 3) term.write("Hello World") term.read() When you execute this script, it'll probably do something like what you want. To have this script when your machine is booting, just specify this script's filename in your /home/.shrc So Let's say this script was `/home/billboard-message.lua` I would edit `/home/.shrc`, and just write that script path in `echo /home/billboard-message.lua > /home/.shrc`
  7. payonel

    How to implement IPv4 using modem.

    i do want to point out that plan9k is pretty outdated, will be removed from loot disks in a future release (not the next patch, but after)
  8. payonel

    When to use Microcontrollers

    A thing microcontrollers are better at than a normal computer (built with a case) is they can house upgrades and run on very low power. World interaction upgrades, such as the tank controller, require a robot or drone. Computer cases do not have an "upgrade" slot
  9. your comments in the tty changes are quite...passionate why did we have such weird \r handling? because users were copying strange mixtures of part mac, part windows, part linux files where line-endings weren't always complete, or fully copied., The output wasn't what they wanted. I agree that \r should be x=1. I might make that change myself. additionally, yes, \b i should have added I don't have any problem ignoring the charset change code. the version of tty and vt100 you have copied appear to be somewhat old, but i do recall making some vt100 fixes, might even be related to reverse video. In my latest dev builds the vt100 code has been improved (and is slightly faster for some workflows). But if you could point me to what you fixed, I could integrate that to our vt100 code. All in all, i'd be happy to considering merging your changes/fixes to my tty code so that future versions of oc work with your software without users having to update openos (Which will become more of an issue once we release our next update because your modifications to these files are no longer compatible) on another note, i've given considerable work to separate the cursor layer from the tty layer. it's not a true api yet, but close. It would be quite possible to leverage the cursor library code (in latest dev builds of oc with openos) to handle the cursor and proper blinking with your project. I might poke at that one day. ping us on oc if you want to chat about your really cool project here
  10. payonel

    Low level networking

    oc wired and wireless modems have addresses, and when you send a message you either broadcast or send to a specific address. You can think of this as its MAC. lua strings are technically just binary blobs, they can hold any binary data (yes, 0s included)
  11. payonel

    StattenOS - Base control system

    @Elijahlordencould you just remove the / from local file = io.open("/InstallData") to be local file = io.open("InstallData") should work just fine, for both those that think they still need to `cd /` and those that forget/don't know io.open uses relative path from the current working directory
  12. payonel

    gpu.bind() BUG

    This isn't a bug, per se, but you are venturing into unsupported territory of openos For performance reasons and simplicity of code, the core of openos is optimized for the most common workflow, which is 1 screen. There is caching involved in the tty layer of openos to read and write to the same screen and gpu. Some day I'll provide a userspace api for managing multiple screens and multiple windows You'll need to release the keyboard manually See, I just don't support this in openos `require("tty").window.keyboard = nil` 1. This is NOT future proof. When the day comes that I build a multi-screen and multi-window api layer, I am free to change this data structure. 2. Yes this is safe to do (in openos today), the code expects that the kb can be "released" like this 3. I would do this after you switch screens on the gpu
  13. payonel

    control door piston

    local component = require("component") local term = require("term") local text = require("text") local r = component.redstone ---- config section local password = {["1234"] = true, ["foobar"] = true} local delay = 5 --time the door stays open local side = 5 --side of the door, test this ----- local wrong = false while true do term.clear() if wrong then print("Password was wrong, try again") else print("Please enter the password") end wrong = false local input = text.trim(term.read({pwchar='*'}) or "") if passwords[input] then r.setOutput(side, 15) -- check if this is the correct function os.sleep(delay) r.setOutput(side, 0) -- same here else wrong = true end end
  14. payonel

    Refined Storage API - getItem

    I read what RS devs had to say about the issue, and the problem you are running into is that you are trying to make an exact match, which requires you to specify all the tags of an item. You can't omit some you don't care about. I recommend you do a more general search for items, select the one you care about, and then reuse the search result for future exact searches.
  15. payonel

    Screen sharing for multiple servers?

    you'll need to share all the code you are using in each side

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.