Sabe as ROMs alteradas que eu mencionei no post sobre a mega-procrastinação? Pois taqui um pacotinho pra vocês se divertirem. ROMs para as várias variantes de controladores de disco* (ou acesso a disco virtualizado via serial ou rede), listagens em Assembly 6809 à la Unravelled para cada uma, patch contra o fonte do Toolshed e um README – que tá em inglês, então vou traduzir pelo menos a parte das novas funcionalidades.
(*) IMPORTANTE: Quase certamente um controlador de disco clássico, ou mesmo um moderno como uma CoCoSDC da vida, não vai entender os 8K adicionais da ROM, então pode ser necessário soldar alguns fios. Prometo que vou fazer força pra criar instruções mastigadinhas pra isso, mas por enquanto conto com o espírito desbravador dos membros da comunidade CoCo. Sem precisar de fudebagens, dá pra usar um cartucho de jogo que já seja de 16K com a versão DriveWire, ou então usar a versão Becker no emulador XRoar num PC, também com DriveWire.
As funcionalidades:
- Todos os tokens do CoCo 3 são reconhecidos, portanto um programa em BASIC do CoCo 3 não vai ser corrompido ao carregar num CoCo 1/2. Pode até ser editado, só não vai rodar.
- Modos de texto 51×24 e 64×24 em PMODE 4, chaveáveis com os comandos WIDTH ou SCREEN
- LOCATE funciona como esperado
- Função BUTTON do CoCo 3 implementada, incluindo joystick de 2 botões (mas nesse caso requer fiação adicional no conector e na placa-mãe, quero testadores)
- Comando DIR usa a largura adicional da tela quando disponível
- Função TIMERL similar à TIMER mas vai até 231-1 (aproximadamente 1 ano e 49 dias, a 60 Hz)
- HSET MEM COPY move o BASIC para RAM em máquinas de 64KB; HSET MEM and HRESET MEM chaveiam após a cópia
- Saída de impressora no BASIC redirecionada para impressora virtual do DriveWire (experimental)
- Função USR8 vem carregada com uma função que retorna o endereço de algumas variáveis úteis para manipular os novos modos texto: piscar cursor, forma do cursor etc. (Nos fontes alterados, fica em cocoroms/rom16kvars.asm)