uint32_t offset;
uint32_t vramaddr;
uint32_t color = (addr >> 14) & 0x03;
-
# if defined(_FM77AV40) || defined(_FM77AV40EX) || defined(_FM77AV40SX)
if(display_mode == DISPLAY_MODE_8_400L) {
color = vram_bank & 0x03;
#else
offset = offset_point;
#endif
-
+# if defined(_FM77AV40EX) || defined(_FM77AV40SX)
+ if(vram_active_block != 0) offset = 0; // Don't scroll at BLOCK 1.
+# endif
#if defined(_FM77AV40) || defined(_FM77AV40EX) || defined(_FM77AV40SX)
if(display_mode == DISPLAY_MODE_8_400L) {
uint32_t pagemod;
#else
offset = offset_point;
#endif
+# if defined(_FM77AV40EX) || defined(_FM77AV40SX)
+ if(vram_active_block != 0) offset = 0; // Don't scroll at BLOCK 1.
+# endif
#if defined(_FM77AV40) || defined(_FM77AV40EX) || defined(_FM77AV40SX)
if(display_mode == DISPLAY_MODE_8_400L) {
// ACCESS VIA ALU.
else if((addr >= DISPLAY_VRAM_DIRECT_ACCESS) && (addr < (DISPLAY_VRAM_DIRECT_ACCESS + 0x18000))) {
addr = addr - DISPLAY_VRAM_DIRECT_ACCESS;
+# if defined(_FM77AV40EX) || defined(_FM77AV40SX)
+ if(vram_active_block != 0) {
+ offset = 0;
+ }
+# endif
# if defined(_FM77AV40) || defined(_FM77AV40EX) || defined(_FM77AV40SX)
if(display_mode == DISPLAY_MODE_8_400L) {
uint32_t page_offset_alt = 0;
# if defined(_FM77AV40EX) || defined(_FM77AV40SX)
- if(vram_active_block != 0) page_offset_alt = 0x18000;
+ if(vram_active_block != 0) {
+ page_offset_alt = 0x18000;
+ }
# endif
uint32_t color;
uint32_t pagemod;
// ACCESS VIA ALU.
else if((addr >= DISPLAY_VRAM_DIRECT_ACCESS) && (addr < (DISPLAY_VRAM_DIRECT_ACCESS + 0x18000))) {
addr = addr - DISPLAY_VRAM_DIRECT_ACCESS;
+#if defined(_FM77AV40EX) || defined(_FM77AV40SX)
+ if(vram_active_block != 0) {
+ offset = 0;
+ }
+#endif
#if defined(_FM77AV40) || defined(_FM77AV40EX) || defined(_FM77AV40SX)
if(display_mode == DISPLAY_MODE_8_400L) {
uint32_t vramaddr;