Casio ML-90 (musical calculator with clock & 12 melodies)
Casio ML-8
Casio ML-78

Casio ML-90

This pocket instrument of 1980 belonged to the most sophisticated Casio musical calculators with clock. While the general behaviour resembles Casio ML-81, this top of the line model had 12 built-in melodies, including "Happy Birthday" and "Wedding March" played as alarm clock tone on a selectable day, and "Jingle Bells" sounding on Xmess. The alarm-1 can choose here one of 7 melodies or cycle through them for each day of the week.

Once upon a time, calculators at school were considered as cool as nowadays smartphones. Although still mostly banned in math lessons as a cheating tool, kids boasted with having the newest calculator with the most interesting non-mathematical features. So as a highend gadget, the German retail price of this one was (if I remember well) quite enormous 119DM (equals roughly the same in modern Euros). But with 12 melodies, musical calculation result rendition and alarm clock calendar complications it was a technical marvel of its time, that despite high initial price sold quite well, so nowadays it is fortunately not rare.

Unfortunately the ML-90 is not Y2K compliant, i.e. only dates between 1910 and 1999 can be set, so the day of week now is displayed wrongly.

This model was also released as Casio ML-120. Due to strong similarities I only describe here the differences to ML-81.

different main features:

eastereggs:

  • one key play: Buttons "time", "lap" or "start/stop" step a running melody forward. Pressing "melody select" in time mode repeats the current note of a running melody.
  • "00000000" button addable (sounds 8x "0" as calculator result).
  • time signal toggle button addable.
  • notes:

    As a kid I had begged my parents for getting this fairly expensive little device for xmess. Most exciting of this model was (of course beside the 12 melodies) the musical playback of calculator results - a feature I didn't have in my Casio MG-880 and that basically became my first experience with a composing algorithm. I.e. typing things like "2" and repeating squareroot, or typing "3 ÷ ÷ 2" and repeating "=" often produced surprisingly melodic quasi-classical compositions. And during battery insertion, this ML-90 specimen (serial sticker "0D308A") sounded the wicked R2D2 glitch, involving all kinds of truly bizarre tweeting and chirping sounds with surreal raving LCD segment nonsense that ran for minutes or until pressing the tiny "P" (reset) button at the bottom. Who could ever know if extraterrestrial communication was now taking over the device, or if the date calculation mode featured a well hidden button combination for starting the embedded time machine...

    Finally the LCD foil cable got damaged when I looked inside, but I could fix this by installing an adhesive foam rubber strip (which buckled the front). I also had broken the clock trimmer, which resulted in strange random crashes (waked me up with scary nightly noises), hence I ripped it out which made the clock inaccurate. When I recently I looked inside again, I saw how badly plenty of screws were mangled or missing and screw holes shred, and how I had botched it back together with hotglue and way too big solder blobs on a too fat replaced speaker cables. I later had bought one in better condition on eBay, but this specimen (serial sticker "0D304A") lacks the R2D2 glitch, because it has an additional resistor.

    Annoying is that (unlike ML-80 or ML-81) the internal calendar supports only dates between 1910 and 1999 (entered as 2 digit numbers), which since 2000 makes the day-of-week dot indicator and related melody alarms go wrong. It also has no date calculation, despite some residues of it still can be seen by entering incorrect dates; so e.g. 18-13-32 is automatically corrected into 19-02-01 by advancing higher digits, and dates still can be entered in calculator (no only 'set') mode despite nothing else can be done with them (neither calculation nor storing a date into memory works). Possibly this was done to to reduce rom consumption of the software to make the 12 melodies fit.

    Setting the slide switch to music mode plays the first 3 notes of "Westminster". The musical calculator mode works like in ML-81. Unfortunately ML-90 lacks here the "one key play" feature to manually cycle through the notes of calculation results. Only melodies can be stepped forward or notes repeated.

    caution: A design flaw of Casio ML-90 and similar models is that the sheet metal front of the slim case tends to loosen or fall off by flexing or ageing of the internal glue, making keys dislodge or fall out. Although this can be fixed with dual sided carpet adhesive tape, it is a messy work involving lots of small parts. Particularly the tiny metal disc under the clock set hole tends to fall in or out and get lost.
     

    hardware details

    The Casio ML-90 is based on an unidentified version of the D1864G CPU (crystal clocked likely at 32.768 kHz), which directly drives the piezo speaker. This CPU is soldered upside-down, so the print side can not be seen, but by pinout and behaviour it is almost for certain a software variant of the same CPU like in Casio ML-81.
    note: To open the case correctly, remove the 2 rear screws, carefully lift the bottom into a 90° position and pull it out. Be very careful not to scratch the LCD foil cable with the sharp rear edges of the metal bottom. If only a button got stuck under the metal rim, try to slide it into place with a piece of adhesive film on a stick (or finger) without dismantling the rest.

    Do not remove the PCB or LCD if avoidable; the foil cable is fragile and in this model has no reinforcing adhesive film on the opposing side of the connector. The big black plastic plate (stabilizer) can be unscrewed and lifted off (be careful with the speaker wire). The stabilizer must be screwed properly on top of the PCB to prevent the case from flexing; else buttons get stuck or fall in when pushed to hard. Thus for tests only press them very lightly if the stabilizer is not in place. The PCB is held with 2 additional tiny black screws. After lifting it up, also the LCD metal frame can be carefully lifted out (not at the cable!), starting at its lower rim.

    caution: The LCD foil cable is fragile. Never pull at it (it may snap off) nor sharply fold it (carbon traces crumble off). Handle it with extreme care. (If the cable comes loose at an end, install an adhesive foam rubber strip to press it on.) The upper tabs of the LCD metal frame must be inserted under the plastic rim, then the bottom end carefully pushed down.

    The case front is an annoying construction, consisting of a plastic rim with thin sheet aluminium structure frame inside (held by tabs), that stabilizes the outer front shell. The bad thing is that both sheet metal parts are sandwiched together only by thin double sided adhesive tape, which turns brittle over time. This makes (particularly after flexing) the case front come loose and metal buttons get stuck underneath. In worst case the entire front may fall off, spawning lots of small parts (including buttons and a tiny grounding spring) everywhere. The most annoying part is a tiny metal disc under the "ADJ/SET" hole, that tends to disappear between both metal layers (impossible to get out without separating the entire case, which may leave bend marks) once the surrounding glue went bad. To prevent this, glue the disc with a small piece of double sided carpet adhesive tape or glue stick to its place on the rubber contact mat. (I had lost the disc and made a new one from a 3.5'' diskette metal slider (also tea light cup may work) - later I found it stuck between layers.) If the front shell came loose, fix it with carpet adhesive tape.

    test modes

    The CPU test pins are wired here to 0V and need to be desoldered for access. Pulling pin 64 hi switches the keyboard into a test mode, which disturbs keyboard matrix sensing in strange ways (buttons hold notes of a running melody etc.).

    Pulling pin 63 hi enters another test mode which adds glitches to the display contents. The '4' and '5' keys sound a continuous tone with the pitch (and previous volume step?) of the last played note. Pressing them again makes the volume increase by each one step (7 in total) and return to 0 (silence), which was likely made for DAC testing. Key '3' switches volume (and sometimes slowly pitch?) in more irregular order, and during each press also a dot travels left to right through the display and sometimes the rightmost digit changes. Likely this was made to test internal memory addresses, but the output looks very messy and is certainly not a hex monitor. Also other buttons do semi-random nonsense. E.g. "melody select" sometimes blanked the display (messes up LCD voltage or frequencies?).

    Like in ML-81, during both test modes I observed fast data pulses on matrix out pins.

    keyboard matrix

    The keyboard matrix of this monophonic instrument has no diodes. The only 4 input lines hint to a simple 4-bit architecture. I found only 3 eastereggs and no doublets.
     
    8
    9
    10
    11
     
    CPU pin
    in 1
    in 2
    in 3
    in 4
    in / out
     
    date memory-I
    '%'
    '÷'
    o
    C2 '1'
    out 1
    2
    date
    o
    D3 '9'
    '×'
    o
    B1 '0'
    out 2
    3
    alarm-II
    o
    C3 '8'
    '-'
    o
    A1 '.'
    out 3
    4
    alarm-I
    o
    B2 '7'
    '+'
    '='
    out 4
    5
    date memory-II
    squareroot
    'M+'
    o
    D2 '2'
    out 5
    6
    adj/set
    time signal
    on/off
    '='
    o
    A2 '6'
    out 6
    7
    time
    'AC'
    melody select
    o
    G2 '5'
    out 7
    12
    lap
    'C'
    '00000000'
    o
    F2 '4'
    out 8
    13
    start/stop
    'MRC'
    'M-'
    o
    E2 '3'
    out 9
    14
    M.
    time
    M.
    set
    M.
    music
    M.
    calculator
    out 10
    17
    M.
    clock
    M.
    melody on
    -
    -
    out 11
    18

    The input lines are active-high, i.e. react on +Vs. Any functions can be triggered by a non- locking switch in series to a diode from one "out" to one "in" pin.

    The matrix out pulses have only 2Hz, despite inputs are sensed faster. Likely it does an additional pulse when input voltage changes. The slide switch needs no locking contacts. If removed (the bridging contacts interfere with buttons in intermediate positions), after battery insertion the device starts in calculator mode (seems to crash more often, possibly by improper reset).
     

    legend:

    "o"
    = keyboard key
    underlined
    = function needs locking switch (i.e. stays active only so long the switch is closed)
    M.
    = 'mode' switch
    orange
    background 
    = easteregg (unconnected feature)
    grey
    background
    = unconnected doublet

  • '00000000'

  • When in music mode, a button wired at 13->10 displays "00000000" and sounds 8x "0" (without dot) like a calculation result. During calculation it clears entered numbers and behaves like having "0." in the display. (E.g. memory or operators turn it into a normal zero.) Likely this was a test feature.
  • time signal on/off

  • A button wired at 7->9 toggles the time signal (bell icon) on/off. Basically this does the same like pressing '=' in 'set' mode, except that this works in any mode. Possibly this was planned to ease operation of an alarm clock version.
    • clock mode

    • A button wired at 18->8 locks the display into 'time' mode, i.e. pressing 'date' or alarms etc. makes the display rapidly return to time display. Unlike pressing the normal 'time' button, this matrix place has no "one key play" behaviour. This feature is used in Casio ML-8 to display time when the lid is closed.
       
    • melody on

    • A locking switch at 18->9 plays the 'alarm I' melody when the clock mode contact 18->8 is opened and stops the still running melody (but no others) when clock mode is closed again (used in ML-8).
    I have not searched for fixed diode eastereggs those are only sensed during reset.

    The 12 melodies are:

    To listen to the alarm melodies, in music mode press "AC", then the corresponding "alarm" or "date memory" button and then cycle through the melodies of that bank with "melody select". The beeper, "Westminster" and "Jingle Bells" can be played with only "AC" and then "melody select". Running melodies can be stepped forward faster (not stopped) by pressing "time", "lap" or "start/stop", or their current note can be repeated (stuttered) by pressing "melody select" while time is displayed. The so-called "German folk song" also here is genuinely the Japanese children song "Yama No Ongakuka" (falsely known as "Unterlanders Heimweh"). It would not surprise me when the 2nd German folk song "Trinklied" (means "drinking-song") is fake too. The back of the manual booklet even shows a JASRAC number M4A0057 for royalties of the built-in musics (or the included "Twinkle Twinkle Little Star" score sheet?).

    The "electronic buzzer" of alarm-1 goes "bleepbleepbleepbleepbleepbleep - bleepbleepbleepbleepbleepbleep -...", that of alarm-2 goes "bleepbleepbleep - bleepbleepbleep -...". Alarm is set by typing e.g. "1200 AM # 0 'alarm-1' ". The cipher 0 behind "#" ("melody select") stands for buzzer. Very confusing is that once set, this completely prevents manual start of the alarm-2 melody (not even by "melody select"). With alarm-2 you simply have to set an alarm with omitted "#" to get the melody back. I remember that this drove me crazy when as a child I desperately thought I had now permanently erased the melodies. (I think my parents even finally asked in the shopping center how to get them back, and the vendor pressed "P" or even took batteries out because he had no clue how to enable them without reset.) To get the melodies back, simply set its alarm time without "#" + cipher to return to default behaviour. To toggle an alarm on/off (displays icon when on) enter "set" mode and press its button twice.

    The Westminster chime (here wrongly named "Big Ben") is very famous in Japan - not only in clocks but also as their classic school gong; however even this one slightly differs from the traditional 4-bell clock chime, because it plays "E3, C3, D3, G3 - E3, C3, G2, C3". The ML-90 clock plays it only at 12:00 noon (no hour tolls) but at other hours sounds the time signal, which is here a beeper ("bibibi - bibibi") that differs from ML-81. To toggle time signal on/off enter "set" mode and press "=" (displays bell icon when on).

    Casio ML-8

    This musical calculator of 1979 was a noble flip case variant of Casio ML-90. Apparently it even came out 1 year earlier although some features were omitted.

    (old eBay photos)
    A contact in the lid switches the LCD (with display window) into time mode when the lid is closed. As a special gimmick this is also used like in a chest-style musicbox to start a melody (same like "alarm I" button) when the lid is opened, and stop it when closed. There is even a dedicated "melody on/off" slide switch on the back to disable this feature.

    different main features:


    (old eBay photo)

    eastereggs:

  • everything of ML-90. (The LCD even has the "M" icon for calculator memory.)
  • notes:

    The lid contact only stops its automatically started melody, not a melody started by hand. Unlike ML-90, this model has no "P" button and was likely designed to reset itself automatically during battery insertion. But battery wiggling causes the typical shitshot behaviour. Also here the CPU print can not be seen because it is mounted upside-down, but it behaves identical.

    caution: To replace batteries, only unscrew the 2 bottom screws to detach the top. Do not attempt to pry or peel at the sheet metal panel, else it comes off and all keys and switches will fall out! This can also happen by ageing. See ML-90 hardware how to fix this.

    Casio ML-78

    This small calculator is a badly crippled variant of Casio ML-90.

    The buttons for melody select ("#"), date alarm I & II and even the squareroot have been omitted, which makes it way less interesting. Only 8 melodies are available, of those the 7 of alarm I can not be selected manually anymore (neither for alarm nor demo), but depend on the day of the week. Also the feeble speaker sounds thin and way too quiet.

    Calculators based on ML-90 hardware can be recognized by the bell icon under the "=" button, and they normally also have a "melody select" button. A credit card size version came out 1982 as ML-75 and a very rare desktop calculator (silver with rounded plastic buttons) as ML-1200. A fullsize alarm clock version (plastic case with lid over calculator buttons, bigger speaker) came out as Casio MQ-100 (white) and MQ-1200 (silver).
     

     removal of these screws voids warranty...    
    WarrantyVoid
    back to tablehooters collection
     
     
    back