Friday, April 03, 2020

#CSpect V2.12.9

Been a while since the last update. This one adds the 2 new Next Registers that are required for the very latest NextOS - which is the main reason for doing this. There are a lot of other fixes as well....


#CSpect V2.12.9 changes
  • 50hz/60hz bit now set in NextReg 5
  • -debug added to the command line. You can now "start" in the debugger.
  • Minor Fix to 60Hz audio
  • Fixed AY partial port decoding
  • Fixed a minor reset stall when it was waiting on a HALT before the reset
  • NextReg 0x8c added
  • NextReg 0x8e added
  • Added AltRom1 support
  • Fixed a serial port "send" bug. Now sends the whole byte
  • Fixed tile attribute byte bit 7 - top bit of palette offset was being ignored
  • Fixed esxDOS date/time function (M_GETDATE $8E)
  • NEX file 1.3 now parsed... should load more things
  • NEX files get IRQs switched off when loaded (as per machine)
  • Fixed esxDOS date is wrong
  • Fixed Border colour now sets the palette entry as well
  • Fixed GetRegister() in plugins not working
  • Fixed Copper run then loop not working
  • Fixed Top line (in 256 pixel high view) is missing
  • Fixed DI followed by HALT should stop the CPU
  • Fixed Hires tilemap has clipping on far right
  • F8 not steps over conditional jumps and branches that go backwards. Branches forwards are taken
  • Fixed ADD HL/DE/BC,A no longer affects flags
  • Fixed OUTI so that B is decemented first. (OTIR was already like that)
  • Minor change to 60hz audio
  • NextReg 0x69 can now be read
  • DMA Continue mode added
  • Fixed a timing issue with DMA, so timing much better


2 comments:

  1. So GetNextRegister still seems broken. Value below are comming stright out of the plugin (all in decimal), only value that looks correct is 0..

    REG 0 = 10
    REG 1 = 64
    REG 2 = 61
    REG 3 = 0
    REG 4 = 61
    REG 5 = 61
    REG 6 = 61
    REG 7 = 51
    REG 8 = 61
    REG 9 = 61
    REG 14 = 0
    REG 16 = 61
    REG 17 = 7
    REG 18 = 61
    REG 19 = 61
    REG 20 = 61
    REG 21 = 61
    REG 22 = 61
    REG 23 = 61
    REG 24 = 0
    REG 25 = 0
    REG 26 = 0
    REG 27 = 4
    REG 28 = 61
    REG 30 = 1
    REG 31 = 23
    REG 34 = 61
    REG 35 = 61
    REG 47 = 61
    REG 48 = 61
    REG 49 = 61
    REG 50 = 61
    REG 51 = 61
    REG 52 = 61
    REG 64 = 61
    REG 65 = 96
    REG 66 = 61
    REG 67 = 61
    REG 68 = 0
    REG 74 = 61
    REG 75 = 61
    REG 76 = 61
    REG 80 = 61
    REG 81 = 61
    REG 82 = 61
    REG 83 = 61
    REG 84 = 61
    REG 85 = 61
    REG 86 = 61
    REG 87 = 61
    REG 104 = 61
    REG 107 = 61
    REG 108 = 61
    REG 110 = 61
    REG 111 = 61

    ReplyDelete
  2. And i think its the default case thats causing it..

    default:
    return this.A[this.b] & 0xFF;

    this.b is never getting set so s returning garbage. So all the special cases are working ok just the rest of them are wrong..

    ReplyDelete