Sharp PC-1500/1600 ROM Dump Method 1: Audio Transfer via CE-150 Extension

In this post I’m describing a method which is widely used to Dump RAM and ROM images on Sharp PC-1500 and PC-1600 systems. This method is non-destructive and can be used on most Sharp PC ROMs and extension cards. It only requires a Sharp CE-150 extension, an audio cable, and a computer with a microphone input (i.e. sound card).

Besides a plotter, the CE-150 Color Graphic Printer also provides two audio interfaces (line-in and microphone output). These were (and still are) used to transfer code or data between Sharp PCs and tape recorders. Today, such recorders are mostly outdated but the method works nonetheless with sound cards. Software tools are freely available (e.g. pocket-tools) that allow the transformation of recorded audio files into binary dumps and even further into BASIC code.

For dumping ROM images from the  Sharp PC onto a computer the output of the CE-150 is connected to the microphone input of the sound card. If you still have the original cable (shown below) to connect them – perfect. Otherwise any 3.5 mm male to male mono or stereo cable should do the job.

PC-1500 Interface Cable

The CE-150 provides a set of BASIC commands to facilitate loading and saving binary data and BASIC programs. The CSAVE command allows data dump of a defined memory region:

> CSAVE M -1 "filename"; expr1,expr2,expr3
> CSAVE M expr1,expr2
  • filename – optional; unnecessary for ROM dumps.
  • expr1 – First memory address that should be read.
  • expr2 – Last memory address that should be read.
  • expr3 – optional; program load/execution address.

The following graphic shows the memory map of the Sharp PC-1500. The PC-1500A has a slightly different mapping (not shown).

PC-1500 Memory Map

By default memory from within the 64k ME0 area will be dumped. Keep in mind that there are different areas addressable depending on the setting of the ME0, ME1, PU, and PV flip-flops. Only ME0 can be addressed directly via CSAVE as far as I know. You can still copy content from one range to another (with PEEK/POKE [#] iterating over two memory ranges), then dump it. At least that’s what I’ve done before having more advanced machine language tools…

The following two examples transmit the contents of the 16k ROM (C000h – FFFFh) of the Sharp PC-1500 and the 8k CE-150 ROM (&A000h – &BFFFh):

> CSAVE M &C000,&FFFF

> CSAVE M &A000,&BFFF

On the PC (i.e. the tape recorder) side I’m using Audacity, an open source audio recorder/editor to record the incoming signals. I usually set the sample rate to 16000 Hz at one channel. I found it is best to keep the maximum amplitude somewhere around 0.7. After the recording has finished I remove possible silence at the beginning and end. When saving/exporting the audio file make sure to choose “unsigned 8 bit PCM” as codec and “WAV (Microsoft)” as header.

Audacity Screenshot

Converting the audio into a ROM image file with wav2bin (part of the pocket-tools) is pretty simple:

$ ./wav2bin -t img sharp_ce-150_a000-bfff.wav
Synchro found : 8.1 seconds at 2500 Hz, last count : 0, total : 0
Wave format : 0xA0 -> Binary, PC-1500
Save name : 
Start Address : 0xA000
Buffer Length : 8192 bytes
Output format : Binary

BTW: I really recommend to turn off the internal buzzer to avoid the annoying beeps from being played loud during data transfer.

> BEEP OFF

[Schematics Source: Sharp PC-1500 Technical Reference Manual & Sharp PC-1500 Benutzerhandbuch]

7 thoughts on “Sharp PC-1500/1600 ROM Dump Method 1: Audio Transfer via CE-150 Extension

  1. Pingback: Sharp PC-1500/1600 ROM Dump Method 2: Desoldering the ROM Chips – Kai Christian Bader

  2. Pingback: Dump RAM and ROM on Sharp PC-1500/1600s using Audacity software « Adafruit Industries – Makers, hackers, artists, designers and engineers!

  3. Pingback: Dump Your (Old) Computer’s ROM Using Audacity | wisdomparliament

  4. Pingback: Dump Your (Old) Computer’s ROM Using Audacity | Geek Casual

  5. Pingback: Dump Your (Old) Computer’s ROM Using Audacity - SHelfinger

  6. Pingback: Sharp PC ROM File Collection (with Hashes) – Kai Christian Bader

  7. Hallo!
    viele Grüße aus Memmelsdorf bei Bamberg….

    hab’ meinen alten PC-1500 wieder herausgezogen um ihn meinen Jungs (13, 15J) zu zeigen!

    Habe vor vielen Jahren das interne 2KB RAM durch ein 32KB SMD-RAM ersetzt. Seit dem zeigt er 28000+ (aktuell hat ihn die Tochter in Erlangen) “Frei” an. Habe mir jetzt SMD F-RAMS bestellt… tausche vlt. das CMOS-SMD RAM aus…

    War früher ‘mal ziemlich kompetent in der PC-1500 Hardware.

    In den Modulschacht habe ich ein Eprom, mit den Software-Paketen RWE-Basic 1-3 (jeweils 2KB) und (ich glaube…) einem Assembler.
    Tochter bringt den PC1500 mit… dann muss ich mal sehen ob das EProm gelöscht ist. Wenn nicht, schreibe ich es in ein F-RAM um (und setze den Schreibschutz-PIN) die sollen die Daten für 100+ Jahre halten..

    Interessant Ihre Arbeit hier – hätte mir früher sehr geholfen!
    Habe mir bei ebay ein CE-160 8KB (RAM-)Modul gekauft. Nun höre ich, das es nur mit einem speziellen Programmer beschreibbar ist…
    Was für 2 RAM-Chips á 4KB (oder 8Kx4Bit) wurden da eigentlich verbaut???
    Haben Sie herausgekriegt, wie man das Modul in ein CE-160 in ein normales RAM-Modul verwandelt?

    Den defekten Drucker mit dem Kassetteninterface habe ich irgendwann mal weggeworfen – was ich heute vlt. bedauere!

    Haben Sie vlt. noch so ein Breakout-board
    -für das Modulfach oder –
    den 60-pol. Connector (habe noch einen Stecker/buchse dafür)?

    Ich kann es mir von ihrer Webseite (Breakout-board Beschriftung) herausfinden, aber haben Sie eine Kontakt-Belegungsliste vom Connector im Modulfach.

    Mit freundlichen Grüßen
    Hans-Günther
    Engelmann

Leave a Reply

Your email address will not be published.