Tópicos › MSX
60 conversas · anos 2 a 8 do grupo

O MSX aparece no grupo desde o ano 2 (2018-2019). Erin Pinheiro procurou kits de conversão de MSX para MSX2, Ronaldo indicou o MA-20 de Luis Luca e FTMaciel pensou em mandar fazer as placas na China a partir dos esquemáticos publicados. Emerson Moura apresentou uma biblioteca Arduino de barramento paralelo para controlar chips como o PSG e o VDP, e Felipe "Juca" Sanches descreveu o truque de inicializar o VDP com um laço de OUT. No ano 3, RicBit compartilhou a disassembly totalmente comentada do Metal Gear do MSX2, que começou a otimizar, e explicou que os 64 KB extras de VRAM da maioria dos MSX2 permitiriam reduzir o tempo entre telas. No ano 4 (2020-2021), o MSX virou um tema próprio. RicBit fez lives de engenharia reversa do Turbo R, principalmente do chip de som, para corrigir partes emuladas de forma errada. A primeira caiu no meio, e para as seguintes ficou combinada a transmissão simultânea pelo Happy Hacking Video Blog, com Felipe como comentarista. RicBit também modelou no OpenSCAD um cabo do Turbo R com seis BNC e depois mostrou um cabo RGB com seis BNC para uso com um monitor PVM. Nesse mesmo ano o grupo discutiu como montar o BrMSX com um assembler livre, a ROM linear de 48 kB do Westen House, que não rodou no ares, e as escritas na porta 0xFE em jogos convertidos do ZX Spectrum. Também comparou o Hotbit com o Expert, explicou a SD Mapper e o Nextor, e L. planejou um MSX2 caseiro, possivelmente em formato mini-ITX.
No ano 6 (2022-2023), a conversa concentrou-se no VDP e na conversão de imagens. A partir de uma demo de scroll de 1 pixel de Pedro de Medeiros, RicBit explicou truques de temporização e de sprites do VDP. L. planejou portar o Dank Tomb para o MSX2, e RicBit explicou como fazer sombras em screen 10-12 deslocando o Y do YJK. RicBit achou um bug no conversor de imagens do Jannone e abriu um pull request. Depois escreveu um conversor novo e testou vários métodos de dithering (curva de Hilbert, Floyd-Steinberg, método estocástico), comparando os resultados com Pablo Vasques Bravo-Villalba, Shideravan e L., e publicou o código em um gist. O grupo também discutiu o die e o microcódigo do R800 e se o Z80 era inferior ao 6502. Pedro contou que corrigia bugs antigos do debugger do openMSX, e RicBit mostrou que o vgmrecorder do openMSX derivou do seu grabfm.tcl. Felipe divulgou a exposição dos 40 anos do MSX do MSXSP na Canal 3 Expo 2023.
No ano 7 (2023-2024), o foco passou para ferramentas e para o Z80. Felipe viu no Spectrum Analyser funções que planeja para o seu ExecTrace, e RicBit mediu com um script Tcl no openMSX o tempo de cada instrução do MSX BASIC. Pedro de Medeiros abriu PRs no openMSX para criar breakpoints com slot/subslot e para desmontar strings binárias. RicBit mostrou seu parser JSON para Z80 de 768 bytes e compartilhou um projeto japonês para o MSX0 que usa sua biblioteca de JSON. Ele também propôs uma virtualização via HALT/NMI e expôs uma teoria sobre os atrasos de escrita do YM2413. Sobre o MSX em FPGA do LSI-USP, lembrado por L., RicBit contou que, pelo que se lembra, o projeto começou por volta de 2001 e o primeiro MSX completo saiu em 2003; RicBit lembrou ainda uma versão do BrMSX com dynarec e descreveu um compressor para textos de RPG. Foi comentado o fim da produção do Z80 pela Zilog, e L. mostrou seu MSX2 em protoboard, que nunca concluiu.
No ano 8 (2024-2025), Pablo e RicBit discutiram a razão de aspecto dos pixels do TMS9918 (8:7 em NTSC) e os modos overscan do V9990. Pedro de Medeiros apresentou uma prova de conceito de preenchimento de polígonos no V9990, e o grupo analisou um port em andamento de Another World para MSX2 com V9990 e o VDP V9968 em FPGA. O debugger em Tcl de Pedro, substituto do sdcdb, foi aceito no openMSX, e ele compartilhou outro PR, que implementa um dispositivo programável. L. comprou um MSXBook, MSX2+ portátil em FPGA, e instalou o firmware. O grupo comentou ainda projetos MSX brasileiros e micros nacionais, resolveu como rodar o Aquarela no WebMSX, e Pablo reproduziu no MSX os padrões 8x8 do Mac clássico.
Ano a ano: Ano 2 · Ano 3 · Ano 4 · Ano 6 · Ano 7 · Ano 8
Ronaldo indicou o kit MA-20 de Luis Luca para converter MSX em MSX2, e FTMaciel pensou em mandar fazer as placas. Emerson Moura apresentou uma biblioteca Arduino para controlar o PSG e o VDP, e Felipe "Juca" Sanches descreveu a inicialização do VDP com um laço de OUT.
O kit de conversão MA-20 de MSX para MSX2, uma biblioteca Arduino de barramento paralelo para chips como o PSG e o VDP e o truque de inicializar o VDP com um laço de OUT.
Erin Pinheiro perguntou se ainda é possível achar kits de conversão de MSX para MSX2. Ronaldo indicou o MA-20 de Luis Luca, fabricado em dois lotes já vendidos por grupos de Facebook, e Erin encontrou os esquemáticos publicados. FTMaciel disse que daria uma olhada e mandaria fazer as placas na China.
Emerson Moura apresentou uma biblioteca para Arduino que cria um barramento paralelo de 8 ou 16 bits para controlar chips antigos como o PSG e o VDP do MSX. A conexão física é abstraída: 74595, PCF8574 via I2C ou o barramento do Arduino Mega. Ele explicou que o Mega é compatível com TTL e pode endereçar SRAM externa.
Pitanga pediu sugestões para reativar um 486; foram sugeridos Pinball Fantasies, Doom, Turbo Pascal ou Turbo C++ e coletâneas de demos. Felipe contou que Lord Spy e DalPoz lhe ensinaram assembly de Z80 para MSX em 2003/2004. Ele descreveu o truque de inicializar o VDP com um laço de instruções OUT lendo valores de uma tabela.
RicBit compartilhou a disassembly comentada do Metal Gear do MSX2 e explicou como os 64 KB extras de VRAM permitiriam reduzir o tempo entre telas.
RicBit compartilhou a disassembly totalmente comentada do Metal Gear do MSX2 e explicou como os 64 KB extras de VRAM da maioria dos MSX2 permitiriam reduzir o tempo entre telas.
RicBit compartilhou a disassembly totalmente comentada do Metal Gear do MSX2, que começou a otimizar. Ele explicou que o jogo pressupõe 64 KB de VRAM e descomprime dados durante o jogo, e que os 64 KB a mais presentes na maioria dos MSX2 permitiriam guardar esses dados em cache e reduzir o tempo entre telas.
RicBit fez lives de engenharia reversa do Turbo R, em especial do chip de som, e mostrou um cabo RGB com seis BNC. O grupo discutiu o BrMSX, o Westen House, a porta 0xFE, a SD Mapper e o Nextor, comparou Hotbit e Expert, e L. planejou um MSX2 caseiro, possivelmente mini-ITX.
RicBit fez lives de engenharia reversa do Turbo R para corrigir partes emuladas de forma errada; a primeira caiu no meio da explicação. As seguintes, sobre o chip de som, foram remarcadas algumas vezes, e ficou combinada a transmissão simultânea pelo Happy Hacking Video Blog.
RicBit propôs uma live de engenharia reversa do MSX Turbo R para corrigir partes emuladas de forma errada; disse que o MAME parece ter o mesmo bug e apontou o openMSX como o melhor emulador, ainda imperfeito no som. O grupo discutiu ferramentas de transmissão (StreamYard, OBS). A primeira live, no Twitch, caiu no meio da explicação sobre a espera de N ciclos entre escritas e ficou para continuar no dia seguinte.
As lives seguintes, sobre a engenharia reversa do chip de som do MSX Turbo R, foram remarcadas algumas vezes; uma delas não ficou gravada no Twitch. Ficou combinada a transmissão simultânea pelo Twitch de RicBit e pelo Happy Hacking Video Blog, com Felipe "Juca" Sanches como comentarista.
RicBit modelou no OpenSCAD um cabo para o Turbo R com seis BNC, o que levou a uma discussão sobre os bugs do OpenSCAD, e depois mostrou um cabo RGB com seis BNC para uso com um monitor PVM.
RicBit modelou no OpenSCAD um cabo para o Turbo R, com DIN8 de um lado e 6 BNC do outro. Discutiram os bugs do OpenSCAD: RicBit atribuiu os erros a aproximações por uso de float, depois localizou a falha na CGAL, a biblioteca de geometria usada pelo OpenSCAD, e concluiu que o melhor é refazer do zero. Felipe "Juca" Sanches citou a impressora 3D Metamaquina 2, projetada em OpenSCAD com rodrigopitanga, e L. citou o Antimony.
RicBit mostrou um cabo RGB para MSX turbo R com DB8 de um lado e seis BNC do outro, para uso com um monitor PVM. A conversa tratou de blindagem, de monitores PVM vindos de emissoras de TV e de um leilão de monitores Sony em Brasília.
Foram discutidos o assembler para montar o BrMSX, a ROM linear do Westen House, o uso da porta 0xFE em jogos convertidos do ZX Spectrum e o F1 Spirit 3D Special para MSX2+.
Ismael Luceno perguntou a RicBit se existe um assembler livre compatível com o TASM para montar o BrMSX. L. sugeriu o nasm, que Ismael já havia tentado sem sucesso. RicBit sugeriu um conversor de TASM para a sintaxe de um assembler aberto, e Felipe "Juca" Sanches concordou com a ideia de reformatar o código em uma etapa de pré-processamento.
Felipe "Juca" Sanches encaminhou uma mensagem de Augusto Almeida sobre Westen House, jogo de 2021 para MSX, e Pablo Vasques Bravo-Villalba citou o autor, Santiago Ontañón. Shideravan perguntou se a licença Apache-2.0 permite redistribuir o binário no Datassette, e Felipe confirmou. O jogo não rodou no ares, e Pablo explicou que é uma ROM linear de 48 kB que deve ficar visível de 0x0000 a 0xbfff.
Augusto Almeida questionou a afirmação, feita na lista msxbr, de que jogos convertidos do ZX Spectrum para MSX escrevem na porta 0xFE. RicBit buscou o padrão d3 fe no pacote MSX Mania 70 e achou ao menos um trecho de código com out (FE),A. Como essa porta corresponde ao mapper nos MSX que o têm, um jogo assim pode funcionar num MSX1 e falhar num MSX2+. RicBit também confirmou que o drive do CP-500 usa o mesmo controlador do MSX. Augusto comentou as incompatibilidades do TK90X com o ZX Spectrum.
Augusto Almeida divulgou um anúncio de MSX2, e Deleted Account disse que ia ver um Hotbit e um Spectrum +2 e que queria conhecer o F1 Spirit 3D Special. RicBit explicou que o jogo usa FM porque o FM é obrigatório no MSX2+. Acrescentou que foi o único jogo para MSX2+ e que o Space Manbow apenas detecta o modelo para melhorar o scroll. Também se falou do Aleste Gaiden, que fazia parte da Disc Station da Compile, e do protótipo de Terra Cresta (1988) para MSX.
Membros compararam o Hotbit e o Expert e explicaram as interfaces SD Mapper e USB Mapper e o Nextor.
Um participante perguntou por leitores de cartão SD para MSX. Augusto Almeida citou as interfaces do Fractal e de Paulo Maluf Jr., e Leonardo Roman indicou anúncios de MSX Mapper. Pablo Vasques Bravo-Villalba explicou que as SD Mapper juntam a interface SD com a expansão de memória necessária para o Nextor (versão atual do MSX-DOS2, melhorada por Konamiman) e que a USB Mapper usa pen drive no lugar do cartão.
A partir de uma pergunta de Deleted Account, Augusto Almeida e Pablo Vasques Bravo-Villalba compararam os modelos do Hotbit e do Expert: configuração de slots, compatibilidade, chips soquetados ou soldados e a tampa do slot lateral do Hotbit. Pablo atribuiu parte das incompatibilidades a jogos piratas que identificavam o modelo pela string da ROM. Foram citadas a placa MSX2+ que a Tecnobytes desenvolve para o Hotbit e as interfaces IDE, SD e USB Mapper. A conversa seguiu para outros micros, como o Spectrum e o Amiga.
A instalação de um kit V9958 levou a conversas sobre drives reais e emulados; L. planejou um MSX2 em formato mini-ITX e divulgou o fddEMU.
A instalação de um kit V9958 em um Hotbit, com pouca documentação, levou a uma discussão sobre drives de disquete reais versus emuladores de drive e sobre como é usar hardware antigo hoje. Os participantes trataram de navegadores para máquinas antigas (Classilla, falta de TLS moderno), de proxies de renderização como o wrp e de modems Wi-Fi com ESP8266 para acessar BBS via telnet. Emerson Moura anunciou a reabertura da lista ClassicMacBr no Google Groups.
L. planeja retomar o projeto de um MSX2 caseiro, aprender KiCad e mandar fazer a placa, possivelmente em formato mini-ITX para usar um gabinete de PC. Ele encontrou o Omega, um MSX2 de hardware aberto, e outros projetos do mesmo autor (Micro 8088, tiny_z80).
L. divulgou o fddEMU, emulador de drive de disquete de código aberto, que pensa usar se terminar o MSX2 que monta do zero. Ele notou que o fddEMU só suporta discos HD (MFM), sem DD.
Falou-se dos encontros de usuários, da revista Clube MSX número 12 e de uma sessão do workshop de C e Assembler para MSX.
Felipe "Juca" Sanches compartilhou um vídeo do Prince of Persia no MSX, e Emerson Moura observou que o port exige o cartucho de vídeo V9990. A conversa passou para os encontros de MSX (MSXSP, Jaú) e as dificuldades de quem chega à comunidade.
Eduardo Loos anunciou que a revista Clube MSX #12 estava disponível na loja virtual.
Felipe "Juca" Sanches divulgou a sessão 13 do Workshop de Programação C e Assembler para MSX, em que Parn explica o PSG.
RicBit explicou truques de sprites e de sombra em screen 10-12 do VDP, achou um bug no conversor do Jannone e abriu um pull request, testou métodos de dithering e publicou o código em um gist. O grupo também discutiu o R800, o Z80 contra o 6502, os debuggers do openMSX e a exposição dos 40 anos do MSX.
A partir de uma demo de scroll de 1 pixel compartilhada por Pedro de Medeiros, RicBit explicou truques de temporização e de sprites do VDP. Ele também explicou os efeitos de sombra em screen 10-12, tema que surgiu do porte do Dank Tomb para MSX2 planejado por L., que também estuda técnicas de jogos no estilo Minecraft para a TI-84 CE. Foi compartilhada ainda uma emulação do TMS9918A em RP2040.
Pedro de Medeiros compartilhou uma demo de scroll de 1 pixel no MSX2. RicBit explicou que, com a temporização certa, é possível fazer blit na região ativa sem flicker, citou o Space Manbow, que divide a tela para dobrar os sprites, e disse que os sprites são lidos antes do início de cada linha, por isso não podem ser trocados no meio dela. Também confirmou que dá para esticar um sprite com interrupção de linha, efeito usado no Sword of Legend Lenam do Disc Station 9.
Pablo Vasques Bravo-Villalba compartilhou um projeto que emula o TMS9918A em um RP2040 com saída DVI. L. comentou a ideia de transformar seu RC2014 em um MSX.
Felipe "Juca" Sanches e Nano Gennari compartilharam dois jogos no estilo Minecraft para a TI-84 CE, um deles com iluminação por dithering. L. disse que estuda essas técnicas para portar o Dank Tomb para o MSX2.
L. planeja portar o Dank Tomb para MSX2, com permissão do autor, e perguntou como fazer os efeitos de sombra e lanterna. RicBit explicou que em screen 12 os pixels são guardados em YJK e que em screen 10-12 basta deslocar o Y em 1 bit, como fez no demo TMNT de 1999.
RicBit identificou um bug no conversor do Jannone e abriu um pull request, escreveu um conversor novo e testou vários métodos de dithering. Ele publicou o código em um gist.
RicBit identificou um bug no conversor de telas do Jannone, que gera linhas e não espalha o erro na horizontal, e abriu um pull request. Em seguida escreveu um conversor do zero para screen 5 com paleta de MSX1 e comparou os resultados com o conversor do mifui. Pablo Vasques Bravo-Villalba participou das comparações.
RicBit testou vários métodos de dithering para converter imagens para screens do MSX: curva de Hilbert, Floyd-Steinberg, reescala por mediana e um método estocástico. Os resultados foram comparados em desenhos e fotos com Pablo Vasques Bravo-Villalba, Shideravan e L., e foram discutidos Voronoi e pontilhismo. Segundo RicBit, o fractal só leva vantagem em cartoon, e ele corrigiu um bug de arredondamento; o código foi publicado em um gist.
O grupo discutiu o die do R800 e o uso de microcódigo e debateu se o Z80 era inferior ao 6502. RicBit identificou como DDA uma técnica de desenho de linhas e verificou no MAME que o drive 1541 tem um 6502 completo.
L. compartilhou o die shot do R800 e comentou que ele parece estranho por dentro; Pablo Vasques Bravo-Villalba achou-o mais desorganizado que outros processadores da época. RicBit explicou que o ZX80 usa o registrador de refresh do Z80 como contador para gerar vídeo e defendeu que o R800 usa microcódigo, com base em uma entrevista sobre o erro na instrução DAA. Pablo Vasques Bravo-Villalba citou entrevistas da MSX Magazine segundo as quais o R800 foi feito com gate array e células padronizadas, e disse que é um gate array da Yamaha. O grupo discutiu onde ficaria a ROM de microcódigo, como funcionam microinstruções e o pipeline do R800.
Guilherme Ranoya disse que o Z80 era inferior ao 6502, com base na sua experiência com MSX, Atari 800 e Apple II. RicBit argumentou que os exemplos citados eram do hardware de vídeo e não do processador. Segundo ele, o círculo do BASIC do MSX usa o algoritmo de Bresenham com espelhamento, que exige registradores que o 6502 não tem, e a SymbOS mostra uma interface gráfica multitarefa rodando em Z80. Guilherme acabou concordando que sua impressão se devia mais ao resto do hardware do que ao processador.
L. compartilhou um artigo sobre desenhar linhas sem Bresenham; RicBit identificou a técnica como DDA. Segundo RicBit, o artigo parece usar a CPU do drive para fazer divisões, e ele verificou no MAME que o Commodore 1541 tem um 6502 completo. Leonardo Roman citou o demo Freespin, que roda apenas no drive.
Foram comentados os debuggers do MAME e do openMSX. RicBit mostrou que o vgmrecorder do openMSX derivou do seu grabfm.tcl.
O grupo comentou a interface do MAME, que é de linha de comando com um debugger em Qt. Pedro contou que está corrigindo bugs de mais de 12 anos no debugger do openMSX. RicBit lembrou de falhas nas telas de debug do VDP e mostrou que o script vgmrecorder do openMSX derivou do seu grabfm.tcl, e explicou que o projeto rastreou a proveniência do código e pediu a licença antes de incluí-lo.
Discutiram-se as cores do TK2000 em PAL-M; RicBit contou que mediu um Expert com osciloscópio e concluiu que não há uma cor exata. Também se perguntou por que o I/O do Game Boy não aparece no barramento do cartucho.
A partir de um tweet compartilhado por L., RicBit perguntou por que o I/O do Game Boy não aparece no barramento do cartucho, como acontece no MSX. Robson França perguntou se o I/O do Game Boy não é mapeado em memória. Depois de outro tweet trazido por L., RicBit supôs que, se não houver chip select no barramento, a separação seja feita por alta impedância, ao contrário do MSX, que tem uns quatro sinais de chip select.
Pablo Vasques Bravo-Villalba perguntou quais cores correspondem a cada atributo no TK2000, que gera cores por artefato de vídeo composto como o Apple II, mas no padrão PAL-M. Felipe "Juca" Sanches sugeriu conferir as cores na emulação do TK2000 no MAME. RicBit contou que mediu com osciloscópio um Expert e concluiu que não há uma cor exata, pois ela depende do circuito, do cabo e da TV. Pablo compartilhou esquemas do TK2000 e as frequências de cristal de NTSC e PAL-M, e RicBit se ofereceu para calcular os níveis do sinal.
Felipe "Juca" Sanches divulgou a exposição do MSXSP na Canal 3 Expo 2023.
Felipe "Juca" Sanches divulgou a exposição do MSXSP sobre os 40 anos do padrão MSX na Canal 3 Expo, nos dias 28 e 29 de outubro, com palestras de Stefano Arnhold (Tectoy) e Paulo Peccin (WebMSX e Javatari).
Pedro de Medeiros abriu PRs no openMSX para breakpoints com slot/subslot e para desmontar strings binárias, e RicBit mostrou seu parser JSON de 768 bytes para Z80 e sua teoria sobre o YM2413. Também foram lembrados o MSX em FPGA do LSI-USP e o BrMSX com dynarec.
O Spectrum Analyser foi comparado ao ExecTrace de Felipe e aos recursos do openMSX. Pedro de Medeiros abriu PRs no openMSX para breakpoints com slot/subslot e para desmontar strings binárias.
L. compartilhou o Spectrum Analyser, que reúne emulador, depurador e disassembler interativo para jogos de ZX Spectrum. Felipe "Juca" Sanches viu nele funções que planeja para o seu projeto ExecTrace, incluindo a integração com o depurador do MAME. RicBit lembrou que o openMSX já oferece isso há cerca de 15 anos e contou que instrumentou o emulador com um script em Tcl para medir o tempo gasto em cada instrução de MSX BASIC (cerca de 1 a 2 ms por instrução).
Pedro de Medeiros abriu um PR no openMSX para criar breakpoints com informação de slot/subslot no gerenciador de símbolos e pediu sugestões de recursos para o depurador.
Pedro de Medeiros abriu um PR no openMSX com uma extensão para desmontar qualquer string binária em Tcl. Ela serve a um script que gera assembly dinamicamente, como o Spectrum Analyser.
Os assuntos foram o fim da produção do Z80 pela Zilog, uma proposta de virtualização no MSX via HALT/NMI, o parser JSON de 768 bytes de RicBit, um projeto japonês para MSX0 que usa a biblioteca JSON de RicBit e os mnemônicos de rotação do Z80 e do TLCS-900.
L. avisou do fim da produção do Z80 pela Zilog, e Pablo comparou o Z80 com o 6502. Luciano Ramalho lembrou uma demonstração de Etienne Delacroix na Poli: um Z80 sem RAM incrementava o contador de programa e a contagem aparecia em LEDs. L. compartilhou o z80-open-silicon, clone open-source do Z80 em silício.
Os pontos de partida foram um emulador de 6502 que roda em 6502 e um artigo sobre um emulador de Z80 com precisão de ciclo. RicBit propôs ligar o sinal HALT a um pino não conectado do slot do MSX para disparar NMI e trocar de contexto. Ele também listou três comportamentos que considera errados em todos os emuladores: uma sequência de EIs com interrupção no meio, o mux de entrada do FM-PAC e o latch da saída PCM do turboR.
RicBit mostrou como sobrepôs tabelas de constantes no seu parser JSON para Z80, que tem 768 bytes e, segundo ele, é 100% compatível com o padrão. L. descreveu seu parser JSON em C, que preenche structs diretamente, e a conversa passou por geradores de código a partir de DSLs, como o protobuf.
RicBit compartilhou um projeto japonês de relógio e termômetro para o MSX0 que usa sua biblioteca de leitura de JSON.
Pedro de Medeiros criticou o fato de, no TLCS-900, RLC significar rotação sem carry, padrão que, como Pablo lembrou, vem do Z80. Pablo explicou a diferença entre a rotação de 8 bits (RLC) e a de 9 bits com carry (RL).
Os assuntos foram o MSX em FPGA do LSI-USP, a decapsulação de chips do MSX, a teoria de RicBit sobre os atrasos de escrita do YM2413, um MSX2 em protoboard e teclados mecânicos.
A partir de um artigo sobre FPGAs e hardware retrô, L. lembrou o projeto de MSX em FPGA do LSI da USP, do qual RicBit e Felipe "Juca" Sanches participaram. RicBit contou que, pelo que se lembra, o projeto começou por volta de 2001 e que o primeiro MSX completo saiu em 2003, ainda com um Z80 discreto, porque o processador não cabia na FPGA da época.
Pedro de Medeiros e Pablo Vasques Bravo-Villalba compartilharam tópicos do MSX Resource Center sobre a decapsulação dos chips V9990, SCC e V9958.
L. compartilhou um teclado mecânico para C64 e sugeriu fazer um para o Expert. RicBit mostrou o teclado que usa, e Pedro de Medeiros observou que teclas como F12 conflitam com atalhos do openMSX.
RicBit expôs a teoria de que os atrasos exigidos após escrever num registrador do YM2413 vêm de um contador interno que percorre os registradores. Segundo ele, a teoria bate com o datasheet e permitiria escrever vários registradores numa sequência calculada. A conversa passou ao interleave de setores, que acelera a leitura de disquetes pelo DOS/BASIC do MSX, aos erros de RAM causados por raios cósmicos e ao armazenamento de disquetes perto de HDs.
Felipe repassou o projeto H2Z80, um computador Z80 montado com fiação manual. L. mostrou fotos de seu MSX2 em protoboard, nunca concluído, incluindo uma protoboard feita especificamente para o VDP.
L. testou à mão a tradução de assembly para C, e RicBit lembrou uma versão do BrMSX com dynarec. RicBit também descreveu um compressor para textos de RPG de 8 bits e se ofereceu para otimizar, se preciso, o BrMSX no Pocket 386 de L.
A partir da notícia sobre a recompilação de jogos de N64 para PC, L. fez à mão um teste de tradução de assembly para C, com uma função por rótulo e tail calls ([[musttail]]) entre elas. Tevo citou o port do Open Genera para Linux, que compilava para C o assembly de DEC Alpha do emulador do Ivory. RicBit lembrou de uma versão do BrMSX com dynarec, que funcionava bem com jogos japoneses rodando em ROM e mal com jogos espanhóis automodificáveis rodando em RAM.
A partir de um artigo sobre o uso de BSP no Doom, RicBit mostrou e criticou sua própria implementação de 1995. Depois descreveu um compressor com símbolos de tamanho variável, baseado no método MIS, útil para descomprimir trechos aleatórios de texto em jogos de RPG de 8 bits. Segundo ele, a ideia era fazer o Shalom caber em 256 KB, mas o resultado ficou com 512 KB.
L. comprou o Pocket 386, um laptop atual com 386SX de 40 MHz e 8 MB de RAM, e o recebeu cerca de dez dias depois. L. pensou em rodar nele o BrMSX para DOS; RicBit se ofereceu para otimizá-lo, se preciso, e sugeriu testar com Nemesis.
O grupo discutiu a razão de aspecto do TMS9918 e do V9990, o preenchimento de polígonos no V9990 e um port de Another World. O debugger em Tcl de Pedro de Medeiros foi aceito no openMSX, e L. comprou um MSXBook.
Pablo Vasques Bravo-Villalba e RicBit discutiram a razão de aspecto dos pixels do TMS9918 e os modos overscan do V9990. Pedro de Medeiros apresentou uma prova de conceito de preenchimento de polígonos no V9990. Um port em andamento de Another World para MSX2 com V9990 foi analisado, junto com o VDP V9968 em FPGA.
A partir de um artigo sobre screenshots de MS-DOS postado por Alexandre Villares, Pablo Vasques Bravo-Villalba apontou erros na Wikipedia, que dá ao TMS9918 pixels 1:1, quando são 8:7 em NTSC. Ele e RicBit discutiram também os modos overscan do V9990, que usa dois cristais. RicBit examinou com o ChatGPT o código de temporização do V9990 no openMSX. Os dois propuseram calibrar a TV medindo um círculo ou um quadrado desenhado na tela, e Pablo mediu a razão no WebMSX e no openMSX.
Pedro de Medeiros apresentou uma prova de conceito de preenchimento de polígonos convexos no VDP V9990 do MSX, com um cubo girando.
Pablo compartilha um port em andamento de Another World para MSX2 com V9990. Felipe aponta falhas como polígonos transparentes, erros de preenchimento, baixo frame rate e enquadramento. Pedro apresenta o V9968, VDP em FPGA de HRA!, com um novo modo de sprites; Pablo observa que ele é uma extensão do V9958. Pedro descreve ainda uma técnica de renderização de polígonos com LINE e LMMM.
Pedro de Medeiros procurou uma forma de inserir uma ROM num arquivo IHX. Teve aceito no openMSX seu debugger em Tcl, substituto do sdcdb, e propôs um dispositivo programável.
Pedro de Medeiros procurou uma ferramenta para inserir o conteúdo de uma ROM num arquivo IHX existente. L. sugeriu combinar hex2bin, bin2hex e dd.
Pedro de Medeiros anunciou que seu debugger escrito em Tcl, substituto do sdcdb (o debugger do SDCC), foi aprovado no openMSX.
Pedro de Medeiros compartilhou seu PR que implementa um dispositivo programável no openMSX.
L. comprou um MSXBook, MSX2+ portátil em FPGA. Pablo descreveu os recursos do aparelho, sua relação com o OCM e o Zemmix Neo e o firmware do KdL.
L. comprou um MSXBook, baseado no OneChipMSX. Pablo Vasques Bravo-Villalba descreveu os recursos do aparelho: armazenamento de massa, emulação de cartucho, turbo, FM, SCC, saída 31 kHz e cartão SD de até 4 GB. Explicou ainda a relação do circuito com o OCM e o Zemmix Neo, além das questões de licença e suporte do firmware do KdL. Quando o aparelho chegou, L. instalou o firmware.
Felipe perguntou sobre o CIC-502, mas ninguém tinha informações. O grupo comentou projetos MSX brasileiros, o MC-1000 e o MX-1600 da Dynacom. Também resolveu como rodar o Aquarela no WebMSX, e Pablo reproduziu no MSX os padrões 8x8 do Mac clássico.
Felipe "Juca" Sanches perguntou se alguém conhecia o computador CIC-502. Pablo Vasques Bravo-Villalba nunca tinha ouvido falar, e ninguém trouxe outras informações.
O grupo comentou projetos MSX brasileiros, como os de Fábio Belavenuto e da Tecnobytes. Pablo Vasques Bravo-Villalba explicou que os cartuchos de MSX no Brasil eram em geral piratas, mas os computadores eram licenciados. Ele descreveu o MC-1000 como uma espécie de CoCo com Z80, de origem incerta. Shideravan perguntou sobre o MX-1600 da Dynacom, que segundo ele só aceitava cartuchos próprios, e RicBit comentou o uso de peças comuns nos micros da época.
Guilherme Ranoya não conseguia rodar no WebMSX o software brasileiro de desenho Aquarela. Pablo Vasques Bravo-Villalba indicou a imagem do File-Hunter, que funcionou, e Guilherme atribuiu o problema à imagem que usava antes.
A partir de um artigo sobre os padrões de 8x8 pixels do Mac clássico, Pablo escreve um programa em BASIC para MSX que exibe todos os padrões na SCREEN 1.
Índice escrito por agentes Claude que leram o log completo de cada período. Um segundo agente conferiu cada conversa contra as mensagens, e um terceiro conferiu os resumos do ano e dos temas contra as conversas. Pode conter imprecisões: cada item leva às mensagens originais. Para procurar palavras específicas, use a busca.