

Vet3000 cartucho
VET 3000 (TMS, 1988): engenharia reversa do titulador de vídeo brasileiro com MC6809 e TMS9128 - disassembly comentado do firmware, documentação do hardware e cartucho demo com jogo
- Size
- 72 × 60 mm
- Copper layers
- 2
- Thickness
- 1.6 mm
- Parts
- 13
- Nets
- 42
- Pads
- 104
- Tracks, vias
- 237, 3
- Pours
- 2
- Routed
- Yes
- KiCad
- KiCad 10.0 (file 20260206)
- Created
- 27 Sep 2026
- Updated
- 1 Nov 2026
Overview
Vet3000 cartucho is an open-source printed circuit board by lrrosa, from the lrrosa/vet3000 repository on GitHub, published under the GPL-3.0 licence. It is a 2-layer board of 72 × 60 mm with 13 parts on 42 nets, routed with 237 tracks and 3 vias.
It is built around the 27C128-15 and 74HCT00D. Its parts include 3 capacitors, 2 ICs, 2 connectors and 1 resistor. It belongs with the retro computing and games boards of this library.
Main components
227C128-15
-0℃~+70℃ 128Kbit 4.5V~5.5V Parallel Port (Parallel) - Non-Volatile Memory (ROM)Microchip TechnologyNon-Volatile Memory (ROM)74HCT00D
SO-14-40℃~+125℃ 100mV、400mV 12ns@4.5V,50pF 2 2V 3.7V、4.4V 4 4.5V~5.5V 40uA 4mA 4mA 74HCT Series 800mV NAND Gate Overvoltage-tolerant input TTL Compatible CMOS SO-14 Logic Gates ROHSNexperiaLogic Gates
README
hardware/cartucho/README.mdCartucho de ROM para o VET 3000 (KiCad)
Projeto KiCad 10 do cartucho que encaixa no conector traseiro CN1 do VET 3000 e roda a
demo (ou qualquer programa com cabeçalho "OBJECT"/"FONT").
Copyright © 2026 Leonardo Roman da Rosa. Hardware aberto sob a CERN-OHL-S-2.0 (ver Licença).
| Frente (componentes, voltada para o VET) | Verso (fica à vista) | 3D |
|---|---|---|
![]() | ![]() | ![]() |
Arquivos
| Arquivo | Conteúdo |
|---|---|
vet3000_cartucho.kicad_pro/.kicad_sch/.kicad_pcb | Projeto KiCad (esquemático, placa roteada) |
vet3000.pretty/ | Footprint do soquete de borda 2×18 (gerado por gen/gen_footprint.py) |
fabricacao/vet3000_cartucho_gerbers.zip | Gerbers + furação para enviar à fábrica |
fabricacao/vet3000_cartucho_esquematico.pdf | Esquemático em PDF |
fabricacao/vet3000_cartucho_bom.csv | Lista de materiais |
fiacao-prototipo.svg | Diagrama de fiação para montar em placa protótipo de uma face (gerado por gen/gen_fiacao.py, conferido contra o netlist) |
gen/ | Scripts que geram tudo (ver "Regenerar") |
Verificação: ERC sem violações; DRC sem violações, sem pads desconectados e com paridade
esquemático↔placa (kicad-cli pcb drc --schematic-parity). Placa de 2 camadas, 72 × 60 mm, trilhas
de 0,25 mm (sinais) e 0,6 mm (alimentação), isolação de 0,2 mm, planos de GND nas duas faces.
Roteada com o Freerouting.
Circuito
- J1: soquete fêmea de borda 2×18 que encaixa nos dedos do CN1. A fileira a toca os contatos de cima do CN1 (face de componentes do VET: IRQ, D0-D7, seleções, R/W, HALT, +5V, GND); a fileira b toca os de baixo (A0-A13, GND). b1 (+3 V da bateria) e b16 (−5 V) não são ligados.
- U1: EPROM 27C128 (16 KB) em soquete.
/CE= seleção Y1 do VET ($4000-$7FFF, contato a14), passando pelo jumper JP3. - U2: 74HCT00 fazendo
/OE = NÃO(R/W): a EPROM só coloca dados no barramento em leituras, e uma escrita por engano em$4000-$7FFFnão causa conflito. As outras três portas ficam com as entradas no GND. - R1 (10k): mantém
/CEem 1 com o JP3 aberto. - J2 (EXP): +5V, IRQ, HALT, R/W, Y2 (
$8000-$BFFF), E da ROM interna, 1G e GND, para experiências (E/S externa, depuração).
Jumpers
| Memória | JP1 (pino 1) | JP2 (pino 27) |
|---|---|---|
| 27C128 (padrão) | 2-3 (VPP = +5 V) | 2-3 (/PGM = +5 V) |
| 27C256 | 2-3 (VPP = +5 V) | A14: 1-2 = metade de baixo, 2-3 = metade de cima |
| W27C512 / 27C512 | A15 | A14 (juntos escolhem um de 4 bancos de 16 KB) |
| 28C256 (EEPROM) | A14: escolhe a metade | 2-3 (/WE = +5 V, nunca escreve) |
JP3 fechado = cartucho ativo. Aberto = o VET não enxerga o cartucho e liga direto no titulador. Com a demo dá para fazer o mesmo sem mexer no jumper: segure EXT MODE ao ligar. Depois, CONTROL+BORDER BLK no editor do titulador chama a demo.
Para gravar: a imagem cartridge/demo/vet3000_demo.bin tem 16 KB e vai direto na 27C128. Numa
27C256/27C512, grave-a na metade ou banco escolhido pelos jumpers (ex.: duplicada nas duas metades).
Montagem mecânica
O CN1 do VET são dedos de borda na própria placa principal (macho). O cartucho usa um soquete fêmea reto, e a placa fica em pé atrás do aparelho, com os componentes voltados para o VET. Assim, olhando o VET por trás, o pino 1 fica à esquerda, como na medida original. Na serigrafia: "COMPONENTES VOLTADOS PARA O VET" na frente e "ESTE LADO PARA FORA" no verso.
Antes de mandar fabricar
- Passo dos dedos do CN1: 2,54 mm (0,1"), medido no aparelho. É o passo do footprint.
- Soquete: o footprint supõe soquete de 0,1" com terminais em duas fileiras a 5,08 mm (0,2"), como o Sullins EBC18DCxN. Confira no datasheet do soquete comprado.
- Espaço atrás do VET: a abertura do painel, o comprimento dos dedos para fora e se a placa de 72 × 60 mm em pé não bate em nada.
- Opcional: com ponta lógica, confirmar que o contato a14 (Y1) só vai a 0 nos acessos a
$4000-$7FFF.
Se o soquete tiver outra distância entre fileiras, gere o footprint com a medida certa
(python gen/gen_footprint.py 2.54 3.56, por exemplo), recrie a placa e roteie de novo (abaixo).
Lista de materiais
| Ref. | Peça |
|---|---|
| J1 | Soquete de borda fêmea 0,1", 2×18 (36 vias), terminais para PCI |
| U1 | EPROM 27C128 (ou 27C256, W27C512, 28C256) + soquete DIP-28 600 mil |
| U2 | 74HCT00 + soquete DIP-14 |
| C1, C2 | 100 nF cerâmico, passo 5 mm |
| C3 | 10 µF 16 V eletrolítico, Ø5 mm, passo 2 mm |
| R1 | 10 kΩ 1/4 W |
| JP1, JP2 | Barra de pinos 1×3 + jumper |
| JP3 | Barra de pinos 1×2 + jumper |
| J2 | Barra de pinos 1×8 (opcional) |
Placa: 2 camadas, FR-4 1,6 mm, 72 × 60 mm, furos de 1,0 mm (pads) e 0,4 mm (vias), 2 furos M3.
Regenerar
Os scripts em gen/ geram o projeto do zero. Rode-os a partir desta pasta:
python gen/gen_footprint.py # footprint do soquete (passo e fileiras como argumentos)
python gen/gen_project.py # .kicad_pro (classes de rede) e fp-lib-table
python gen/gen_schematic.py # esquemático
kicad-cli sch erc vet3000_cartucho.kicad_sch
kicad-cli sch export netlist --format kicadsexpr -o vet3000_cartucho.net vet3000_cartucho.kicad_sch
"C:/Program Files/KiCad/10.0/bin/python.exe" gen/gen_pcb.py # ATENÇÃO: recria a placa sem trilhas
python gen/gen_fiacao.py # diagrama de fiação da placa protótipo (lê o .net)Roteamento (caminhos sem espaços para o Freerouting):
PY="C:/Program Files/KiCad/10.0/bin/python.exe"; W=C:/Temp/fr
"$PY" gen/route.py decoy vet3000_cartucho.kicad_pcb $W/isca.kicad_pcb # sem zonas, borda recuada
"$PY" gen/route.py export $W/isca.kicad_pcb $W/rota.dsn
"$PY" gen/route.py tweak $W/rota.dsn 250 600 200 # sinais 0,25, +5V/GND 0,6, isolação 0,2 mm
freerouting.exe -de $W/rota.dsn -do $W/rota.ses -mp 300 -mt 1
"$PY" gen/route.py import vet3000_cartucho.kicad_pcb $W/rota.ses # trilhas + preenche zonas
kicad-cli pcb drc --schematic-parity --severity-all vet3000_cartucho.kicad_pcbA etapa tweak move +5V e GND para uma classe "power" mais larga no DSN, com as mesmas regras
do .kicad_pro.
Fabricação:
kicad-cli pcb export gerbers --layers "F.Cu,B.Cu,F.SilkS,B.SilkS,F.Mask,B.Mask,Edge.Cuts" --subtract-soldermask -o fabricacao/gerbers/ vet3000_cartucho.kicad_pcb
kicad-cli pcb export drill --format excellon --drill-origin absolute --excellon-units mm --generate-map --map-format gerberx2 -o fabricacao/gerbers/ vet3000_cartucho.kicad_pcbLicença
Copyright © 2026 Leonardo Roman da Rosa.
Esta fonte descreve Hardware Aberto e é licenciada sob a CERN-OHL-S v2 (LICENSE). Você pode redistribuir e modificar esta fonte e fabricar produtos com ela nos termos da CERN-OHL-S v2 (https://ohwr.org/cern_ohl_s_v2.txt).
Esta fonte é distribuída SEM QUALQUER GARANTIA EXPRESSA OU IMPLÍCITA, INCLUSIVE DE COMERCIABILIDADE, QUALIDADE SATISFATÓRIA E ADEQUAÇÃO A UM FIM ESPECÍFICO. Veja as condições aplicáveis na CERN-OHL-S v2.
Source location: https://github.com/lrrosa/vet3000
Conforme a seção 4 da CERN-OHL-S v2, quem fabricar hardware a partir desta fonte deve, quando possível, manter o Source Location visível no exterior do produto. A serigrafia do verso da placa já traz o endereço.
A licença vale para tudo nesta pasta: esquemático, placa, footprint, arquivos de fabricação e os
scripts de gen/, que são a fonte do projeto. O restante do repositório (ferramentas, disassembly
e o software da demo) segue sob a GPL-3.0-or-later.
Parts
13| Qty | Value | Footprint | References |
|---|---|---|---|
| 2 | 100nF | Capacitor_THT:C_Disc_D5.0mm_W2.5mm_P5.00mm | C1, C2 |
| 2 | M3 | MountingHole:MountingHole_3.2mm_M3 | H1, H2 |
| 1 | 10k | Resistor_THT:R_Axial_DIN0207_L6.3mm_D2.5mm_P7.62mm_Horizontal | R1 |
| 1 | 10uF | Capacitor_THT:CP_Radial_D5.0mm_P2.00mm | C3 |
| 1 | 27C128 | Package_DIP:DIP-28_W15.24mm_Socket | U1 |
| 1 | 74HCT00 | Package_DIP:DIP-14_W7.62mm_Socket | U2 |
| 1 | ATIVO | Connector_PinHeader_2.54mm:PinHeader_1x02_P2.54mm_Vertical | JP3 |
| 1 | CN1 VET 3000 (soquete de borda 2x18) | vet3000:CardEdge_Socket_2x18_P2.54mm_Row5.08mm | J1 |
| 1 | EXP | Connector_PinHeader_2.54mm:PinHeader_1x08_P2.54mm_Vertical | J2 |
| 1 | PGM/A14/WE (pino 27) | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP2 |
| 1 | VPP/A15 (pino 1) | Connector_PinHeader_2.54mm:PinHeader_1x03_P2.54mm_Vertical | JP1 |
Questions
How big is the Vet3000 cartucho PCB?
It measures 72 × 60 mm and has 2 copper layers, 1.6 mm thick.
What parts does the Vet3000 cartucho use?
13 parts, built around the 27C128-15 and 74HCT00D. The full list of its parts is on this page, with links to each part's symbol and footprint where PCBKit's library has them.
Where can I download the Vet3000 cartucho KiCad files?
From the lrrosa/vet3000 repository on GitHub, at the commit this page was made from: the board is hardware/cartucho/vet3000_cartucho.kicad_pcb and its schematic hardware/cartucho/vet3000_cartucho.kicad_sch. PCBKit opens the board in the browser, with nothing to install.
Can I use the Vet3000 cartucho design in my own project?
Its repository publishes it under the GPL-3.0 licence: you may reuse it on that licence's terms (keep the author's notice, and for a copyleft licence share your changes alike).
Similar boards
- 2 layers100 × 80 mm

- 2 layers164.5 × 89.5 mm

- 2 layers333.2 × 205.9 mm

- 2 layers164.5 × 71.8 mm

Jupiter II Expansion
ricaflops/Jupiter-II-Expansion
Expansion board for Jupiter-II computer
99 parts15MIT - 2 layers222.3 × 88.9 mm

- 2 layers299.2 × 180 mm

- 2 layers125.7 × 97.8 mm

Qdisk v4
alvaroalea/QL_CST_FLoppyController
A clone of the CST's Floppy Disk Interface for Sinclair QL (PCB version 3 & 4)
31 parts8 - 2 layers239.6 × 239.9 mm



