Newboot directory structure




The directory structure pretty much represents the menu structure of Newboot. On power-up, Newboot launches the core that's found in the root directory of the card. This sounds like you are limited to one core, but the whole secret to this is that there is a selector-core. The selector-core will look for a directory called "c1dcores" that can contain up to twelve directories with cores:
  • root dir
    • boot.bin - selector binary data, belongs to selector core
    • cone-sys.bin - old BigBoot system flash file, not explained here
    • extender.rbf - core file for FPGA extender card, belongs to the selector core
    • marker.raw - graphical cursor that you move over the core icons
    • select.raw - graphical icon for this core/dir (not displayed in root dir)
    • selectbg.raw - background graphics, belongs to the selector core
    • support.rbf - config data (core) for the 1k100 FPGA, belongs to the selector core
    • [dir]boot (old BigBoot directory, not explained here)
    • [dir]c1dcores - this directory belongs to the selector core of the root dir
      • [dir]bb_classic
        • emu.bin - BigBoot classic binary data, placed in 72-pin SIMM
        • select.raw - graphical icon for this core/dir, used by the selector core of the root dir
        • support.bin - config data (core) for the 1k30 FPGA
        • support.rbf - temporary config data (core) for the 1k100 FPGA
      • [dir]c64
        • select.raw - graphical icon for this core/dir, used by the selector core of the root dir
        • support.rbf - temporary core for the 1k100
        • boot.bin - binary data, executed by startup during config phase
        • char.rom - the C64 character rom
        • basic.rom - the C64 basic rom ($a000)
        • kernal.rom - the C64 kernal rom ($e000)
        • target.rbf - the C64 core, loaded into 1k100 after uploading all roms
      • [dir]c64_demo_pal
        • select.raw - graphical icon for this core/dir (displayed by the selector of the root dir)
        • select.txt - text file that is overlaid over select.raw, this file is used by the selector core of the root dir (optional)
        • boot.bin - selector binary data, belongs to selector core of this directory
        • marker.raw - graphical cursor that you move over the core icons, belongs to the selector in this directory
        • selectbg.raw - background graphics, belongs to the selector core of this directory
        • support.rbf - config data (core) for the 1k100 FPGA, belongs to the selector core of this directory
        • [dir]c1dcores - this directory belongs to the selector core of this directory
          • [dir]c64_1
            • select.raw - graphical icon for this core/dir, used by the selector core of the c64_demo_pal dir
            • support.rbf - temporary core for the 1k100
            • boot.bin - binary data, executed by startup during config phase
            • char.rom - the C64 character rom
            • basic.rom - the C64 basic rom ($a000)
            • kernal.rom - the C64 kernal rom ($e000)
            • target.rbf - the C64 core, loaded into 1k100 after uploading all roms
            • Utopia.prg - program file for the C64 core. This file is automatically loaded and started (RUN) in the C64 core.
          • [dir]c64_2 same structure as c64_1, additional:
            • select.txt - textfile that is overlaid over the select.raw graphics. Gives a nicer appearance, especially with the long filename of the PRG file in this dir!
            • The Didgery Demo.prg - program file with a long filename (loaded&started automatically)
          • [dir]c64_3 (same structure as c64_1)
          • [dir]c64_4 (same structure as c64_1)
As you can see, the selector can be nested, and you can generate an almost infinite tree of cores. Currently the depth limit is (todo: Insert dirtree limit) selectors nested. You can browse the structure by selecting an icon with the joystick button or the enter-key of the keyboard. To go up one level, press the ESC key on the keyboard.

Each selector can have it's own appearance with individual backgroud graphics, icons and markers. The structure found in the new release package shows an example of the possibilities, but doesn't really go fancy with graphics or an especially deep directory tree. It's meant to be an example, not a software collection!

You can also minimize the structure to a single core without a selector at all: Just take one of the cores and copy it to the root dir of your card. This will launch the core without displaying a menu at all! A C64 that is launched this way only needs about six seconds from cold-start to the READY prompt.

You are encouraged to experiment with the directory structure of Newboot!