1
0
mirror of https://github.com/TomHarte/CLK.git synced 2024-11-26 08:49:37 +00:00

Merge pull request #1203 from ryandesign/apple-ii-floating-bus-3

Fix Apple II/II+/IIe floating bus first eight non-hbl vbl bytes
This commit is contained in:
Thomas Harte 2023-11-14 10:59:29 -05:00 committed by GitHub
commit 29169ffed7
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -215,16 +215,16 @@ template <class BusHandler, bool is_iie> class Video: public VideoBase {
// Calculate the address.
uint16_t read_address = uint16_t(get_row_address(mapped_row) + mapped_column - 25);
if(hbl) {
// Wraparound addressing within 128 byte sections.
if(mapped_row < 64) {
read_address += 128;
}
// Wraparound addressing within 128 byte sections.
if(mapped_row < 64 && mapped_column < 25) {
read_address += 128;
}
if(hbl && !is_iie_) {
// On Apple II and II+ (not IIe or later) in text/lores mode (not hires), horizontal
// blanking bytes read from $1000 higher.
const GraphicsMode pixel_mode = graphics_mode(mapped_row);
if(!is_iie_ && ((pixel_mode == GraphicsMode::Text) || (pixel_mode == GraphicsMode::LowRes))) {
if((pixel_mode == GraphicsMode::Text) || (pixel_mode == GraphicsMode::LowRes)) {
read_address += 0x1000;
}
}