Compare commits

..

2 Commits

Author SHA1 Message Date
cb8fd7e345 systembus_bits: add istext 2025-06-25 15:03:27 -05:00
b51487d374 aica_common: correct sgc definition 2025-06-25 15:03:14 -05:00
6 changed files with 19 additions and 4 deletions

View File

@ -263,11 +263,11 @@ struct aica_common {
uint32_t SGC() const
{
return (static_cast<uint32_t>((reg_2810 >> 14) & 0x1) << 0);
return (static_cast<uint32_t>((reg_2810 >> 13) & 0x3) << 0);
}
void SGC(const uint32_t v)
{
reg_2810 = (((v >> 0) & 0x1) << 14) | (reg_2810 & 0xbfff);
reg_2810 = (((v >> 0) & 0x3) << 13) | (reg_2810 & 0x9fff);
}
uint32_t EG() const
@ -714,7 +714,7 @@ namespace aica {
}
namespace lp_sgc_eg {
constexpr uint32_t LP(const uint32_t reg) { return (static_cast<uint32_t>((reg >> 15) & 0x1) << 0); }
constexpr uint32_t SGC(const uint32_t reg) { return (static_cast<uint32_t>((reg >> 14) & 0x1) << 0); }
constexpr uint32_t SGC(const uint32_t reg) { return (static_cast<uint32_t>((reg >> 13) & 0x3) << 0); }
constexpr uint32_t EG(const uint32_t reg) { return (static_cast<uint32_t>((reg >> 0) & 0x1fff) << 0); }
}
namespace ca {

View File

@ -17,7 +17,7 @@
"MSLC",,"0x280c","13-8",,"w"
"MOBUF",,"0x280c","7-0",,"w"
"LP",,"0x2810","15",,"r"
"SGC",,"0x2810","14",,"r"
"SGC",,"0x2810","14-13",,"r"
"EG",,"0x2810","12-0",,"r"
"CA",,"0x2814","15-0",,"r"
"DMEA","0","0x2880","15-9","22-16","w"

1 name part address register_bits argument_bits rw
17 MSLC 0x280c 13-8 w
18 MOBUF 0x280c 7-0 w
19 LP 0x2810 15 r
20 SGC 0x2810 14 14-13 r
21 EG 0x2810 12-0 r
22 CA 0x2814 15-0 r
23 DMEA 0 0x2880 15-9 22-16 w

Binary file not shown.

View File

@ -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,,

1 register_name enum_name bits bit_name value mask description
60 FFST 5 holly_cpu_if_block_internal_write_buffer
61 FFST 4 holly_g2_if_block_internal_write_buffer
62 FFST 0 aica_internal_write_buffer
63
64 ISTEXT 3 external_device 1
65 ISTEXT 2 modem 1
66 ISTEXT 1 aica 1
67 ISTEXT 0 gdrom 1

Binary file not shown.

View File

@ -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;
}