VRAM command table ┌───────────┐ │Clipping │ │coordinates│· ├───────────┤│ │Relative ││ │coordinates││ ├───────────┤│ │Parts ││ ├───────────┤↓ │Subroutine ││ │call │└─┐·The specified table is called as a subroutine ├───────────┤ │ │Parts │┌←┼─┐ ├───────────┤│ │ │ │Parts ││ │ │ ├───────────┤↓ │ │ │Jump │└─┼─┼─┐·Moves to the specified table ├───────────┤ │ │ │ │: │ │ │ │ ├───────────┤ │ │ │ │Parts │┌←┘ │ │ ├───────────┤│ │ │ │Parts ││ │ │ ├───────────┤↓ │ │ │Return │└───┘ │ ├───────────┤ │ │: │ │ ├───────────┤ │ │Parts │┌←────┘ ├───────────┤│ │Parts ││ ├───────────┤↓ │Skip/Parts │·Skip (this part will not be drawn) ├───────────┤│ │Parts ││ ├───────────┤│ │Parts ││ ├───────────┤↓ │Jump │└─┐ ├───────────┤ │ │Parts │ │ ├───────────┤ │ │Parts │ │ ├───────────┤ │ │Jump │ │ ├───────────┤ │ │: │ │ ├───────────┤ │ │Changing │ │ │clipping │┌←┘ │coordinates││ ├───────────┤│ │Parts ││ ├───────────┤│ │Relative ││ │coordinate ││ │change ││ ├───────────┤│ │Parts ││ ├───────────┤│ │: ││ ├───────────┤↓ │End drawing│·End drawing ├───────────┤ │: │ └───────────┘
VRAM ┌──────────────────┐ │ : │ │ : │ ┣━━━━━━━━━━━━━━━━━━┫ ┃ Parts drawing ┃ ┃ commands ┃ ┃ : ┃ ┠──────────────────┨ ┃ Color mode, ┃ ┃ color calculation┃ ┠──────────────────┨ ┃ Lookup table ┃ ┃ address ┃─┐ ┠──────────────────┨ │ ┃Character address ┃─┼─┐ ┠──────────────────┨ │ │ ┃Character size ┃ │ │ ┠──────────────────┨ │ │ ┃ : ┃ │ │ ┃ : ┃ │ │ ┠──────────────────┨ │ │ ┃Guro shading ┃ │ │ ┃table address ┃─┼┐│ ┠──────────────────┨ │││ ┃ : ┃ │││ ┣━━━━━━━━━━━━━━━━━━┫ │││ │ : │ │││ │ : │ │││ ┣━━━━━━━━━━━━━━━━━━┫ │││ ┃Color lookup table┃←┘││ ┃ : ┃ ││ ┣━━━━━━━━━━━━━━━━━━┫ ││ │ : │ ││ │ : │ ││ ┣━━━━━━━━━━━━━━━━━━┫ ││ ┃Guro shading table┃←─┘│ ┃ : ┃ │ ┃ : ┃ │ ┣━━━━━━━━━━━━━━━━━━┫ │ │ : │ │ │ : │ │ ┣━━━━━━━━━━━━━━━━━━┫ │ ┃Character pattern ┃←──┘ ┃table ┃ ┃ : ┃ ┣━━━━━━━━━━━━━━━━━━┫ │ : │ │ : │