Roland SC-88Pro Firmware v1.02 IC26 (main firmware aka program ROM) is pin-compatible with 27C800 EPROMs and similiar devices. Use 100ns type or faster for guaranteed compatibility. Chip is in a turned-pin IC socket so is quite easily removed and replaced. Can be read/written with TL866 series programmers with a suitable adapter. Suggested adapters: github.com/keirf/pcb-projects/wiki/EPROM-Adapter github.com/keirf/pcb-projects/wiki/EPROM-Adapter-v4 Can be purchased fully assembled on eBay. DO NOT TRY TO PROGRAM ORIGINAL MASKROM! It is not reprogrammable and may be destroyed by attempting to program it. Buy a 27C800 if you want to mess around with romhacking/upgrading or whatever. Files include low 512K bank, high 512K bank, and full 1024K, For programming an EPROM you may need the 512K banks, or if the software supports file offsets (e.g. Xgpro) the normal full version is fine. Also includes a byte-swapped full version in which strings are more readable, should not be used for programming. If you need to perform a byte-swap yourself for some reason you can use dd: dd if=path/to/source.bin of=path/to/destination.bin conv=swab Works fine with any recent version of dd for Windows. Instructions for programming with TL866 series and Xgpro software Preparation: 01. Insert adapter into programmer and lock it. 02. Insert blank 27C800 EPROM into adapter with pin 1 at "42-pin" mark (base of chip closest to USB plug, pin 1 mark towards opposite end) and lock it. 03. Ensure the "27C322" switch on adapter is in the up/other/27Cxx0 position. 04. Connect the TL866 to the PC and open the Xgpro software. 05. Select IC = AMD AM27C4096 (search 27C4096 and select the first one). 06. Untick the "Check ID" box and SET PROGRAMMING OPTIONS according to the chip datasheet. Leave everything else as default. Options for ST M27C800-100F1: VPP Voltage 12.5, VDD Write 6.5, VCC Verify 5.0, Pulse Delay 50us 07. Set A18 = 0 (A19/A20 don't care) or bank select = 0 on the adapter. 08. Click the "BLANK" button to verify the chip is blank. UV erase if needed. 09. Repeat blank check with A18 = 1 or bank select = 1. UV erase if needed. 10. Place a sticker over the UV window to prevent accidental erase. Programming low bank: 11. Set A18 jumper = 0 or bank select switch = 0. 12. Load "sc88pro_v1.02.bin" with FILE START ADDRESS HEX 00000. 13. Click the "PROG." button to program low bank and wait for completion. Programming high bank: 14. Set A18 jumper = 1 or bank select switch = 1. 15. Load "sc88pro_v1.02.bin" with FILE START ADDRESS HEX 80000. 16. Click the "PROG." button to program high bank and wait for completion.