Table of Contents
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
V.Link SPI
- 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 |
ROMCSB | 008000-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 |
ROMCSB | 008000-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
Language | IOC3 | IOC2 | IOC1 | IOC0 | Value |
---|---|---|---|---|---|
Chinese | 0 | 1 | 1 | 1 | 7 |
Polish? Portuguese? | 1 | 0 | 0 | 0 | 8 |
Dutch | 1 | 0 | 0 | 1 | 9 |
Italian | 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 | 1 | 1 | 1 | 0 | E |
US English | 1 | 1 | 1 | 1 | F |
Values under 7 are filtered out by the console BIOS in some cases and replaced by either UK or US english.
The FCC schematics for the V.Smile motion says Italian should be 2 (0010), is it a difference for the new console or a mistake in the schematics?
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?