@@ -677,6 +677,7 @@ class tek440x_state : public driver_device
677677 output_finder<4 > m_leds;
678678 output_finder<> m_led_disk;
679679
680+ bool m_inbuserr;
680681 bool m_u244latch;
681682
682683 bool m_boot;
@@ -720,6 +721,7 @@ void tek440x_state::machine_start()
720721 save_item (NAME (m_videocntl));
721722 save_item (NAME (m_diag));
722723
724+ m_inbuserr = false ;
723725 m_maincpu->space (AS_PROGRAM ).install_write_tap (0x7be002 , 0x7be003 , " led_tap" , [this ](offs_t offset, u16 &data, u16 mem_mask)
724726 { m_led_disk = !(data & 0x18 );});
725727
@@ -808,8 +810,6 @@ void tek440x_state::ready_sound(int state)
808810}
809811
810812
811- static int inbuserr = 0 ;
812-
813813/* ************************************
814814 *
815815 * CPU memory handlers
@@ -834,7 +834,7 @@ u16 tek440x_state::memory_r(offs_t offset, u16 mem_mask)
834834 const offs_t offset0 = offset;
835835
836836#ifdef USE_MMU_INLINE
837- if (!inbuserr) // not in buserr interrupt
837+ if (!m_inbuserr) // not in buserr interrupt
838838 if ((m_maincpu->get_fc () & 4 ) == 0 ) // only in User mode
839839 if (BIT (m_map_control, MAP_VM_ENABLE ) )
840840 {
@@ -850,11 +850,11 @@ u16 tek440x_state::memory_r(offs_t offset, u16 mem_mask)
850850
851851// FIXME: if this is a prefetch, it will be cancelled in src/devices/cpu/m68000/m68kcpu.h, but we've changed m_map_control..
852852
853- inbuserr = 1 ;
853+ m_inbuserr = true ;
854854
855855 LOGMASKED (LOG_MMU ," memory_r: %06x: bus error: PTE_PID(%d) != mapcntl_PID(%d) fc(%d) pc(%08x) berr(%d) map_control(%02x) latch(%02x)\n " , offset<<1 ,
856856 BIT (m_map[offset >> 11 ], 11 , 3 ), (m_map_control & 7 ), m_maincpu->get_fc (), m_maincpu->pc (),
857- inbuserr , m_map_control, m_latched_map_control);
857+ m_inbuserr , m_map_control, m_latched_map_control);
858858 m_maincpu->set_buserror_details (OFF16_TO_OFF8 (offset0), true , m_maincpu->get_fc (), true );
859859
860860 mem_mask = 0 ;
@@ -880,10 +880,10 @@ u16 tek440x_state::memory_r(offs_t offset, u16 mem_mask)
880880 m_maincpu->set_buserror_details (OFF16_TO_OFF8 (offset0), true , m_maincpu->get_fc (), true );
881881 }
882882
883- if (inbuserr && (m_maincpu->get_fc () & 4 ))
883+ if (m_inbuserr && (m_maincpu->get_fc () & 4 ))
884884 {
885- LOGMASKED (LOG_MMU ," berr reset(r) %06x\n " , OFF16_TO_OFF8 (offset));
886- inbuserr = 0 ;
885+ LOGMASKED (LOG_MMU ," berr reset(r) %06x\n " , OFF16_TO_OFF8 (offset));
886+ m_inbuserr = false ;
887887 }
888888
889889 return m_vm->read16 (offset, mem_mask);
@@ -910,13 +910,13 @@ void tek440x_state::memory_w(offs_t offset, u16 data, u16 mem_mask)
910910 // LOG("memory_w: m_map(0x%04x)\n", m_map[offset >> 11]);
911911
912912 // is cpuWr
913- if (!inbuserr )
913+ if (!m_inbuserr )
914914 m_map_control |= (1 << MAP_CPU_WR );
915915
916916 // matching pid?
917917 if (!machine ().side_effects_disabled () && (BIT (m_map[offset >> 11 ], 11 , 3 ) != (m_map_control & 7 )))
918918 {
919- if (!inbuserr )
919+ if (!m_inbuserr )
920920 {
921921 // NB active low
922922 m_map_control &= ~(1 << MAP_BLOCK_ACCESS );
@@ -925,14 +925,14 @@ void tek440x_state::memory_w(offs_t offset, u16 data, u16 mem_mask)
925925 m_maincpu->set_buserror_details (OFF16_TO_OFF8 (offset0), false , m_maincpu->get_fc (), true );
926926 }
927927
928- inbuserr = 1 ;
928+ m_inbuserr = true ;
929929 }
930- else if (!inbuserr )
930+ else if (!m_inbuserr )
931931 {
932932 m_map_control |= (1 << MAP_BLOCK_ACCESS );
933933 }
934934
935- if (inbuserr )
935+ if (m_inbuserr )
936936 mem_mask = 0 ; // disable write
937937
938938 // write-enabled page?
@@ -942,7 +942,7 @@ void tek440x_state::memory_w(offs_t offset, u16 data, u16 mem_mask)
942942 {
943943 m_map_control &= ~(1 << MAP_BLOCK_ACCESS );
944944
945- inbuserr = 1 ;
945+ m_inbuserr = true ;
946946
947947 LOGMASKED (LOG_MMU ," memory_w: %06x bus error: READONLY fc(%d) pc(%08x)\n " , OFF16_TO_OFF8 (offset), m_maincpu->get_fc (), m_maincpu->pc ());
948948 m_maincpu->set_buserror_details (OFF16_TO_OFF8 (offset0), false , m_maincpu->get_fc (), true );
@@ -955,12 +955,12 @@ void tek440x_state::memory_w(offs_t offset, u16 data, u16 mem_mask)
955955 if (mem_mask)
956956 {
957957 if (!(m_map[offset >> 11 ] & 0x8000 ))
958- LOGMASKED (LOG_MMU ," memory_w: DIRTY m_map(0x%04x) m_map_control(%02x) berr(%d) fc(%d)\n " , m_map[offset >> 11 ], m_map_control, inbuserr , m_maincpu->get_fc ());
958+ LOGMASKED (LOG_MMU ," memory_w: DIRTY m_map(0x%04x) m_map_control(%02x) berr(%d) fc(%d)\n " , m_map[offset >> 11 ], m_map_control, m_inbuserr , m_maincpu->get_fc ());
959959 m_map[offset >> 11 ] |= 0x8000 ;
960960 }
961961
962962 // if (mem_mask)
963- // LOG("memory_w: map %08x => paddr(%08x) berr(%d) fc(%d) pc(%08x)\n",OFF16_TO_OFF8(offset), OFF16_TO_OFF8(BIT(offset, 0, 11) | BIT(m_map[offset >> 11], 0, 11) << 11), inbuserr , m_maincpu->get_fc(), m_maincpu->pc());
963+ // LOG("memory_w: map %08x => paddr(%08x) berr(%d) fc(%d) pc(%08x)\n",OFF16_TO_OFF8(offset), OFF16_TO_OFF8(BIT(offset, 0, 11) | BIT(m_map[offset >> 11], 0, 11) << 11), m_inbuserr , m_maincpu->get_fc(), m_maincpu->pc());
964964
965965 offset = BIT (offset, 0 , 11 ) | (BIT (m_map[offset >> 11 ], 0 , 11 ) << 11 );
966966 }
@@ -973,10 +973,10 @@ void tek440x_state::memory_w(offs_t offset, u16 data, u16 mem_mask)
973973 m_maincpu->set_buserror_details (OFF16_TO_OFF8 (offset0), false , m_maincpu->get_fc (), true );
974974 }
975975
976- if (inbuserr && (m_maincpu->get_fc () & 4 ))
976+ if (m_inbuserr && (m_maincpu->get_fc () & 4 ))
977977 {
978- LOGMASKED (LOG_MMU ," berr reset(w) %06x\n " , OFF16_TO_OFF8 (offset));
979- inbuserr = 0 ;
978+ LOGMASKED (LOG_MMU ," berr reset(w) %06x\n " , OFF16_TO_OFF8 (offset));
979+ m_inbuserr = false ;
980980 }
981981
982982 m_vm->write16 (offset, data, mem_mask);
0 commit comments