wiki:geniuspc

Version 9 (modified by pulkomandy, 12 years ago) ( diff )

--

The Genius PC is a home computer from VTech. Released in the late 90s, it is one of the last microcomputers.

Hardware :

  • Motorola MC68EC000, 16-bit external databus, 32MHz
  • 256K of RAM
  • 1 to 4M of ROM (not sure yet) - Sharp LH537NWN mask ROM
  • Mass storage : 128KB flash memory - AM29F010
  • Cartridge port, apparently on memory bus with system ROM and storage flash. The french system comes with cartridges only containing straps, likely shorting some pins enable extra features...

The ROM seems to be a 16-bit one, available directly on the CPU bus. The FLASH is 8-bit, but directly on the CPU bus as well. The cartridge port is connected to the same bus, and can be used for extra flash storage.

Both flash chips (internal and cartridge) are 8-bit only. This means they can't be used for executable code.

The RAM is accessed through the VTech 27-05793 chip, which likely handles memory refresh. I don't know if the RAM is mapped as 16 or 8-bit to the CPU, and if there are any wait states when accessing it or whatever. The VTech chip might also have some internal memory ?

Other chips

  • BH7236AF : Video encoder (PAL/NTSC + RGB output). On french motherboard RGB is used, composite is not wired.
  • LMT324 : LM324, used as audio amplifier
  • C807U : Toshiba microcontroller. Handles mouse and keyboard scanning, LEDs, on/off buttons, etc. Running at low speed out of internal RC oscillator, as there is no external crystal for it. Seems to communicate with the VTech chip through a serial link.
  • VTech 27-05793 : of course a datasheet of this one woumd make things easier. Seems to be also called "LS05PR730C102" ?

Output : RGB color video and mono sound.

Color palette is at least 15 colors :

  • White
  • Light grey
  • Dark grey
  • Black
  • Sky blue
  • Blue
  • Red
  • Green
  • Dark green
  • Yellow
  • Orange
  • Brown
  • Dark brown
  • Mauve
  • Pink

(the 16th color is likely "darker-than-black", used for blanking)

Resolution seems to be something like 480x200. This makes a 48K framebuffer. Top and bottom borders can have different colors.

The Genius PC is a home computer from VTech. Released in the late 90s, it is one of the last microcomputers.

Hardware :

  • Motorola MC68EC000, 16-bit external databus, 32MHz
  • 256K of RAM
  • 1 to 4M of ROM (not sure yet) - Sharp LH537NWN mask ROM
  • Mass storage : 128KB flash memory - AM29F010
  • Cartridge port, apparently on memory bus with system ROM and storage flash. The french system comes with cartridges only containing straps, likely shorting some pins enable extra features... The german version seems to have extra flash memory or maybe ROM ?

The ROM seems to be a 16-bit one, available directly on the CPU bus. The FLASH is 8-bit, but directly on the CPU bus as well. The RAM is accessed through the VTech 27-05793 chip, which likely handles memory refresh. I don't know if the RAM is mapped as 16 or 8-bit to the CPU.

Other chips

  • BH7236AF : Video encoder (PAL/NTSC + RGB output). On french motherboard RGB is used, composite is not wired.
  • LMT324 : LM324, used as audio amplifier
  • C807U : Toshiba microcontroller. Handles mouse and keyboard scanning, LEDs, on/off buttons, etc. Running at low speed out of internal RC oscillator, as there is no external crystal for it. Seems to communicate with the VTech chip through a serial link.
  • VTech 27-05793 : of course a datasheet of this one woumd make things easier. Seems to be also called "LS05PR730C102" ?

Output : RGB color video and mono sound.

Color palette is at least 15 colors :

  • White
  • Light grey
  • Dark grey
  • Black
  • Sky blue
  • Blue
  • Red
  • Green
  • Dark green
  • Yellow
  • Orange
  • Brown
  • Dark brown
  • Mauve
  • Pink

Resolution seems to be something like 480x200

Serial port

Turns out the serial port is standard. 9600 baud, 8N1, no control flow. You can connect with minicom and use the "chat" application. Files are transferred using the XModem protocol.

This means text is encoded in ASCII. Makes it easy to look for them in the ROM dump.

Rom DUMP

With the help of an AT90USBkey a dump of the ROM was made. I don't publish it because there are some grey areas still. It looks like there is a protection system. I held the CPU in reset+halt state so it doesn't get in the way, and ran my dumping program that dumps the rom twice. The first 77 bytes are different, but the remaining part is perfectly identical. It looks like the VTech chip is jamming the memory bus during early startup. Interesting partis that the jammed version seems to make more sense (reset vector falls in ROM space, for one).

I have not completely figured out the jamming algorithm. The values read do depend on the address, so it is not simple bootstrap code injection like on the Amstrad PCW. I don't know what matters, the ROM data or the address. The VTech chip is overriding ROM access. Other parts of the rom look clean, with code that makes sense and a lot of strings. But the reset vector doesn't make any sense in the non-jammed version.

We will start disassembling the code by another end. If only 77 bytes are missing, we should gather enough hardware knowledge to guess them. An alternative is getting to know more about the jamming algorithm to guess the data. Or just use a powerful enough logic analyzer on a running system (my oscilloscope can't help, it's too slow !) to get the actual executed code.

Attachments (10)

Note: See TracWiki for help on using the wiki.