|
Joined: Apr 2005
Posts: 611 Likes: 3
Senior Member
|
OP
Senior Member
Joined: Apr 2005
Posts: 611 Likes: 3 |
I decided to dump the EPROMs on that beautiful DEC DMB32 communication controller: ![[Linked Image from i.imgur.com]](https://i.imgur.com/jw98iqO.jpg) Yes, I know, there's no VAX emulation in MAME (yet) but maybe at some point this will come in handy. Now I'll get this framed and hang it on a wall  The EPROM dumps and some higher-resolution photos can be downloaded here. I also included the two manuals for the DMB32 that are available on MANX, just in case.
|
1 member likes this:
exidyboy |
|
|
|
Joined: Jan 2021
Posts: 51 Likes: 30
Member
|
Member
Joined: Jan 2021
Posts: 51 Likes: 30 |
https://revenant1.net/casio/ld50.zipROM and 87c52 MCU dumps from the Casio LD-50 electronic drums. Also includes the demo and built-in rhythms as MIDI files, which is how they're stored in ROM. This is clearly a rebranded/outsourced product, sort of like the LD-80 (also sold as the Medeli DD-306), but I can't tell if this one was ever sold under other brands or who the actual developer is. The ROM mentions "SharpWin", which might be this company, but I'm not entirely sure. Anyway, the actual sound chip is a Dream SAM9793 MIDI-synth-on-a-chip (i.e. MIDI goes in, I2S comes out), which isn't a very viable emulation target. Alternately, you should just be able to connect the MCU's UART output to a generic MIDI out port and just have it control something else instead, if it'd be worth having a driver that does that.
|
1 member likes this:
Robbbert |
|
|
|
Joined: Jan 2021
Posts: 152 Likes: 5
Senior Member
|
Senior Member
Joined: Jan 2021
Posts: 152 Likes: 5 |
Casio rebranded also other music stuff?
I only know the awful Casio MA-150/MA-170 midsize keyboard that actually was a Medeli MC-36 (i.e. mainvoice of primitive static waveforms with noisy DAC output). Casio really did themselves no favour with ruining their reputation with selling this really poor sounding tablehooter. If I remeber well, even the play training modes were full of glitches and in some songs unusable because instead of the melody voice it did some rapid arpeggio stuff that is impossible by hand if you are not a pianist skilled like Lang Lang.
MAY THE SOFTWARE BE WITH YOU!
{weltenschule.de}
|
|
|
|
Joined: Jan 2021
Posts: 51 Likes: 30
Member
|
Member
Joined: Jan 2021
Posts: 51 Likes: 30 |
https://revenant1.net/casio/ct647.zipMask ROM dump from the Casio CT-647 / CT-648 (1992), also released as CTK-500 / CTK-510 and Concertmate 950 Service manual: https://revenant1.net/casio/manuals/msm6626/ctk500.pdfThe CPU/sound chip can be either MSM6566-03 or MSM6626-01 depending on revision (mine has the former, the service manual has the latter), but the PCBs are otherwise the same. I don't know of any other models that used these aside from possibly the KT-80 (similar keyboard with built-in CD player) and KT-90G (same but with CD+G). As usual with these custom OKI chips the program code is probably internal.
Last edited by Revenant; 04/13/22 10:17 PM.
|
|
|
|
Joined: Jan 2021
Posts: 51 Likes: 30
Member
|
Member
Joined: Jan 2021
Posts: 51 Likes: 30 |
https://revenant1.net/phusion.zipVTech "Phusion" handheld organizer/PDA (2000). Version 1.73 12:00 20000426
VTECH ET39700 CPU is an epoxy blob (go figure). Code at the beginning of the ROM seems like CR16B, similar to the machines in vtech/glcx.cpp, though probably not the same exact SoC.
|
|
|
|
Joined: Jan 2021
Posts: 51 Likes: 30
Member
|
Member
Joined: Jan 2021
Posts: 51 Likes: 30 |
https://revenant1.net/vtech-alligator.zipSPI flash dump from the VTech "Pull & Learn Alligator" toy from 2016 (teardown by Foone here). The CPU is a blob as usual but the flash contains 65C02 code and lots of audio in some weird format. I couldn't really find any vectors or boot code anywhere in the dump, so I assume there's some internal ROM also. Structurally it looks kind of similar to the "Cars 2 Laptop" ROM from inteladv.cpp.
Last edited by Revenant; 01/02/23 05:42 AM.
|
|
|
|
Joined: Feb 2014
Posts: 976 Likes: 94
Senior Member
|
Senior Member
Joined: Feb 2014
Posts: 976 Likes: 94 |
regarding the blw700i LW-700i from awhile back (page 72-73 of this thread), I found a manual for the lw-810 search for ("BROTHER LW-810iC") that has basically the same keyboard matrix: ![[Linked Image from i.imgur.com]](https://i.imgur.com/wc4TRgZ.png) ![[Linked Image from i.imgur.com]](https://i.imgur.com/XflfnNK.png) Note that the keyboard in the pic is for the US layout but the rom has the UK layout. Using the Emulated keyboard vs the Natural Keyboard, I can get it to pass the keyboard self test if I hit it in the right sequence. Interestingly, it doesn't give you much feedback aside from a beep (currently unemulated) if you don't hit the right sequence. from the main menu screen, hitting CTRL (CODE)+SHIFT+BACKSPACE gives you a self test menu: also (CODE+SHIFT+ENTER) gives you a self test print. ![[Linked Image from i.imgur.com]](https://i.imgur.com/wzuPuFJ.png) ![[Linked Image from i.imgur.com]](https://i.imgur.com/Keob8hR.png) ![[Linked Image from i.imgur.com]](https://i.imgur.com/VYlGfsK.png)
// row 0: | 4 | 3 | W | E | D | X | ? | Enter? |
// row 1: | 5 | 6 | R | T | C | F | ? | DArr |
// row 2: | 8 | 7 | Y | H | G | V | ? | ? |
// row 3: | 1 | 2 | Q | Z | A | S | ? | Shift Lock? |
// row 4: | 9 | J | I | U | B | N | ? | RArr |
// row 5: | - | 0 | P | O | M | , | ? | Menu |
// row 6: | ? | ; |2/3| | |LAr|UAr| ? | ? |
// row 7: | ? | ? |ENT|BkS| ? | ? | ? | Shift? |
// row 8: |3/4| L | = | K | . |1/2| * | ? |
static INPUT_PORTS_START( lw700i )
PORT_START("X0")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_4) PORT_CHAR('4') PORT_CHAR('@')
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_3) PORT_CHAR('3') PORT_CHAR('/')
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_W) PORT_CHAR('w') PORT_CHAR('W')
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_E) PORT_CHAR('e') PORT_CHAR('E')
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_D) PORT_CHAR('d') PORT_CHAR('D')
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_X) PORT_CHAR('x') PORT_CHAR('X')
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_TAB)
PORT_START("X1")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_5) PORT_CHAR('5') PORT_CHAR(0xa3) // a3=pound symbol
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_6) PORT_CHAR('6') PORT_CHAR('_')
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_R) PORT_CHAR('r') PORT_CHAR('R')
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_T) PORT_CHAR('t') PORT_CHAR('T')
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_C) PORT_CHAR('c') PORT_CHAR('C')
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_F) PORT_CHAR('f') PORT_CHAR('F')
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_UNKNOWN) // F19 (unused)
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(UTF8_UP) PORT_CODE(KEYCODE_UP) PORT_CHAR(UCHAR_MAMEKEY(UP)) // F10
PORT_START("X2")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_8) PORT_CHAR('8') PORT_CHAR('\'')
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_7) PORT_CHAR('7') PORT_CHAR('&')
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_Y) PORT_CHAR('y') PORT_CHAR('Y')
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_H) PORT_CHAR('h') PORT_CHAR('H')
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_G) PORT_CHAR('g') PORT_CHAR('G')
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_V) PORT_CHAR('v') PORT_CHAR('V')
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("P INS / P BREAK") PORT_CODE(KEYCODE_PGUP) // F5
PORT_START("X3")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_1) PORT_CHAR('1') PORT_CHAR('*')
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_2) PORT_CHAR('2') PORT_CHAR('"')
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_Q) PORT_CHAR('q') PORT_CHAR('Q')
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_Z) PORT_CHAR('z') PORT_CHAR('Z')
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_A) PORT_CHAR('a') PORT_CHAR('A')
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_S) PORT_CHAR('s') PORT_CHAR('S')
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_CAPSLOCK) PORT_CHAR(UCHAR_MAMEKEY(CAPSLOCK))
PORT_START("X4")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_9) PORT_CHAR('9') PORT_CHAR('(')
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_J) PORT_CHAR('j') PORT_CHAR('J')
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_I) PORT_CHAR('i') PORT_CHAR('I')
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_U) PORT_CHAR('u') PORT_CHAR('U')
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_B) PORT_CHAR('b') PORT_CHAR('B')
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_N) PORT_CHAR('n') PORT_CHAR('N')
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(UTF8_RIGHT) PORT_CODE(KEYCODE_RIGHT) PORT_CHAR(UCHAR_MAMEKEY(RIGHT))
PORT_START("X5")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_MINUS) PORT_CHAR('-') PORT_CHAR('?') // A11
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_0) PORT_CHAR('0') PORT_CHAR(')')
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_P) PORT_CHAR('p') PORT_CHAR('P')
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_O) PORT_CHAR('o') PORT_CHAR('O')
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_M) PORT_CHAR('m') PORT_CHAR('M')
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_COMMA) PORT_CHAR(',')
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Menu / PgUp") PORT_CODE(KEYCODE_HOME)
PORT_START("X6")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME ("P CLIP / C CLIP") PORT_CODE(KEYCODE_INSERT) // (grid says A2) no it's F2
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_COLON) PORT_CHAR(';') PORT_CHAR(':') // AA3
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_CLOSEBRACE) PORT_CHAR(0x2154) PORT_CHAR(0x2153) // AA2 2154 = ⅔ 2153 = ⅓
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_OPENBRACE) PORT_CHAR(0xbc) PORT_CHAR(0xbd) // AA1
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(UTF8_LEFT) PORT_CODE(KEYCODE_LEFT) PORT_CHAR(UCHAR_MAMEKEY(LEFT)) // F12
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME(UTF8_DOWN) PORT_CODE(KEYCODE_DOWN) PORT_CHAR(UCHAR_MAMEKEY(DOWN)) // F13
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("CODE") PORT_CODE(KEYCODE_LCONTROL) // F15
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_UNKNOWN)
PORT_START("X7")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Print") PORT_CODE(KEYCODE_PGDN) // F1
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Cancel / Page Down") PORT_CODE(KEYCODE_END) // F3
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Return") PORT_CODE(KEYCODE_ENTER) PORT_CHAR(13) // F9
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_BACKSPACE) PORT_CHAR(8) // F7
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_DEL) // F17 DELETE
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Clear") PORT_CODE(KEYCODE_RCONTROL) // F18 WORD OUT / LINE OUT
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_SPACE) PORT_CHAR(' ') // F16 SPACE
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_NAME("Shift") PORT_CODE(KEYCODE_LSHIFT) PORT_CODE(KEYCODE_RSHIFT) // F11 SHIFT PORT_CHAR(UCHAR_SHIFT_1)
PORT_START("X8")
PORT_BIT(0x001, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_EQUALS) PORT_CHAR(0xbe) PORT_CHAR(0xbc) // 3/4 and 1/4
PORT_BIT(0x002, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_L) PORT_CHAR('l') PORT_CHAR('L')
PORT_BIT(0x004, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_TILDE) PORT_CHAR('=') PORT_CHAR('+') // A0 = and +
PORT_BIT(0x008, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_K) PORT_CHAR('k') PORT_CHAR('K')
PORT_BIT(0x010, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_STOP) PORT_CHAR('.')
PORT_BIT(0x020, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_SLASH) PORT_CHAR(0xbd) PORT_CHAR('%') // 1/2 and %
PORT_BIT(0x040, IP_ACTIVE_LOW, IPT_KEYBOARD) PORT_CODE(KEYCODE_QUOTE) PORT_CHAR(0xb7) PORT_CHAR(0xf7) // AA4 QUOTE middle dot, division sign
PORT_BIT(0x080, IP_ACTIVE_LOW, IPT_UNKNOWN)
|
|
|
|
Joined: Jan 2012
Posts: 1,179 Likes: 16
Very Senior Member
|
Very Senior Member
Joined: Jan 2012
Posts: 1,179 Likes: 16 |
A guy on the German VzEkC forum pointed out a computer I hadn't heard about - the Commodore 900 workstation which uses the Z8001 CPU. It's already included in MAME, but the comments in the source include "Need schematics, technical manuals and so on. Eventually, will need software." It appears that these have been scanned and dumped, there are kryoflux images of the four original disks and even a harddisk dump at https://datamuseum.dk/wiki/Bits:Keyword/CBM900, as well as scans of technical data.
NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
|
3 members like this:
mixmaster, robcfg, Revenant |
|
|
|
Joined: May 1999
Posts: 594 Likes: 1
Senior Member
|
Senior Member
Joined: May 1999
Posts: 594 Likes: 1 |
Incidentally, there's a nice video by RMC on that computer, look here
|
|
|
|
Joined: Jan 2012
Posts: 1,179 Likes: 16
Very Senior Member
|
Very Senior Member
Joined: Jan 2012
Posts: 1,179 Likes: 16 |
Philips had a wide range of experimenting equipment for kids and teenagers, physics, chemistry, electronics, you name it. The Micro-Computer Master Lab is a relatively late foray (1983) into computer technology, using a INS 8070 microprocessor. https://norbert.old.no/kits/6400/6400.htmlhttps://www.hansotten.com/electronic-kits/microcomputerlab-ce6400/https://ee.old.no/library/6400-MC-de.pdfhttps://forum.classic-computing.de/...6400-eprom/&postID=408438#post408438https://norbert.old.no/extra/extra3.htmlThe differences between the INS 8060 (which is already in MAME) and the 8070 are
SC/MP and INS8060 (SC/MP II) INS8070(SC/MP III)
No T-Register Additional T-Register available
The data bus is also used to output Pure 16bit Address and 8bit Data
the 8 highest address bits and 4 bus. There are no 4 additional
additional flags. flags on the data bus
No Stack 16bit stack pointer
There are commands to directly set The S register can only be mani-
and reset the IE and CY/L flags in pulated via the accumilator or
the S register with AND resp. OR commands.
The SIO and DLY commands exist to The E-register can be used in
create a simple serial in-/output on conjunction with the accumulator
the SIN and SOUT pins as the 16bit EA register. The
pins SIN and SOUT don't exist
It's difficult to create subroutines 16 short CALL commands (1 byte),
due to the lack of CALL, JSR and RET a JSR command (3 bytes) and RET
commands are present
8bit addition and subtraction only includes 16bit calculations, inc.
multiplication and division INS8070 had 64 Bytes RAM, no ROM INS8072 had 64 Bytes RAM, 2.5KB ROM INS8073 had 64 Bytes RAM, 2.5KB ROM with a Tiny BASIC interpreter INS8074 had 64 Bytes RAM, 4KB ROM INS8075 had 64 Bytes RAM, 4KB ROM, contains a N²BASIC interpreter 64 Byte RAM are on adresses FFC0h...FFFFh ROM is from 0000H The CE6400 uses the INS8070 with an external 4KB EPROM 2732 and 2x2114 for RAM from 1000h to 13FFh. The ROM and documentation are on the FTP.
NCR DMV- DEC Rainbow- Siemens PCD- ITT 3030-Oly People- Acorn A5000- Olivetti M20
|
|
|
Forums9
Topics9,218
Posts120,716
Members5,053
|
Most Online1,283 Dec 21st, 2022
|
|
These forums are sponsored by Superior Solitaire, an ad-free card game collection for macOS and iOS. Download it today!
|
|
|
|