digraph jvm_boot {
newrank=true;
boot_rom [shape=box label="Dreamcast Boot ROM"]
first_read [shape=box label="1ST_READ.BIN"]
discarded [shape=ellipse label="(discarded/overwritten)"]
ip_bin [shape=box label="gdrom_jvm_boot.bin (“ip.bin”)"]
boot_rom -> first_read -> discarded
boot_rom -> ip_bin
subgraph cluster_jvm_bin {
label=" boot class files (embedded inside jvm.bin)"
jvm_bin [shape=box label="jvm.bin"]
boot_class_files [shape=plaintext label=<
example/GdromClassLoader.class |
sega/dreamcast/gdrom/GdromExtentReader.class |
sega/dreamcast/gdrom/GdromProtocol.class |
sega/dreamcast/gdrom/GdromCommandPacketFormat.class |
filesystem/iso9660/VolumeParser.class |
jvm/internal/Loader.class |
>]
}
subgraph cluster_application {
label=" application class files (files on the iso9660 filesystem)"
main [shape=box label="Main.class"]
class_files [shape=plaintext label=<
example/JavaCube.class |
sega/dreamcast/holly/Core.class |
sega/dreamcast/holly/VideoOutput.class |
sega/dreamcast/holly/RegionArray.class |
sega/dreamcast/holly/TAFIFOPolygonConverter.class |
sega/dreamcast/holly/TAGlobalParameter.class |
sega/dreamcast/holly/TAVertexParameter.class |
sega/dreamcast/holly/TextureMemoryAllocation.class |
model/CubeModel.class |
>]
}
{rank=same; jvm_bin; boot_class_files}
{rank=same; main; class_files}
ip_bin -> jvm_bin
jvm_bin -> boot_class_files
GdromClassLoader [shape=box label="GdromClassLoader.class"]
jvm_bin -> GdromClassLoader -> main
main -> class_files
}