GNU social JP
  • FAQ
  • Login
GNU social JPは日本のGNU socialサーバーです。
Usage/ToS/admin/test/Pleroma FE
  • Public

    • Public
    • Network
    • Groups
    • Featured
    • Popular
    • People

Conversation

Notices

  1. Embed this notice
    Studio 8502 :verified: (mos_8502@oldbytes.space)'s status on Wednesday, 09-Aug-2023 09:57:35 JST Studio 8502 :verified: Studio 8502 :verified:

    Firmware updates for the Turaco SBC will not be complicated. You will simply put an updated firmware.bin file on your SD card, and boot it. The machine will do the rest -- writing the firmware.bin to the internal ROM of the EZ80F91 CPU, which includes the bitstream for the FPGA, which in this implementation is an SPI slave, programmed at boot time by the CPU over SPI.

    The maximum bitstream size for the iCE40UP5K, according to the documentation, is 104,161 bytes, or ~102KB; that is how much of the on-chip 256KB of flash ROM on the EZ80F91 must be devoted to holding the VERA bitstream. That leaves 154KB for a system ROM. The code that lives in there has to know how to do several things:

    • Load a file from SD to RAM
    • Run a program from RAM
    • Contain system-specific ROM functions for talking to the various bits of hardware, including programming the FPGA over SPI
    • Check the SD card for an auto-boot program, and boot it if found
    • Boot to a serial monitor if all else fails
    In conversation Wednesday, 09-Aug-2023 09:57:35 JST from oldbytes.space permalink
    • Embed this notice
      fraggLe! (fwaggle@moodoo.org)'s status on Wednesday, 09-Aug-2023 09:57:29 JST fraggLe! fraggLe!
      in reply to

      @mos_8502 Bonus points if you can come up with valid Z80 boot code, that fits in the boot sector, that is also valid x86 code that just prints a "this is not for your computer" message before halting.

      In conversation Wednesday, 09-Aug-2023 09:57:29 JST permalink
      clacke likes this.
    • Embed this notice
      Studio 8502 :verified: (mos_8502@oldbytes.space)'s status on Wednesday, 09-Aug-2023 09:57:31 JST Studio 8502 :verified: Studio 8502 :verified:
      in reply to

      I'm thinking the most neutral way to handle operating systems is to do it the way old school Z80 systems did it, and write the "boot sector" for the OS to the first sectors of the SD card. A FAT32/ExFAT SD card still has an MBR partition table; the MBR can as easily contain Z80 boot code as 8086 boot code.

      In conversation Wednesday, 09-Aug-2023 09:57:31 JST permalink
    • Embed this notice
      Studio 8502 :verified: (mos_8502@oldbytes.space)'s status on Wednesday, 09-Aug-2023 09:57:33 JST Studio 8502 :verified: Studio 8502 :verified:
      in reply to

      At boot time, the CPU will do what the ROM says to do, which is first check for a firmware.bin file, which is a binary program which runs in RAM and re-programs the ROM; if that is found, then load and run it. Otherwise, check for a bootable OS, and boot it if found. Otherwise, boot to the ROM monitor talking over the serial port.

      In conversation Wednesday, 09-Aug-2023 09:57:33 JST permalink
    • Embed this notice
      Jxyzn Sxyzyxn (jxyzn@mastodon.lwr.wtf)'s status on Wednesday, 09-Aug-2023 10:02:30 JST Jxyzn Sxyzyxn Jxyzn Sxyzyxn
      in reply to

      @mos_8502 Now I'm curious if it's possible to write some "dual-coded" Z80+8086 binary that could somehow start execution on both and branch off as appropriate.

      In conversation Wednesday, 09-Aug-2023 10:02:30 JST permalink
      clacke likes this.

Feeds

  • Activity Streams
  • RSS 2.0
  • Atom
  • Help
  • About
  • FAQ
  • TOS
  • Privacy
  • Source
  • Version
  • Contact

GNU social JP is a social network, courtesy of GNU social JP管理人. It runs on GNU social, version 2.0.2-dev, available under the GNU Affero General Public License.

Creative Commons Attribution 3.0 All GNU social JP content and data are available under the Creative Commons Attribution 3.0 license.