This information was extracted from the V.Smile Motion schematics which was (accidentally?) published by the FCC with the certification for the console.

Local copy of the document: vsmile-motion-schematics.pdf

Port A

The use of Port A changes a bit on various generations of machines

V.Smile Motion

  • IOA0: SPI clock
  • IOA1: MOSI
  • IOA2: MISO
  • IOA3: Busy
  • IOA4: Chip select

Console type

Console IOA14 IOA15
V.Smile 0 x
V.Smile Pocket 0 x
V.Smile Motion 1 0
Cyber Pocket 1 1

Other

  • IOA11: Only a pull down resitor?
  • IOA12: Only a test point on the motherboard?

V.Smile Pocket

  • IOA0-IOA11: LCD STN interface
  • IOA13: LCD backlight control
  • IOA14: Read as 0 according to notes in V.Smile Motion schematics

Port B

ROM and cartridge

  • IOB0: extra address bit for the cartridge port, access second half of ROM
  • IOB1: Set to 0 to enable cartridge ROM
  • IOB2: Set to 0 to enable internal ROM

Note: these can be used with the “External Memory Control” register, in that case they are controlled by the CPU core automatically depending on the address being accessed.

For example in external address mode 2 or 3 (4 ROMs mode):

Pin Address range
IOB0 100000-1FFFFF
IOB1 200000-2FFFFF
IOB2 300000-3FFFFF
ROMCSB008000-0FFFFF

In external address mode 0: ROMCSB is the only one used for the whole range (note: ROMCSB is not wired to anything, so in this area no ROM will be enabled)

In external mode 1 (2 ROMs mode):

Pin Address range
IOB1 200000-3FFFFF
ROMCSB008000-1FFFFF

Additionally, the end of the address space can also receive RAM (in the cartridge), this is configured separately and different RAM sizes are possible.

Power control

  • IOB3: Labelled “RESTART”, not used?
  • IOB4: “A/D”, related to the ADC?
  • IOB5: Voltage detect (ADC measurement of battery level or power supply)
  • IOB6: Pulled to ground by the ON button
  • IOB7: Pulled to ground by the OFF button

Port C

Configuration

LanguageIOC3IOC2IOC1IOC0Value
No screen (v1.02+) 0 0 0 0 0
No screen (v1.02+) 0 0 0 1 1
Italian (v1.03), UK English variant (without subtitle) (v1.02) 0 0 1 0 2
US English variant (without subtitle) (v1.02+) 0 0 1 1 3
US English variant (with alternate subtitle “TV Learning System”) (v1.02+) 0 1 0 0 4
US English audio variant without “V.Smile!” speech sample (v1.02+) 0 1 0 1 5
UK English audio variant without “V.Smile!” speech sample (v1.02+) 0 1 1 0 6
Chinese 0 1 1 1 7
Portuguese 1 0 0 0 8
Dutch? (same data as US English) 1 0 0 1 9
UK English variant (without subtitle) (v1.03), Italian (v1.00, v1.02) 1 0 1 0 A
German 1 0 1 1 B
Spanish 1 1 0 0 C
French 1 1 0 1 D
UK English (with standard subtitle) 1 1 1 0 E
US English (with standard subtitle) 1 1 1 1 F

The standard English subtitle is “Learning System” in v1.02+ and “TV Learning System” in v1.00. Values below 7 have the same behavior as US English in v1.00, except that values below 6 boots to a blinking blue VTech logo in white when no cartridge is inserted.

Note that Italian and the subtitle-less variant of UK English swap places in v1.03.

IOC4: if 1: show logo animation at boot

IOC5: currently unknown, maybe LCD/TV detection? Unused in V.Smile motion schematics, test point in older consoles?

Power control

  • IOC6: audio output enable
  • IOC7: Power control (on V.Smile motion: microphone power control and wireless controller control)

Controllers

  • IOC8: Controller A clear to send (to controller)
  • IOC9: Controller B clear to send (to controller)
  • IOC10: Controller A request to send (from controller)
  • IOC12: Controller B request to send (from controller)
  • IOC13: UART Rx (from controller)
  • IOC14: UART Tx (to controller)
  • IOC15: Controller power?
io.txt · Last modified: 2025/02/23 15:23 by simer
CC Attribution 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0