Hi GBATemp community,
I'm trying to understand how custom sensors added to certain cartridges work, such as Boktai's sunlight sensor. the thread "boktai-solar-sensor-patch-kit.245127" (cant post a link...) lists a neat ROM hack where I can defer the address in the assembly where the sensor data is read. And I understand that any game can solder on any kind of sensor, it's game-specific, not platform-specific.
I'm a software guy, not a hardware one, so I wonder: to the devs just 'know' you have to read memory location XXXX and that's where the sensor will be? (like VRAM at 0x6000xx etc...) I presume that is the case. Meaning I can create a game that has a "light sensor" (at a certain pre-set address?) and mGBA could manipulate it's values using emulation->solar sensor->increase brightness menus. Or is there some kind of bridge between GBA BIOS/IRQ calls for sensors built-in?
Thanks for clearing that up!
I'm trying to understand how custom sensors added to certain cartridges work, such as Boktai's sunlight sensor. the thread "boktai-solar-sensor-patch-kit.245127" (cant post a link...) lists a neat ROM hack where I can defer the address in the assembly where the sensor data is read. And I understand that any game can solder on any kind of sensor, it's game-specific, not platform-specific.
I'm a software guy, not a hardware one, so I wonder: to the devs just 'know' you have to read memory location XXXX and that's where the sensor will be? (like VRAM at 0x6000xx etc...) I presume that is the case. Meaning I can create a game that has a "light sensor" (at a certain pre-set address?) and mGBA could manipulate it's values using emulation->solar sensor->increase brightness menus. Or is there some kind of bridge between GBA BIOS/IRQ calls for sensors built-in?
Thanks for clearing that up!