From cb8fd7e34541aabbe32b8ce084d17c957731aa9d Mon Sep 17 00:00:00 2001 From: Zack Buhman Date: Wed, 25 Jun 2025 15:03:27 -0500 Subject: [PATCH] systembus_bits: add istext --- regs/systembus_bits.csv | 5 +++++ regs/systembus_bits.ods | Bin 18607 -> 15350 bytes systembus_bits.hpp | 10 ++++++++++ 3 files changed, 15 insertions(+) diff --git a/regs/systembus_bits.csv b/regs/systembus_bits.csv index 5eea483..310596b 100644 --- a/regs/systembus_bits.csv +++ b/regs/systembus_bits.csv @@ -60,3 +60,8 @@ "FFST",,"5","holly_cpu_if_block_internal_write_buffer",,, "FFST",,"4","holly_g2_if_block_internal_write_buffer",,, "FFST",,"0","aica_internal_write_buffer",,, +,,,,,, +"ISTEXT",,3,"external_device",1,, +"ISTEXT",,2,"modem",1,, +"ISTEXT",,1,"aica",1,, +"ISTEXT",,0,"gdrom",1,, diff --git a/regs/systembus_bits.ods b/regs/systembus_bits.ods index a0baeb02296a49051ffcafe356f024b4204a41e3..20fade0d86f11ac5fa4d47f909f599bc3e233a54 100644 GIT binary patch delta 12506 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 delta 15723 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

^$}jo`AuzdBj<) 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 PRN{~rGb+E#-)jFKQmn%! diff --git a/systembus_bits.hpp b/systembus_bits.hpp index 9438840..80fce39 100644 --- a/systembus_bits.hpp +++ b/systembus_bits.hpp @@ -131,3 +131,13 @@ constexpr uint32_t holly_g2_if_block_internal_write_buffer(uint32_t reg) { retur constexpr uint32_t aica_internal_write_buffer(uint32_t reg) { return (reg >> 0) & 0x1; } } +namespace istext { +constexpr uint32_t external_device = 1 << 3; +constexpr uint32_t modem = 1 << 2; + +constexpr uint32_t aica = 1 << 1; + +constexpr uint32_t gdrom = 1 << 0; + +} +