I was looking at Amazon for what other H3 based devices might be available to use for BASIC Engine, I noticed there are several H3 based Android TV boxes (likely all made by the same ODM, I'd reckon). Have any of you guys used one of these to run Engine BASIC? Would the bootloader need to be unlocked to boot Engine BASIC from an SD card?

It is likely I will be a guinea pig if someone else hasn't already tried ๐Ÿ™‚ The worst thing that could happen is that I will have another device to mount on back of a monitor ๐Ÿ˜†

    painintheworld I have been wondering the same thing regarding alternative sources of H3 board, given my understanding that they were developed to allow cheap smart TV devices. I will watch your progress eagerly.

    The Android TV box in the link above works as a BASIC Engine. It is standard cheap Android TV box fare, as far as being an Android TV box (i.e.: it sucks).

    For the purposes of Engine BASIC, the device has two USB ports, an HDMI port, and an AV port. I cannot get USB devices to work through USB port 2 under Engine BASIC. USB port 1 works as it should. No luck thus far using a gamepad and/or mouse via the generic $5 USB 2 hub plugged into port 1, though the keyboard does work whilst plugged into the hub. If I'm able to get over to my east cabin this afternoon (will be down there tomorrow, for sure), I will grab a good hub and try things out further.

      painintheworld Thatโ€™s really cool. Is there a way we can start to keep track of the hardware that is compatible as a BASIC Engine? Sounds like we need a Wiki.
      To test it, did you just plug in the SD card and switch it on?

      Yes, just burned the newest firmware to a microSD card, plugged it in, and power on ๐Ÿ™‚ It came right up!

      That sounds so easy, but it got me wondering, is it possible to load the image into the FLASH storage of the board, so that it boots up without an SD card?
      I guess there is a higher risk of bricking the device if things go wrong.
      Now you've got me wanting to order another H3 device to play with.

      There are a couple of other Allwinner H3 TV boxes on Amazon, but my suspicion is that they (and the one I bought) are all the same, with a different label. I did ask on Amazon if the bootloader was unlocked, but have not received a response.

      I did go grab a better USB hub from my other cabin and hope to get to it overnight. Which reminds me of one strange behavior that I noticed while using the cheap mechanical keyboard I mentioned here in another thread; pressing the enter key registers as a q when working within the inbuilt Android OS. It will be fun to play about sticking some other operating systems on a microSD card and trying them out. Maybe it would be a good time to play with trying out the SDL version on the TV box ๐Ÿ™‚

      1:30 AM update. Using a higher quality, and probably more importantly, powered USB hub, I can report that with the powered hub plugged into USB port 1, a gamepad, trackball, and keyboard were successfully tested to run from the hub.

      At least whilst running Android TV and browsing web pages, this sucker gets pretty dang warm - even in a 65 degree F/18.75 degree C ambient temp room.

      As an Android TV box...the factory launcher absolutely sucks. Just terrible. Some sideloading must happen before it is used much. YouTube works fine in 1080p30; it will not go any higher. As expected, the Netflix experience is plain bad; the best I could get is 960x540. This is status quo for these budget Android TV boxes. No media streaming, network or local, has been tried yet. In the next little bit I have some H265 100Mbps GoPro footage to work on (4k30 and 4k60), so we will give it a little stress test. When I bring an ethernet switch home from storage I will try out ethernet performance. Per prior experience and observations with these cheap boxes, WiFi performance is very subpar. WiFi in the room I'm in isn't that great to begin with, but this box will only obtain about 1/4 of what other devices in this room get (most get about 60 down/15 up in here on 2.4).

      @Hawk I have no qualms (at least a few days from now) of attempting to load something else to the inbuilt eMMC...if you will tell me how ๐Ÿ™‚

      So far it seems like a very decent way of getting Engine BASIC up and running, considering the massive price increases on other Allwinner H3 SBCs.

      A wiki would be nice. I wish things were further along at my place, so that I could get a server off and stuck in a rack. I had several years of very serious health stuff happen and everything (meaning literally everything) got put wayyyy back on the backburner. Now I'm slowly but surely getting eight years of built up junk and life stuff straightened up. If there is a preferred domain name, let me know! If nothing else I will register a domain (or use one a retro computer domain I have), get a DDNS service up and running, and host a wiki, repo, etc. here. Soon, soon ๐Ÿ™‚

        painintheworld You have been busy researching.
        I'd love to say I knew how to load in to the built-in staorage, but I'm still learning. Uli could probably give you some pointers. I know that he uses the JTAG interface if possible.
        I haven't read any info about it yet, I'm still learning how to build the firmware.
        I was in the process of documenting how to build the SDL version of the program when I kept coming up against problems. I trying to build the ESP32 version ATM and it seems to be going OK. I have the startings of some instructions. Uli could probably add to them though.

        Building the SDL version of BASIC Engine
        If you donโ€™t already have โ€˜gitโ€™ installed, enter the following command on the command line;
        sudo apt install git
        This will install โ€˜gitโ€™ which is the tool used to configure manage the BASIC Engine project.
        Change directory to the location where you would like to checkout the BASIC Engine source code to build it.
        cd ModernRetroComputer/BASIC_OS
        To clone the source code from the github repository enter the following command;
        git clone https://github.com/uli/basicengine-firmware.git
        This will replicate the BASIC Engine firmware into your chosen directory.
        Change to the new basic engine directory.
        cd basicengine-firmware
        Now I had issues with the first stage, as it required Python 2 to be installed. I am running Ubuntu Ubuntu 20.04.3 LTS, which only has Python 3 installed by default. The make script will generate errors based on old syntax of โ€˜printโ€™ commands. I chose not to install the old version of Python and rather update the Python files to add parentheses around the print strings. This required the editing of ttbasic/icode.py and ttbasic/epi.py. I may suggest to Uli that we update the scripts to the Python 3 standard, but clearly he is having no issue.
        You then need to install the required SDL development packages using the following commands;
        sudo apt install libsdl1.2-dev
        sudo apt install libsdl-gfx1.2-dev

        They're currently in a document so that I can upload it when finished. Tell me if I'm pitching it at the correct level.
        The command to make the SDL version is;
        make sdl
        but I think that you need to make one of the embedded versions first, otherwise you get an error for the file "version.h" missing.

        painintheworld A wiki would be nice.

        I have just created the basicengine-wiki repo on GitHub and have added you as a collaborator. Anybody else interested in contributing documentation can tell me their GitHub user name and I'll add them. Let's see how this goes.

          uli I would appreciate it if you could add me as a collaborator also, as I would like to contribute to this project in any way I can.

            uli Oh, that is awesome! This should be the impetus I need to learn to use the ins and outs of GitHub. Thank you again for all of your work on the BASIC Engine! Will start another thread topic tomorrow for the wiki, so as to get ideas and/or guidance.

            @Hawk Thank you soooo much for the instructions! It may be Friday or early Saturday before I get to work on that much.

            Hawk I would appreciate it if you could add me as a collaborator

            I need a GitHub user name for that.

            • Hawk replied to this.
              6 days later

              Ahoy,
              My father always said if a bandwagon came to town I'd jump right on it. Well I saw the T95Super bandwagon and went to Amazon and jumped on it. Really how else can you buy a computer with 2GB RAM and 16GB storage for $30? In this market? So I tried a diffent one. It was the cheapest at 53 pennies less money. It booted Engine BASIC NG no prob. Only funny thing is I use one of those mini 2.4gHz wireless keyboard/trackpads for testing purposes. It works after booting EB NG until it enters sleep (about 2 mins of inactivity) then never wakes up in EB NG. A reboot is required to wake it up in th that OS. So out came my big USB wired keyboard.

              Engine BASIC ran perfect and the computer ran cool. Everything I tested worked as expected. Unlike the Tauon I could output on either HDMI or CVBS but not both. Boot with HDMI and CVBS connected and it outputs on HDMI. Pull out the HDMI cable and it boots to CVBS. The A/V output seemed to be more rock solid than on the Tauon but that may be because the HDMI is not on. Note: I found the Android 10 desktop clunky and awkward but pretty peppie and usable after some adjustments. However if I go to my plan it will go away when I try an experiment involving the Tauon OS and flashing.

              Speaking of the flash RAM, ignore anything you may have read about using eMMC on these T95S boxes.
              Chances are 99% that the flash is NAND as on the Tauon. Mainline linux can see eMMC but doesn't normally have drivers to see NAND. 3 versions of Linux could not detect the Flash storage in parted. So it is almost certain it is NAND flash. That must be handled with greater care outside of Android. And there is a button to put the flash into write mode at the end ov the A/V socket. To flash you use a toothpick or paperclip to hold the button in for a few seconds as you apply power.

              Vladomir (Tauon computer) doesn't require pushing anything to flash the NAND with Tauon OS. I suspect he uses some sort of OTA type process for flashing. If you talk nice to him on the Tauon he may tell you something about it so you might be able to flash EB NG to the NAND. Just keep in mind that since it is NAND not eMMC it is more complicated and you may corrucpt the flash storage. Armbian has a flash multitool program that can BU the flash then write an image to it. Might be an avenue to explore if you are determined to get EB NG onto the flash storage. It is nice that the H3 SOC always tries to boot from the sd card 1st so its almost impossible to brick it even if the flash is corrupted. Still:

              WARNING I am not responsible for any damgae to anyone's computer during their experiments. YMMV and it is up to you what you try.

              As far as hardware mods there are pads on the board for a UART header next to the RAM chips. It should run at 3.3V. You could wire a small 5V fan to run from this header in quiet 3.3V mode. Or you can solder a 4-pin header there and connect it to a UART to USB cable to observe the boot from a terminal program as intended. One simple fix if its getting hot is to turn it upside down when you run it to let the heat vent properly. BTW, in that position compare it the the board connectors on a Tauon PC-1. See the perfect resemblance? That got me thinking...

              Thanks for the tip on the T95Super and Engine BASIC NG. The cheaper we can get a computer to run EB NG the more chance we can get others involved. This is Brilliant!
              daveyb

              @MC10Guru Glad you got it going! Have you tried both USB ports? I've not had much luck with USB port 2.

              Has anyone tried BASIC Engine on one of these?
              R69
              They look OK, but I canโ€™t see that they have an SD interface.

              Ahoy,
              PITW: I have had probs w/my little wireless test keyboard. If it goes to sleep it never comes back in EB NG. I'm not sure if I tried both USB ports.

              Hawk: I'm not saying for sure but the layout looks like a standard H3 TV Box. Look at the angled picture that shows the right side and there is a USB1 port and what looks like (and should be) the uSD card slot. Pretty little case...but I'm wondering why nobody puts enough vent slots on these boxes. I'm modding my T95 Super with an 80mm (yes 80mm) square 5V fan on the bottom to run it much cooler. EB NG never seems to run hot but anything else on an H3 can reach 80+d C in a short time. One could just de-case the board and apply a 40mmx40mmx11mm heatsink instead.

              TIP: a while ago I grew frustrated trying to insert and eject uSD cards on these small boxes. Either I had to use tweezers or the tiny card flew out of the slot! So I bought found a 4-pack of uSD extender cards
              (about 30mm) for $10 to simplify it. I use them on SBCs in cases, TV Boxes, my Pinebook, etc...I wouldn't live without them now.
              daveyb

                Ahoy,
                I can confirm the problem with USB 2 port not working only while using EB NG. On the T95S with USB 1 my wireless keyboard only works on USB 1 (and never comes back from sleep) but my HP USB keybaord only works in USB 1 port also. This may explain my tests with controllers on the Tauon PC-1. I'm almost certain the Tauon (1G/8G) is based on the same basic board as the T95S (2G/16G). The Tauon has 2 USB ports in the same physical locations also: #1 internal (built-in KB) and #2 external. I could never get any game controller to register on a Tauon USB 2 port. Unfortunately as long as EB NG can't see USB 2 then that limits the usefulness of the Tauon w/o a hub strung out from internal USB 1. With the T95S you might be able to use a hub on USB 1; I haven't tested a hub yet. I am now wondering how many ports EB NG sees with an OPi PC or Tritium board? More testing ahead.

                PITW: are you aware that the H3 has USB OTG built-in the SOC? Maybe the USB 2 port has OTG enabled? I wonder if this affects the USB port in EB NG. Curiouser and curiouser.

                As this this seems to be an Engine BASIC NG issue maybe a bug report thread for Uli to investigate?
                daveyb

                  Powered by: FreeFlarum.
                  (remove this footer)