diff -r -C3 PiTubeDirect-hognose-dev/src/NS32016/32016.c NEW-IMPLEMENTATION/src/NS32016/32016.c
*** PiTubeDirect-hognose-dev/src/NS32016/32016.c	2022-06-12 06:33:11.000000000 -0500
--- NEW-IMPLEMENTATION/src/NS32016/32016.c	2022-08-07 22:27:46.071002186 -0500
***************
*** 26,31 ****
--- 26,36 ----
  #include "../cpu_debug.h"
  #endif
  
+ #ifdef BAS32
+ #include "Pandora.h"
+ #include "bas32.h"
+ #endif // BAS32
+ 
  #define CXP_UNUSED_WORD 0xAAAAu
  
  ProcessorRegisters PR;
***************
*** 33,43 ****
  static FloatingPointRegisters FR;
  static uint32_t FSR;
  
! static uint32_t pc;
  uint32_t sp[2];
  static Temp64Type Immediate64;
  
! static uint32_t startpc;
  
  RegLKU Regs[2];
  static uint32_t genaddr[2];
--- 38,48 ----
  static FloatingPointRegisters FR;
  static uint32_t FSR;
  
! uint32_t pc;
  uint32_t sp[2];
  static Temp64Type Immediate64;
  
! uint32_t startpc;
  
  RegLKU Regs[2];
  static uint32_t genaddr[2];
***************
*** 1505,1510 ****
--- 1510,1519 ----
  
           case SVC:
           {
+ #ifdef BAS32
+             int tkno = read_x8(startpc + 1);
+             FakeSVC(tkno);
+ #else
              temp = psr;
              psr &= (uint32_t)~0x700;
              // In SVC, the address pushed is the address of the SVC opcode
***************
*** 1516,1521 ****
--- 1525,1531 ----
              sb = read_x32(mod);
              temp2 = read_x32(mod + 8);
              pc = temp2 + temp3;
+ #endif
              continue;
           }
           // No break due to continue
diff -r -C3 PiTubeDirect-hognose-dev/src/NS32016/32016.h NEW-IMPLEMENTATION/src/NS32016/32016.h
*** PiTubeDirect-hognose-dev/src/NS32016/32016.h	2022-06-12 06:33:11.000000000 -0500
--- NEW-IMPLEMENTATION/src/NS32016/32016.h	2022-08-07 22:30:13.320224272 -0500
***************
*** 1,5 ****
--- 1,11 ----
  #include "../logging.h"
  
+ #ifdef BAS32
+ #include "Pandora.h"
+ #endif
+ 
+ extern uint32_t pc, startpc;
+ 
  /* A custom warning logger for n32016 that logs the PC */
  void n32016_warn(const char * fmt, ...);
  
diff -r -C3 PiTubeDirect-hognose-dev/src/NS32016/mem32016.c NEW-IMPLEMENTATION/src/NS32016/mem32016.c
*** PiTubeDirect-hognose-dev/src/NS32016/mem32016.c	2022-06-12 06:33:11.000000000 -0500
--- NEW-IMPLEMENTATION/src/NS32016/mem32016.c	2022-08-07 22:09:14.492066165 -0500
***************
*** 20,35 ****
  static uint32_t RAM_SIZE;
  
  #ifdef BEM
- 
  #include "../tube.h"
  static uint8_t ns32016ram[MEG16];
- 
  #else
! 
  #include "../tube-client.h"
  #include "../tube-ula.h"
  static uint8_t * ns32016ram;
! 
  #endif
  
  #ifdef TEST_SUITE
--- 20,36 ----
  static uint32_t RAM_SIZE;
  
  #ifdef BEM
  #include "../tube.h"
  static uint8_t ns32016ram[MEG16];
  #else
! #ifdef BAS32
! #include "../tube.h"
! static uint8_t ns32016ram[MEG16];
! #else
  #include "../tube-client.h"
  #include "../tube-ula.h"
  static uint8_t * ns32016ram;
! #endif // BAS32
  #endif
  
  #ifdef TEST_SUITE
***************
*** 49,54 ****
--- 50,59 ----
  #define PANDORA_VERSION PandoraV2_00
  #endif
  
+ #ifdef BAS32
+ #include "bas32.h"
+ #endif // BAS32
+ 
  void init_ram(void)
  {
     if (copro_memory_size > 0)
***************
*** 62,70 ****
     } else {
        RAM_SIZE = MEG1;
     }
! #ifndef BEM
     ns32016ram = copro_mem_reset(RAM_SIZE);
  #endif
  #ifdef TEST_SUITE
     memcpy(ns32016ram, ROM, sizeof(ROM));
  #elif defined(PANDORA_BASE)
--- 67,77 ----
     } else {
        RAM_SIZE = MEG1;
     }
! 
! #if !defined(BEM) && !defined(BAS32)
     ns32016ram = copro_mem_reset(RAM_SIZE);
  #endif
+ 
  #ifdef TEST_SUITE
     memcpy(ns32016ram, ROM, sizeof(ROM));
  #elif defined(PANDORA_BASE)
diff -r -C3 PiTubeDirect-hognose-dev/src/NS32016/Trap.c NEW-IMPLEMENTATION/src/NS32016/Trap.c
*** PiTubeDirect-hognose-dev/src/NS32016/Trap.c	2022-06-12 06:33:11.000000000 -0500
--- NEW-IMPLEMENTATION/src/NS32016/Trap.c	2022-08-07 21:12:37.229283735 -0500
***************
*** 9,14 ****
--- 9,18 ----
  #include "Trap.h"
  #include "Profile.h"
  
+ #ifdef BAS32
+ #include "bas32.h"
+ #endif
+ 
  uint32_t TrapFlags;
  
  static const char TrapText[TrapCount][40] =
diff -r -C3 PiTubeDirect-hognose-dev/src/NS32016/Trap.h NEW-IMPLEMENTATION/src/NS32016/Trap.h
*** PiTubeDirect-hognose-dev/src/NS32016/Trap.h	2022-06-12 06:33:11.000000000 -0500
--- NEW-IMPLEMENTATION/src/NS32016/Trap.h	2022-08-07 21:27:15.341031424 -0500
***************
*** 1,4 ****
! #define TrapTRACE log_info
  
  enum TrapTypes
  {
--- 1,4 ----
! #define TrapTRACE(fmt,mess,...) log_info(fmt,mess,...)
  
  enum TrapTypes
  {
