Home > Firmware, Hardware, News & Rumors, Projects / Repairs, Sid Player, Today > The return of the Hybrid Sid Player Firmware update v1.16

The return of the Hybrid Sid Player Firmware update v1.16

The return of the Hybrid Sid Player by xAD/Nightfall & Gianluca Renzi (RetroBit Lab)

Based on the Project and Hardware Schematic by Markus Gritsch released in the years 2011-2015 on the forum dangerousprototypes. Thanks Markus.

Changelog:

v1.16 – 29/11/2021

Updated:

  • Illegal/undocumented opcodes to the CPU Emulator:
    • LAE (LAS/LAR) Combinations of STA/TXS and LDA/TSX.
    • ANE (XAA) Combination of an immediate and an implied command.
    • All 6502/6510 instructions have been implemented.
  • Increased the maximum number of files per directory from 512 max to 800 max.
  • Improved delay routine for read/write eeprom via I2c bitbang, it should now be compatible with all levels of the XC32 compiler code optimization.
  • Replaced and splitted the Splash Screen Logo during the boot. Thanks to Federico di dato for the Retrobit LAB logo.

Fixed:

  • The BRK opcode, opcode that will probably will never used in our case.
  • Missing +2 Machine Cycle Times for the opcodes: BPL,BMI,BVC,BVS,BCC,BCS,BNE,BEQ due to some previous performance improvment of the 6502/6510  emulator code, i was probably drunk, indeed, i’m sure. %-)
  • The clock “|CIA|” was displayed mistakenly when you choose to play a file in DMP format but this is wrong because the DMP file format doesn’t support the information of clock used (VBI/CIA) in the file header.
  • The previous and next button did not work if there are only two files (SID or DMP) available to play in the folder.
  • Incorrect Machine Cycle Times for the NOP opcode, four times instead of two. %-)
  • Sometimes the version number displayed during boot would pop outside from the right side of the oled screen.
  • Wrong Machine Cycle Times for the SLO, SRE(LSE), DCP, RLA, ISC(ISB) Illegal/undocumented opcodes with Indexed-indirect addressing of X,Y-Registers.

  1. No comments yet.
*


three × 1 =