dreamcast/regs/gen/systembus.py

27 lines
625 B
Python

import sys
from sh7091 import new_writer
from csv_input import read_input
from sh7091 import headers
from sh7091 import blocks
from generate import renderer
def blocks(rows):
blocks = []
for row in rows:
block = row["block"]
if block not in blocks:
blocks.append(block)
for block in blocks:
yield f'extern struct {block.lower()}_reg {block.lower()} __asm("{block.lower()}");'
input_file = sys.argv[1]
rows = read_input(input_file)
process = new_writer()
render, out = renderer()
render(headers())
render(process(rows))
render(blocks(rows))
sys.stdout.write(out.getvalue())