Group chat: Arqueologia Digital e Preservação Histórica por meio da Emulação de Dispositivos Eletrônicos - page 2
sim
Werner Eck:
só perguntando pra ele msm
Werner Eck:
Werner Eck:
Eu vejo isso como um switch/case, kkk
Werner Eck:
eu faço essa parte! 😆
exatamente!
mas no circuito isso é provavelmente equivalente à placa CDE3 do Pato. Ou seja, um monte de porta lógica implementando uma função booleana para cada instrução. Entram os bits de opcode, sai um sinal verdadeiro/falso indicando tratar-se ou não de uma determinada instrução.
Não cheguei a ver se tem programas de exemplo nesses documentos
Werner Eck:
ainda não cheguei lá
seria muito bom ter programas originais transcritos. Pra podermos rodar no emulador.
Senão teríamos que nós mesmos escrever exemplos, o que é legal também, mas é menos excitante do ponto de vista de resgate histórico.
Werner Eck:
verdade. Estou pensando enquanto leio, se vale a pena redesenhar o diagrama lógico com simbolos modernos
sim, vale !
Werner Eck:
Isso q vc disse aí, me soa de novo, como um trahalho pro Setzer lembrar... rs
Já fiz isso em cerca de 60% do circuito do Patinho Feio, aqui:
https://github.com/felipesanches/PatinhoFeio_KICAD/felipesanches/PatinhoFeio_KICAD
PatinhoFeio_KICAD - Schematics of the Patinho Feio CPU being redrawn on KiCAD. More info at: http://github.com/felipesanches/PatinhoFeio
Werner Eck:
pode fazer antes, a titulo de preparaçãoi
claro que pode hahaha
Werner Eck:
vou tentar seguir a mesma linha q vc seguiu
mas use o KICAD, por favor
Werner Eck:
tenho o Eagle
Werner Eck:
mas eu baixo o Kicad
E tudo em domínio público, por favor
não queremos ter empecilhos de direito autoral numa coisa dessas
Werner Eck:
kkk, só se os caras se levantarem da tumba e nos processarem... (devido respeito)
Werner Eck:
eu não sou dono de nada, nem ninguém
Werner Eck:
to só redesenhando
sim, eu sei, mas passa a ser, a partir do momento que trabalha num esforço de transcrição
Werner Eck:
eu não manjo dessas paradas
então é bom ser explícito: transcrição by Fulano, dedicado ao domínio público.
Werner Eck:
vou pegar um seu qq do PF e me espelhar nele
:-)
Werner Eck:
Werner Eck:
caralho, ponteiro!!
:-)
Felipe "Juca" Sanches added Pitanga
Pitanga:
@wmoecke eu te conheço daquela conversa com o Alex Hornstein, não?
Werner Eck:
acredito q sim
Werner Eck:
vc é o cara da bicicleta?
Werner Eck:
encontrou a gente no café, de bicicleta
Pitanga:
Se "cara da bicicleta" == "cara q chegou de bike" então provavelmente fui eu hehe
Werner Eck:
depois me perguntou várias coisas sobre o cubo
Werner Eck:
metade eu não consegui te responder
Werner Eck:
até pq nessa época eu sabia pouca coisa
Werner Eck:
depois fui me aprofundando
Pitanga:
Vc ainda ta trabalhando c ele?
Werner Eck:
trabalhei até fevereiro desse anop
Werner Eck:
vc ainda tem contato com ele?
Vamos fazer um mão-na-massa de emulação do Zezinho no MAME lá no Garoa durante o feriado.
Pitanga:
Eu conheci ele em 2010 e depois encontrei aquela vez.
Pitanga:
Devo ir no começo de dezembro
Werner Eck:
@fsanches eu vejo q tem alguns caminhos absolutos no projeto do PF no KiCAD, vc sabe de alguma forma para alterar isso?
Werner Eck:
pq ele não encontra algumas bibliotecas; está procurando no lugar errado.
Werner Eck:
eu olhei nos arquivos .pro e .sch mas não tem nada explícito lá...
pois é... acho que aconteceu algo nos ultimos meses na forma como o KICAD lida com os includes
eu não posso ver isso agora
mas depois pretendo olhar
Werner Eck:
enqto isso vou buscando aqui
uma coisa que eu posso te dizer é que eu fiz um arquivo .pro pra cada placa
tem um global pro projeto inteiro também, mas não me lembro direito como eu fiz
Werner Eck:
mas no pro ele relaciona td a caminhos relativos
Werner Eck:
isso deve ser a resposta, é o q estou tentando encontrar
acho que o global abre uma folha contendo sub-folhas
aí cada sub-folha é um esquemático de uma placa individual, acho que é isso
Werner Eck:
é esse arquivo global que eu estou procurando
não tenho certeza, por que faz meses que eu fiz isso e lembro que foi um pouco confuso mesmo
o .pro global tá na raiz do repo se não me engano
Werner Eck:
ah ta. Já olhei ele tbm
Werner Eck:
Werner Eck:
É essa informação q eu não sei de onde ele está tirando...
Werner Eck:
mas vou vendo com calma por aqui
ah, acho que tem umas variáveis que dão o path das libs
Werner Eck:
é isso q eu ainda não consegui encontrar no IDE nem nos arquivos .pro
Werner Eck:
pois nos arquivoe está td relativo, e na IDE em Paths não aparece nada
Werner Eck:
eu tenho a pasta libs e seu conteudo.
Werner Eck:
mas ele não procura lá. Está olhando no seu path
acho que tem que manualmente adicionar lá no editor de esquemáticos na janela de preferences->component libraries
eu sempre achei meio zoado o gerenciamento de bibliotecas de componentes do kicad
é uma bagunça
eu concordo que esse setup deveria de alguma forma estar salvo no repositório git
mas nem sei como faz
Werner Eck:
Werner Eck:
Em lugar nenhum tem indicado esse seu path no projeto baixado. Mas tem q estar em algum lugar.
na parte de cima dessa janale, clique em Add
e aponte o diretório libs
ach oque com isso você vai conseguir
mas por alguma razão esse setup não foi pro repo git
Werner Eck:
vc tem aí a biblioteca "special"?
Werner Eck:
ta alguma coisa bem errada... no component libraries ela está listada, bem como todas as q tem no diretorio libs...
Werner Eck:
Deixa pra la isso por enqto.
Werner Eck:
ta bem esquisito.
Werner Eck:
a gente pode ver isso junto no dia do Garoa. Eu vou levar meu note.
ok
Werner Eck:
https://youtu.be/TXMRn6hVqEsCuriosidades: Primeiros Microcomputadores
Mostramos um pouco da história dos microprocessadores e microcomputadores, incluindo minha experiência pessoal nesses dispositivos novos, na década de 1970. ...
Werner Eck:
Esse cara do vídeo, Rildo Pragana, criou em 1983 (na Elógica, em PE) o primeiro micro nacional, Corisco.
Esse Corisco era o que? Cópia de algum computador gringo? Ou design original ?
Werner Eck:
Pelo pouco que eu consegui ler, não deu pra levantar evidências de nenhum lado. Esse site daí tem artigos de jornal e mais fotos. Meu palpite é q isso foi design original.
Werner Eck:
Parece q teve seu próprio SO
Ninguém tem um desses encostado em algum canto ?
Werner Eck:
ele lembra um macintosh
merece ser documentado
lembra mesmo
Werner Eck:
hehehe lá vem o "emulador do inemulável"...
temos que sempre ter uma meta impossível, para que as metas alcançáveis sejam cumpridas :-)
Werner Eck:
pois é... eu acho q teria q perguntar pro Rildo
Werner Eck:
Eu não consegui achar nada "palpável"
o nome Co ris co me fez pensar no Color Computer, o famoso CoCo.
Werner Eck:
mas pode não ter nada a ver
Werner Eck:
também acho que não tem nada a ver
Werner Eck:
tem uma thread interessante
Werner Eck:
Eu acho q esse micro nem chegou a ser produzido em linha
Werner Eck:
Foi um projeto totalmente nacional.
Werner Eck:
"Era uma máquina revolucionária, com sistema capaz de operar em rede e não uma cópia das máquinas americanas."
Werner Eck:
Aqui tem um pouco mais de história:
https://ultimocorisco.blogspot.com.br/O último Corisco
Ao começar a trabalhar no Último Projeto de José Eduardo Belarmino Alcoforado, descubro um Corisco tão ou mais ousado que o bandido do grupo de Lampião. Um cangaceiro na informática, assim como o da caatinga, formou seu próprio bando e aterrorizou os centros de processamentos de dados.
tem mais...
Esses são todos os clones do RCA Studio 2 que o MAME emula
Por exemplo esse clone alemão:
E aqui vemos a "softlist" (lista de programas conhecidos para esse computador):
Werner Eck:
Eu consegui contato com o Plínio Araújo, técnico em eletrônica q produzia as placas do Corisco. Ele está no LinkedIn, e aceitou meu pedido para adicioná-lo. Eu mandei uma mensagem para ele explicando o propósito desse grupo nosso, e apresentando o trabalho do
@fsanches ref. ao Patinho Feio. Aguardo a resposta dele.
Que legal !!!!
:-)
Werner Eck:
Vamos ver... o q ele diz.
Werner Eck:
Eu vi lá q vc tbm postou no video do Rildo, mas até agora ele não deu resposta lá né?
é... mas com calma a gente vai puxando aqui e alí mais pedacinhos dessas histórias...
Werner Eck:
é assim msm... vai juntando as partes do quebra-cabeças.
Marcus Garrett joined with an invite link
Garrett, o tema da vez essa semana é uma descoberta de 2 PDFs com os trabalhos de conclusão de curso completos de estudantes de graduação do ITA de 1961 e 1962 que trabalharam no projeto e no aprimoramento do computador Zezinho (uma década antes do Patinho Feio da USP)
Outro tema da semana é um computador chamado Corisco que foi projetado em 1983 e, aparentemente, trata-se de um design original (não sendo cópia de computadores extrangeiros como era de costume naquela época)
epa! Acho que o ano tá errado, lembro de ter visto menções de que o protótipo foi feito em 1977. Mas por algum motivo eu tava com 1983 na cabeça.
(eu nasci em 83, vai ver foi isso :-P)
Marcus Garrett:
Muito prazer, amigos, é uma honra estar aqui
Marcus Garrett:
Obrigado, Felipe, pela oportunidade
o prazer é nosso!
Marcus Garrett:
Estou na rua, não posso teclar agora, mas depois nos falamos
valeu! Até breve
Eu acompanho quase diariamente o reddit da SpaceX (https://reddit.com/r/spacex), mas nunca tinha passado pela minha cabeça checar se existe algum canal de história da computação.
r/SpaceX, the premier SpaceX discussion community • r/spacex
Welcome to r/SpaceX, the premier SpaceX discussion community and the largest fan-run board on the American aerospace company SpaceX. This board is...
E hoje fui procurar e achei esse aqui que parece bem legal:
https://www.reddit.com/r/historyofcomputers/a place for enthusiasts of computing and... • r/historyofcomputers
a place for enthusiasts of computing and computing history! from the abacus and napier's bones, to the MIT model railroad club, to the personal...
Werner Eck:
legal isso hein 👍
Eu queria ter ido na Santa Ifigênia comprar capacitores novos pra consertar a fonte de alimentação do CP-500. Mas acabei ficando em casa estudando mais os circuitos dele e escrevendo mais postagens no Fiozera.
Agora já é tarde pra sair de casa.
Werner Eck:
Cara, se vc não estiver com muita pressa de receber, pq vc não compra um desses "pacotões" com valores sortidos (tem no ebay:
http://ebay.to/2ibx8UJ)? Não vale mais a pena?
capacitor assortment | eBay
Find great deals on eBay for capacitor assortment and electrolytic capacitor assortment. Shop with confidence.
Werner Eck:
Vantagens: custa muuuuuuito mais barato q aqui no BR, vc pode escolher qual pacote vem com a gama de valores q te atende melhor (olhe sempre na descrição e/ou título e/ou fotos do anúncio).
Werner Eck:
Desvantagem: Costuma demorar um pouco, devido à nossa alfândega e os CUrreios.
Werner Eck:
e a chance de ser tributado é praticamente zero. Falo pela minha experiência.
eu costumo ser impaciente
Deixo um CP-500 encostado por 2 anos sem fazer nada. Mas na hora que começo não quero ter que esperar. Senão desanima.
Daqui 1 semana que já vou estar com algum outro projeto na cabeça.
Werner Eck:
Pra te dar uma mãozinha.
Werner Eck:
Acho q resolve algumas das suas dúvidas lá no seu post do fiozera
sim, eu sei
já conheço
só não tive oportunidade ainda de introduzí-lo no storytelling
mas tá planejado aparecer nas próximas postagens
descobri isso ante-ontem
é uma pena que esse documento seja incompleto
tem umas 20 ou 30 páginas faltando
Recebi esse email por meio de uma lista pública por volta de Setembro de 2016. Cheguei a mandar mensagens pro cara pra ver se ele poderia doar as EPROMs e os chips custom da COBRA pra mim, mas ele disse que queri fazer grana vendendo tudo no eBay e MarcadoLivre
hoje, entretanto, ele do nada me contactou novamente:
Quando isso chegar, vou precisar de ajuda para sistematizar o processo de dump das ROMs e catalogação. E também alguma metodologia para identificar de qual equipamento veio cada uma das ROMs.
Werner Eck:
Tem alguma ideia de quantas EPROM estamos falando?
Em uma mensagem ele menciona 10 caixas de componentes
dos quais apenas uma parte são EPROMS
não tenho idéia de quantas sejam
Werner Eck:
Exato. Por isso a pergunta...
se vem pelo correio provavelmente vai ser uma caixa
talvez uma caixinha, talvez uma caixona.
emulei o CP-500 no MAME
https://forum.fiozera.com.br/t/estudando-os-circuitos-do-prologica-cp-500/150/5Estudando os circuitos do Prológica CP-500
[imagem] Em novembro de 2015 o Fabio Hirano e a Amanda Yumi Ambriola trouxeram para o Garoa Hacker Clube um computador Prológica CP-500 completamente desmontado. Não apenas a eletrônica mas também a carcaça, os dois drives de disquetes de 5 1/4" e o tudo de raios catódicos (CRT). Aparentemente todas as peças não-opcionais estão inclusas no conjunto de peças que recebemos, mas nitidamente faltam alguns cabos. Na época nós promovemos um evento no Garoa para fazer a inspeção geral das peças e t...
Forwarded message from Felipe "Juca" Sanches:
O hardware não é idêntico ao do TRS-80 Model 3. Tem um flipflop que chaveia página de memória e por causa da falta da emulação dessa parte simplesmente carregar a ROM do cp500 no emulador de TRS80 Model 3 não funciona
Forwarded message from Felipe "Juca" Sanches:
Fiz os ajustes, declarei um novo driver de emulação derivado do TRS80 Model 3 contendo a emulação do flipflop adicional e do mecanismo de chaveamento de página e agora rola direitinho
Forwarded message from Felipe "Juca" Sanches:
deve ser incluso na versão do MAME do mês que vem, a 0.192
Werner Eck:
Meus parabéns pela emulação!
Werner Eck:
Vc já tem o dom do código, pega fácil as necessidades de cada hardware. Isso se deve à prática. Novamente, parabéns.
Faz uns 8 anos (ou mais) que eu fuço no código do MAME
Werner Eck:
Eu te conheci mexendo no MAME
Werner Eck:
Vc ja tinha emulado maquinas com proteção, como aquela q tem no garoa, q vc mostrou pra mim como vc quebrou a proteção dela.
Werner Eck:
Vc já é especialista em MAME.
#1: não é proteção, é bloqueio. Pra todas as pessoas do mundo é bloqueio. Só é proteção para a empresa que desenvolveu o equipamento
#2: não fui eu que quebrei o mecanismo de bloqueio
foi alguma outra pessoa
eu só aprendi a respeito e te contei uma história empolgante
:-)
mas eu gosto muito desse tema e dedico bastante já faz quase uma década
Werner Eck:
Td bem perdoe a falha de memoria... Faz uns 2 anos já.
acabaram de dar o merge
é oficial, tem CP-500 no MAME agora :-)
Werner Eck:
https://youtu.be/de2Hsvxaf8M"C" Programming Language: Brian Kernighan - Computerphile
"C" is one of the most widely used programming languages of all time. Prof Brian Kernighan wrote the book on "C", well, co-wrote it - on a visit to the Unive...
Werner Eck:
@fsanches eu recebi um retorno daquela jornalista que escreveu o blog sobre o fundador da Elógica. Posso encaminhar pra vc ler?
Werner Eck:
(no seu email)
pode sim
eu li no blog-post a frase "Maravilha, o foguete aquecendo os motores." e dei risada. Por que no mundo real os foguetes resfriam os motores quando estão se preparando para a ignição :-)
Werner Eck:
onde vc leu isso?
Werner Eck:
ah ta. Esse cara é uma locomotiva. Nem hospitalizado ele para de trabalhar
Werner Eck:
E empreender.
Werner Eck:
Entendi; a questão é ir injetando líquidos propelentes gradativamente, para não causar problemas nas bombas e tubulações quando o motor começar a funcionar e esses propelentes forem bombeados constantemente.
Werner Eck:
evitando os efeitos danosos do choque térmico.
Werner Eck:
(temp. ambiente vs. temp. dos propelentes)
é, acho que é isso
Werner Eck:
de um certo modo, isso causou a explosão da Challenger
Werner Eck:
na verdade foi o frio intenso do ambiente que endureceu um anel de vedação (o-ring) que depois se rompeu durante o lançamento
Amigos, preciso de uma ajuda técnica
Estou aqui na USP com esse bicho do meu lado. Um terminal Scopus Sagitta 150
Tentei fazer o dump da ROM desse terminal, mas a cada leitura sai uma imagem de ROM diferente
o chip tá zoado
mas em alguns dos dumps dá pra ver vestígios do dado real
vejam, por exemplo, o finalzinho desses 2 dumps:
dá pra ver que o dado correto ali deveria ser "s a g i t t a - 1 5 0 versao: 4.00"
cada uma das ROMs tem um bit diferente zoado, mas misturando as duas talvez dê pra extrair uma imagem boa
eu fiz uns 40 dumps dessa ROM e todos sairam diferentes, então deve ter alguma variação intermitente na leitura dos dados
Se alguem aqui quiser ajudar, eu posso enviar um ZIP com todos os dumps pra vocês se divertirem fazendo algum tipo de análise estatística, comparação, etc, pra tentar extrair algo bom
vou botar a EPROM de volta na PCB e guardar o terminal aqui, por que quero trabalhar agora em outro equipamento
daqui a pouco eu mando fotos do "outro"
;-)
Werner Eck:
Sugestão, vc não acha válido botar esse thread em um post lá no fiozera? Fica mais f
Werner Eck:
fácil colaborar.
Sim!!!
Valeu!
Vou fazer isso sim
Werner Eck:
Foi conversar com o Setzer?
Ainda nao...
Werner Eck:
Nossa, tá encardido mesmo hein?
Se o Sagitta 150 tá dando dor de cabeça, vamos ver o que conseguimos com o 180 :-)
Werner Eck:
As EPROMs q vc tentou dumpar são essas 4 aí?
Werner Eck:
ah esse é o 180
Não. Esse é o 180 que eu vou começar a dumpar agora
o 150 tem uma só ROM. O 180 tem essas 4
Werner Eck:
ok - Vc tá usando o Mini?
sim
Werner Eck:
Acredito q vc terá mais sucesso.
"break a leg!"
:-)
o MAME tem uma ferramenta bem bacana chamada romcmp (ROM compare)
Werner Eck:
Mas ele precisa pra isso, de um bom dump?
ele compara N dumps e diz se há similaridades entre eles
e também diz se tem bits travados em 1 ou em 0
dá pra ver aí que várias ROMs tão com bits travados em 1
o que indica falha de operação do chip de EPROM ou pinos sujos
Werner Eck:
Nesse caso é defeito de idade mesmo
Werner Eck:
Os bits começam a perder seu valor
Werner Eck:
infelizmente isso acontece depois de uns 30~40 anos
se todos os bits estão em 1 ao longo da memória toda, não é bitrot, é falha de endereçamento do conteúdo (falha mecânica nos terminais, por exemplo)
ou oxidação
Werner Eck:
vc pode tentar limpar os pinos com álcool isopropílico, ou passando uma lixinha leve
perda de bits por luz UV é mais errática
aleatória
sim, posso
Werner Eck:
como parece ser o caso do 150
não tenho esses materiais aqui agora
posso voltar outro dia e fazer isso
esses equipamentos não são meus. São patrimônio da USP
Werner Eck:
que arqueólogo é vc q não carrega seu material de desempoeiramento sempre junto??
Werner Eck:
cade o kit indiana jones?
eu trouxe bastante coisa. Trouxe meu leitor de eprom, um multímetro
eu trouxe até o meu patinho feio
hahaha
(é sério)
Werner Eck:
kkk, arqueologia digital é tirar poeira tbm
sim sim
eu posso voltar sempre que eu quiser
inclusive, seria legar trazer vocês aqui
eu tô feliz igual pinto no lixo aqui
Werner Eck:
Eu gostaria. Teria ido contigo
tem uma montanha de coisas boas aqui
Werner Eck:
vai fotografando e postando o q der
Werner Eck:
Olha o q um maluco tá querendo fazer:
https://www.workana.com/pt/job/sagitta-150Workana. Sagitta 150
Workana. Tenho um antigo terminal Scopus Sagitta 150 e gostaria de fazer uma adaptação para ligar em um Raspberry Pi. Preciso saber se é possível e como adaptar o teclado e monitor para funcionar com
é... eu vi agora há pouco isso
Puta merda! Fiz o dump da ROM do terminal Sagitta 180 e olha o que saiu:
pois é
Werner Eck:
hora de comparar hardware
e no chip tem uma etiqueta escrito 180
Werner Eck:
talvez a ROM seja 150 com algum adendo
Werner Eck:
inclusive comparando com os dumps q vc tirou do 150, a versão é a mesma (4.00)
de duas uma... ou o 180 tem a ROM de código idêntica à do 150 e coisas extras nas outras 3 ROMS. Ou algum técnico fez cagada
de N uma...
Werner Eck:
eu sou propenso a acreditar na primeira hipotese
só vai dar pra saber o dia que eu achar outro terminal desses e fazer outro dump pra comparar
Werner Eck:
acho q é gato de fábrica - muitas vezes lançam modelos com números maiores mas com pouca ou nenhuma melhoria
a PCB parece ser a mesma
Werner Eck:
por isso eu disse "hr de comparar hardware"
Werner Eck:
às vezes a diferença é de um jumper soldado entre dois pontos, ou uma ROM faltando em um e instalada noutro...
Werner Eck:
deixa eu tentar olhar nos snapshots q vc postou
Werner Eck:
se algo é aparente
vou te mandar um ZIP por email
bah! 58kbytes eu mando aqui
Sagita 180 (1979)
Terminal de vídeo alfanumérico controlado por microprocessador, compatível com computadores Burroughs.
Lançado com o objetivo de oferecer um produto compacto, de fácil manutenção, custos reduzidos e grande versatilidade, pois todos os módulos eletrônicos do terminal estavam acoplados em uma única placa de circuito impresso.
Werner Eck:
tbm to lendo esse blog
Werner Eck:
ia te passar esse video
Werner Eck:
queria saber onde fica esse museu
aqui tem um Micro Engenho 2
E u mSpectrum ED
E um TK3000
E outras coisas
Werner Eck:
nossa eu amo o tk3000 tive um
Aqui tem uns disquete de 8 polegadas e num deles está escrito "Sistema Operacional COBRA"
Werner Eck:
Tem um emulador dele escrito por um brasileiro. Baseado no codigo do AppleWin
tem um IBM-PC-XT aqui tambéḿ
Werner Eck:
XT é segunda geração
Werner Eck:
nossa q lugar interessante
Essas coisas ficam na USP, na Poli
vamos marcar um dia da semana que vem pra vir aqui de novo, aí você vem junto
se alguém mais aqui do grupo quiser vir também... estão convidados
Werner Eck:
cara o q é aquilo na placa do 150, logo abaixo do bloco da fonte, à direita e logo acima do bloco de RAM?
Werner Eck:
(acho q são RAM)
Werner Eck:
cilíndrico, tem um engasga-gato branco prendendo ele em toda a volta
Werner Eck:
meio marrom, perto da placa tem uma faixa alaranjada
Werner Eck:
parece ser a única diferença entre as duas placas
é um capacitor gigante
Werner Eck:
ah sim, e no 150 não tem as 3 outras ROMs
Werner Eck:
deve ser realmente um set estendido do firmware
acho que não coube soldar ele no lugar certo, então botaram ele de lado ligado com uns fios
Werner Eck:
acho q já estamos tendo uma pista do q é um 180
Essa aí é a ROM do soquete u40 (a segunda de cima pra baixo
Werner Eck:
tem toda cara de ser um menu
Werner Eck:
ao invés dele buscar um menu no mainframe ele tem o menu embarcado no firmware
Werner Eck:
me parece q vc deu mais sorte com o 180
acho que é menu de setup
do protocolo
baudrate
essas coisas
aliás... aquele site diz que esse modelo foi feito pra ser compatível com os computadores da Bourroughs
Seria divertido mapear qual é o protocolo usado
Werner Eck:
pode ser q vc acesse esse menu através de configuração na DIP switch
e adicionar uma descrição à biblioteca termcap
Werner Eck:
está cada vez mais parecendo q vc tem aí o melhor dos dois mundos
Werner Eck:
vc tem a ROM 150 inteiraça
e usar o terminal ligado numa USB-Serial
pra logar num GNU+Linux
Werner Eck:
hahaha isso eu gostaria de ver
cara... eu levaria um desses pra casa pra trabalhar diariamente num desses ligado ao meu laptop
grande parte do meu trabalho no dia a dia é feito num emulador de terminal rodando vim
Werner Eck:
ou, vc pode encostar teu laptop aí do lado e ligar uns cabos null modem...
Werner Eck:
nem sei se tem saída padrão nesse carinha
Werner Eck:
digo, conector padrão
do lado de trás tem uns DB-15
um pra impressora e o outro supostamente pra ligar no computador
Werner Eck:
se fosse DB-25 eu já diria q deve ser serial
ooops talvez seja DB-25
eu chutei
Werner Eck:
provavelmente esse conector é proprietário
deixa eu ver...
Werner Eck:
fotografa o bicho ae
é, tá certo. É DB-25
mal aí pelo chute haha
Werner Eck:
eu aposto q é padrão serial TX-RX CTS RTS etc
Werner Eck:
É porta serial.
Werner Eck:
Veja q tem opção de uma porta paralela (impressora), só q não foi implementada
Werner Eck:
e tbm costuma ser DB25
Werner Eck:
com isso e um laptop velho rodando um emulador de terminal pode ser q dê pra falar com ele.
Werner Eck:
(tomada padrão ABNT??)
Werner Eck:
curioso de plugar um benjamin femea ali pra ver se entraria
olha que curioso o conteúdo da terceira ROM (soquete u46)
só
tudo zero
Werner Eck:
ummm.. e a última?
vou ver agora
a ultima tem dados
tá muito estranho isso...
a etiqueta da última tem o número zero onde eu esperava que fosse 3
a etiqueta da primeira é sagitta180
a da segunta é 180_1
a da terceira é 180_2
a quarta deveria ser 180_3, mas tá escrito na etiqueta 180_0
e é a 180_2 que é toda cheia de zeros
Werner Eck:
Isso só deve fazer sentido pra quem dava manutenção nessa época
Werner Eck:
pq alguém preencheria 2K com zeros...?
Werner Eck:
mas se leu isso aí, deve ter algum motivo
bom... terminei de fazer os dumps do modelo 180
é estranho ter uma ROM cheia de zeros mas não tenho mais o que fazer.
li dez vezes e saiu tudo zero em todas, então acho que é isso mesmo que tem no chip
vou agora anotar quais são os chips de CPU e auxiliares
Werner Eck:
vou almoçar enqto penso sobre o assunto
já vi aqui um Intel 8080
mas tem também 8257, 8228, 8212 e 8251, tudo da Intel
vixe! achei uma ROM extra escondida debaixo da chapa de metal do teclado!
E mais um chip da Intel, o 8275
hmmm... vou ter que refazer os dumps todos por que acho que só li metade de cada chip :-P
a ROM extra debaixo do teclado deve ser a fonte bitmap
Werner Eck:
esses chips q vc encontrou são auxiliares com função específica
do lado dessa ROM tem também um controlador de CRT da Intel
Werner Eck:
Intel 8257 - direct memory access (DMA) controller
Werner Eck:
Intel 8228 - single chip system controller and bus driver
a ROM do CRTC é um 2708
que meu leitor não suporta
Werner Eck:
Intel 8212 - 8-bit Input Output Port
parece que precisa de -5V, +5V e +12V
que desgraça de ROM
o CRTC é um Intel P8275
Werner Eck:
ROMs mais antigas precisam de tensões simétricas
Werner Eck:
O Mini não faz?
Werner Eck:
Intel 8251 - Universal Synchronous/Asynchronous Receiver/Transmitter
deveria fazer, mas pra esse modelo especifico parece que não tem suporte
Werner Eck:
Ele não gera essas tensões de programação/leitura?
Werner Eck:
Não duvido q essa ROM q vc achou debaixo do teclado contenha o mapa de caracteres
sim, acho que é a fonte bitmap do CRTC mesmo
não pode ser outra coisa
e o CRTC precisa de uma ROM com esses dados
então não tem como não ser essa ROM
Werner Eck:
tava lendo aqui no ds
Werner Eck:
Ele lê até light pen
ok... confirmado que eu tinha lido só metade de cada uma das ROMs extras
a principal ainda é 2716, mas as 3 outras são 2732
fiz o dum delas e realmente achei mais 1k de dados que eu não tinha extraído
a terceira ROM (segunda extra) dei um pouco de dor de cabeça, mas finalmente achei um dump que ocorreu diversas vezes e que faz sentido: tem valores não nulos até certo ponto e dali em diante só zeros
isso faz sentido por que ess era a ROM que antes eu tava lendo inteiramente cheia de zeros (por que eu só tava lendo a segunda metade dela)
Werner Eck:
então faz sentido, são 3 de 4K e a do 150 é de 2K
Werner Eck:
Qual endereço começam os zeros na terceira ROM?
Werner Eck:
Só pra ter uma idéia de quanto espaço eles realmente utilizaram nessa
Werner Eck:
Vai ver estava faltando 2716 e botaram essa
0x0459
Werner Eck:
é, pouco mais q 1K...
é
de uma ROM de 4k usaram um pouco menos de 1K e largaram zeros no resto
Werner Eck:
às vezes é q nem a história do Spectrum 48K...
Werner Eck:
usaram RAMs 48K defeituosas, q só os primeiros 16K eram confiáveis
Werner Eck:
pagaram barato pelo lote
Werner Eck:
Vai ver algum fornecedor ofertou EPROMs 4K baratas
Werner Eck:
Td isso é especulação. Faz parte do processo de escavação...
você não vai acreditar o que tem escrito no comecinho da última ROM (aquela que diz 180_0 na etiqueta)
a ultima ROM fica depois do bloco de zeros da penúltima
e ela tem cara de primeira rom do modelo 180
Werner Eck:
Engraçado, será q eles projetaram o sistema pra usar o mesmo bootloader do 150, mas a partir de um certo ponto ele acessa essa ROM pra dar a tela de boot?
enquanto a primeira de fato se auto-intitula de modelo 150
Werner Eck:
Isso aí tem gato pra todo lado
pode ser
Werner Eck:
é gato de engenharia
vou ter que puxar as orelhas do Edson Fregni
Werner Eck:
ele é o fundador da Scopus?
sim
e também é o projetista da unidade de controle do Patinho Feio
Werner Eck:
sim, deve ter mais gente envolvida no PF q entrou pra scopus com ele
Werner Eck:
Pega leve, rsss
;-)
ele tem 8 pastilhas de RAM dinâmica com 16k posições de 1 bit cada
então acho que as 8 pastilhas ficam em paralelo pra formar um byte
num total de 16kbytes de RAM
pastilhas MM5290
isso
Werner Eck:
Através de lógica de acesso RAS/CAS
Werner Eck:
Igual no D8002 da Dismac...
que o Intel 8080 deve fazer por conta própria
Werner Eck:
isso era padrão
que é uma PROM de 32bytes
olhei aqui e o sagitta 150 tem uma PROM dessas lá nesse soquete. O 180 não tem
preciso fazer odump desses 32 bytes também
Werner Eck:
cara, desejo sorte
Werner Eck:
a ver pelo que houve com a ROM dele...
Werner Eck:
Agora, fiquei curioso pra saber sobre essa PROM
fico pensando se não foi aquele capacitor de 160 volts gambiarrado próximo à EPROM que possa ter causado danos ao chip
não sei por que zoaria
mas fico pensando
...
Werner Eck:
Acho q não, apostaria minhas fichas no tempo
Werner Eck:
ou corrosão, se vc tiver sorte
ok
Werner Eck:
pode tentar ainda voltar pra limpar os pinos
Werner Eck:
ou tenta achar um bombrilzinho por aí...
Werner Eck:
na copa, sei lá.
os outros 2 chips diferentões são ICL1489 e MC1488
o resto é tudo TTL
aliás... tem muito chip TTL nisso
Werner Eck:
nem um pouco surpreso com isso
Werner Eck:
esse dois CIs são complementares
Werner Eck:
São a interface serial RS232
Werner Eck:
o primeiro é o receiver, o segundo é o driver
é, faz sentido
e tem também um chip de UART da Intel na placa
Werner Eck:
ele pega os dados desses dois chips, depois de converter os níveis de tensão
Werner Eck:
ele faz a transmissão/recepção da comunicação entre o equipamento externo e o processador, e vice versa
Werner Eck:
só q ele precisa dos dois chips q formam o hardware da norma EIA 232
Werner Eck:
basicamente são conversores de nível de tensão baixa-alta
Werner Eck:
e sinalização
Werner Eck:
8251 = conversor paralelo/serial
Werner Eck:
MC1489/1488 = norma EIA 232
Werner Eck:
vc podia perguntar pro Fregni se ele teria acesso ao esquema...
Werner Eck:
Pra gente tentar achar sentido nessa PROM TBP18S030
vou mandar agora aqui uma sequencia de fotos de coisas que tem por aqui
Werner Eck:
nossa quanta coisa - esse tk3000 tá uma tetéia...
Werner Eck:
agora eu acho q vi em alguma foto um tk3000 compact
Werner Eck:
do lado do msx, o q é aquilo?
Werner Eck:
meeeeu q raridaaaaaaadeeeeeeeeeeeeee
Werner Eck:
pega isso e bota no bolso, rapidinho
Werner Eck:
É um clone chinês do Apple //c com recursos a mais...
Werner Eck:
Eu quero ele.
Werner Eck:
ele tem uma porta para conectar um monitor cga além da porta analógica
Werner Eck:
tem som interno, com saída pra fone
Werner Eck:
drive de disco compatível com apple //e //c, macintosh, apple //gs
Werner Eck:
a ROM foi reescrita por eles, não é cópia descarada da Apple - mas mantém compatibilidade com ela
Werner Eck:
*brincando quanto a botar no bolso
Hehehe eu sei ;-)
To indo pra casa
Té mais
Isso aqui é uma unidade de disco de 8 polegadas. New Old Stock ! Lacrada e com manual.
E isso aí no meio é um disquete de 8 polegadas com a etiqueta "Sistema Operacional COBRA" ! :-O
hmmm... não tenho certeza sobre o "com manual". Talvez eu tenha me enganado quanto a isso. Mas mesmo assim! É um unidade de disco rara e NOVÍSSIMA !
E um disco importante para ser lido nela.
Ambos na mesma sala, no meio de um monte de bagulho nada ver.
E algumas outras coisas incríveis no meio.
Werner Eck:
Pode ser interessante usar a unidade conectada de algum modo a um pc moderno, pra ler e extrair os binários do disco
Werner Eck:
Aparte, rapidinho: Eu vi isso aqui e talvez vc já conheça, talvez não (http://rc2014.co.uk/)
RC2014 - Homebrew Z80 Computer
RC2014 is a simple 8 bit Z80 based modular computer originally built to run Microsoft BASIC. It is inspired by the home built computers of the late 70s and computer revolution of the early 80s. It is not a clone of anything specific, but there are suggestions of the ZX81, UK101, S100, Superboard II and…
Werner Eck:
Voltando ao floppy
Werner Eck:
https://www.ebay.com/itm/34pin-1-44mb-floppy-connecter-to-USB-adapter-cable-34-pin-/29228107859634pin 1.44mb floppy connecter to USB adapter cable (34 pin)
Floppy drive model Read Test Write Test. FOR 1.44MB FLOPPY DRIVE ONLY. Exactly as the 1st picture. USB cable color is gray. This cable has been tested with 6 different drives and work as follows OUR E100S emulator PASS FAIL(file corrupted),OUR E100S emulator does not work with this cable but it works fine in many other devices. | eBay!
Vai rolar atividade amanhã no Garoa ?
Werner Eck:
ia te perguntar a mesma coisa. Por mim, estarei lá.
Pra emular o Zé ?
Eu tô confirmadíssimo nesse esquema.
eu tenho 5a e 6a disponível pra isso
Werner Eck:
tem um horário específico?
sábado e domingo vai ser mais difícil mas talvez role também...
Werner Eck:
sábado vou ficar por aqui pra dar uma estudada
Werner Eck:
tenho vestibular dia 7
Werner Eck:
não vejo álgebra faz uns 20 anos
Werner Eck:
q horário vc prefere chegar?
por mim pode ser super cedo
tipo 10h da manhã
daria pra talvez ser 9h, mas aí pode ser que seja cedo demais
e a idéia é passar o dia todo lá
até de noite
Werner Eck:
9 é cedo demais pra mim.
Werner Eck:
eu moro meio longe
10h é bom?
se quiser chegar um pouco mais tarde não tem problema
Werner Eck:
blz, 10 tá de bom tamanho. Se eu atrasar um pouco não vai descontar do salário..
Werner Eck:
Eu até fico mais confortável sabendo q vc já está lá
Werner Eck:
sem correr o risco de a porta estar fechada
beleza
combinado
Werner Eck:
Vou participar no RoadSec como Roadie
O que é isso? Voluntário pra ajudar na organização ?
Werner Eck:
me candidatei lá
Cara... você vai me matar, mas eu ganhei semana passada o direito de trazer alguém. E pensei em te chamar, mas acabei esquecendo
eu ainda tenho o direito de levar alguém
Werner Eck:
então escolhe alguém que tenha interesse ué
vou ver se acho alguém relacionado a emulação que queira
Werner Eck:
eu já dei meus pulos
Werner Eck:
deve ter mais gente interessada
Já está acordado ?
Acho melhor deixarmos pro período da tarde a atividade de hoje lá no Garoa
eu to muito cansado aqui. Só dormi 3 horas nessa noite.
Vou precisar descansar mais. Vai ficar muito puxado pra mim ir às 10h da manhã pra lá
Pretendo ir pra lá por volta das 16h
Mike Howard:
Vou está lá às 13h
Ismael Luceno:
@villares eu tenho algumas placas para compressão MPEG4, estive trabalhando nisso faz alguns anos
Alexandre Villares:
que interessante
Forwarded message from Felipe "Juca" Sanches:
Forwarded message from Felipe "Juca" Sanches:
Tenho que corrigir a descrição do repositorio do Patinho Feio no GitHub
Pra tirar aquele "primeiro" e substituir por "um computador pioneiro"
Werner Eck:
"Brazil's pioneering computer, designed & built by engineering graduates"
Aylons Hazzud:
Undergraduates, não?
Werner Eck:
Foi projeto d formatura...
Aylons Hazzud:
Então, undergraduate
Zezinho foi trabalho de graduação. Patinho foram teses de mestrado e doutorado mas tambem teve ajuda de alunos de graduacao
Forwarded message from Armando Neto:
escutei um podcast com um professor de ciencia da computação da usp que trabalhou no unix cobra hehehe
Forwarded message from Armando Neto:
o podcast é sobre nada a ver.. mas o professor é velho então já fez um monte de coisas né
Forwarded message from Armando Neto:
https://hipsters.tech/faculdades-ciencia-da-computacao-e-sistemas-de-informacao-hipsters-47/Faculdades: Ciência da Computação e Sistemas de Informação - Hipsters #47
O que a gente aprende em uma faculdade de computação? E qual é a diferença entre as várias opções e currículos? E será que eu preciso mesmo de um diploma de ensino superior para trabalhar nessa área?
Participantes:
Paulo Silveira, host do Hipsters, bacharel em computação!
Mauricio Linhare
Tem bastante sobre como era a computação na USP nas décadas de 60/70
fala inclusive que a USP comprou 90 terminais para o computador Burroughs no segundo semestre de 1982
se bobear aqueles 2 terminais da Scopus que eu estava inspecionando lá na poli semana passada podem ser dessa leva...
já que vi em um site uma descrição de que o modelo Sagitta 180 era compatível com computadores Burroughs
Ismael Luceno:
Eu adoraria ter acesso a um desses computadores
:-)
Werner Eck:
@fsanches vc acha q teria possibilidade de eu conseguir um exemplar desse livro q a Profa. Edith te deu?
posso pedir pra ela
Werner Eck:
Nossa, hj acordei podre. Mas feliz com a atividade d ontem. Vc ficou até d manhã implementando o ITA-II?
Não. Não mexi muito mais
fiz alguns pequenos ajustes e os adicionei ao pull request, mas fora isso só assisti um pouco daquele filme que você sugeriu e depois fui dormir
Werner Eck:
😁 gostou do q viu?
sim, é bacana
mas não vi tudo
vi só a primeira meia hora
Werner Eck:
Agora já sabe quem é Chuck Yeager... ☺️
;-)
Werner Eck:
E ele faz uma ponta no filme.
que bizarro
Werner Eck:
E tem kit pra vender disso aí.
esse kit aí eu passo haha
Werner Eck:
Acho até interessante a CPU toda de relés. Mas só compraria isso sendo americano.
hoje eu escrevi um rascunho de driver pro terminal serial da Scopus, modelo Sagitta 180
logo no comecinho do código já vi um padrão conhecido: um bloco de 4kbytes de RAM sendo preenchido com o valor 0x20
Werner Eck:
Vc diz no código da EPROM?
sim
0x20 é o código ASCII para o caractere de espaço
Werner Eck:
conhecido, como se em um boot de outra maquina?
Werner Eck:
Por acaso esse eu sabia...
esse loop é uma rotina de limpar a tela
Werner Eck:
escrevendo espaços
e logo em seguida o código endereça aquela string "S a g i t t a - versao 4.00"
e copia ela para um pedaço dessa área
ou seja, essa área é a VRAM
(memória de vídeo)
e isso aí é o "splash screen" do terminal
acontece que a string que ele mostra é a da versão 150
Werner Eck:
lembra q na ultima ROM tem outra string dessas?
Werner Eck:
aquela quarta EPROM, numerada como zero
eu tô achando que algum dip switch faz o chaveamento de banco de ROM pra escolher usar a versõ da ROM do 150 ou a ROM #0 do 180
Werner Eck:
lembra q o cara aqui palpitou isso tbm????
Werner Eck:
ah nao... eu palpitei outra coisa
Werner Eck:
eu achava q isso aparecia automaticamente, em algum ponto da primeira rom ele acessava aquela
por algum motivo eles quiseram manter retrocompatibilidade oferecendo a ROM original e uma opção de chaveamento para a ROM do modelo novo
Werner Eck:
mas o q vc falou aí acho q faz mais sentido
Werner Eck:
provavelmente tem essa dip q já deve vir setada de fabrica
é por isso que as 3 roms extras estão numeradas nessa ordem: 1, 2, 0
por que a ultima das 3 extras entra no lugar da primeira do modelo 150, na posição "zero"
Werner Eck:
vc chegou a olhar na placa, como esse banco de dips é conectado?
não
não inspecionei nada do roteamento de sinais na placa
Werner Eck:
de repente dá uma olhada se tem algo passando por ela que vai nos CS dessas duas eproms
simplesmente me foquei em anotar quais componentes são usados e deixei para um segundo dia de estudos mapear os sinais que eu não conseguir descobrir por analise de firmware
Werner Eck:
de repente é símples assim - um lance q desvia um sinal do micro pro CS de uma ou de outra EPROM
sim, faz sentido
Werner Eck:
legal, podemos tentar fazer isso na sua próxima visita
sim.
ainda não sei quando vou poder ir.
O ruim é que na USP só dá pra ir de dia de semana
e aí conflita com o meu horário de trabalho
Werner Eck:
pra vc é ruim né?
e isso significa que se eu for na USP de dia eu preciso trabalhar de madrugada pra compensar
Werner Eck:
pq eu to com o tempo livre
Werner Eck:
eu me ofereceria pra fazer a visita mas sem ter ninguém de lá que me autorize, não creio ser uma idéia boa (para o presente momento, pelo menos)
Werner Eck:
ninguém lá me conhece
Werner Eck:
Eu vi seu projetim lá no git
Werner Eck:
fiquei curioso
Werner Eck:
Eu vi tbm q vc chegou a fazer um sketch pra rodar emulação do PF no arduino
Werner Eck:
eu forquei ele
é bom isso por que a gente fala várias coisas aqui que não acaba docuementando em nenhum outro lugar depois
então é bom manter um backup público das conversas
pra cair nos buscadores mesmo
xi ?
:-)
Werner Eck:
Temos q tomar cuidado com o q falamos
nada demais :-)
Werner Eck:
tava olhando aqui um emulador de atari vcs q um brasileiro fez, em js
Esse cara fez emulador de MSX também, se não me engano
exato!
Esse trecho de código aqui logo no início do boot do sagitta180 (rom do 150) preenche a região de 0x8000 até 0x8fff (4kbytes) com o valor 0x20 (caractere espaço):
só não entendo pra que ele usa o contador no registrador C com o valor 2, que faz ele executar a escrita duas vezes
Werner Eck:
vc já conseguiu parsear a rom pra conseguir obter já os opcodes e operandos separadamente?
Werner Eck:
ah já deve ter emulação da CPU 8080 pronta no MAME né?
sim
Werner Eck:
vc não precisou fazer essa parte
simplesmente instanciei o I8080 e carreguei a ROM nele
e já tô com código rodando
Werner Eck:
certo, q nem no Zezinho
isso
Werner Eck:
com tela e td?
só que no caso do zezinho a gente escreveu a emulação da CPU. E nesse caso, usei um módulo de emulação que o MAME já tinha
instanciei também o chip CRTC (gerador de vídeo) modelo I8275, da intel também. Que o MAME também emula
e declarei que tem uma tela com alguma resolução chutada
Werner Eck:
onde ele decrementa esse registrador c?
começando torto pra ir achando o caminho
Werner Eck:
e ele tá pegando direitinho a tela?
instrução dcr c (decrement C register)
Werner Eck:
ah vdd não tinha visto ela
então... ainda tá com a tela preta
Werner Eck:
pq daí então é só vc setar um breakpoint nessa linha e ir acompanhando
Werner Eck:
ele não escreve nada?
eu botei uma ROM de CRTC de outro driver, por que a ROM do terminal eu ainda não consegui fazer odump
Werner Eck:
pode ser q aí esteja o cat's jump
a tela tá preta por que o driver não tá correto. Mas a ROM do outro CRTC é razoável. Eu deveria ver algo.
o MAME tem um modo de visualização de tiles que é ativado pressionando F4
Werner Eck:
e mesmo nesse modo, nada?
Werner Eck:
vc não conseguiria ver se ele está escrevendo os caracteres na memória de vídeo?
e ele me mostra isso:
Werner Eck:
tipo qdo a gente visualizou a RAM do zezinho
sim, consigo. E ele está sim escrevendo a string lá
deixa eu mostrar...
Logo depois de encher o buffer de vídeo com 0x20, o código faz isso:
endereço 78: carrega registrador HL com o valor 0776
endereço 7B: carrega registrador DE com valor 8334
esses dois valores são ponteiros para memória
Werner Eck:
daí ele carrega o d, e entra numa espécie de loop
o endereço 8334 tá dentro daquele bloco de VRAM (entre 8000 e 8fff)
então parece que é onde ele vai escrever alguma coisa no vídeo
e o outro endereço é na ROM (0x0776)
Werner Eck:
o q faz a instrução stax?
inspecionando na janela de visualização de conteúdo da memória, olha só o que tem lá no endereço 0776 da ROM:
Werner Eck:
0x0776 deveria ímprimir o 'S'
sim. Só que esse código aí é um loop
Werner Eck:
e daí segue incrementando
que executa 0x23 vezes
que é o tamanho da string
então ele vai incrementando os ponteiros e faendo a cópia de um byte por vez da ROM para a VRAM
Werner Eck:
certo, q ele carregou lá no contador em 0x07f
Werner Eck:
agora pergunto, vc vê esses valores sendo escritos na RAM?
compara com 0x23. Se for zero pula fora, senao continua
sim, vejo
depois de rodar o loop de escrita da string:
Werner Eck:
e essa área q está sendo preenchida com esses valores lidos da EPROM, é correspondente no MAME, à área de vram?
pois é... aí é que está o lance
eu nunca tinha lidado com esse CRTC da Intel
Werner Eck:
a partir de 0x8334
exatamante !
ou seja, não é no topo do vídeo. Deve ficar um pouco mais pra baixo
Werner Eck:
eu perguntei pq penso se a 'janela' de visualização do CRT controller está alinhada com essa RAM aí
por que o vídeo começa em 0x8000
aparentemente não vemos nada ainda por que o CRTC não está configurado corretamente
Werner Eck:
ah certo, talvez ele precise de uma inicialização
uma coisa curiosa desse CRTC da Intel que eu nunca tinha visto antes é que ele interfaceia com a RAM principal do sistema por meio de um mecanismo de DMA
Werner Eck:
eu tbm não conheço esse periférico.
Werner Eck:
teria q dar uma olhada no ds dele
então, se entendi direito, o firmware pode configurar o CRTC pra usar alguma faixa de memória arbitrária como VRAM
Werner Eck:
é nessa área do bloco de DMA control logic é q está o pulo do gato
Werner Eck:
eu to dando uma olhada no ds q vc me mandou
eu vi um trecho de código de boot do terminal que é MUITO suspeito e que acontece antes da rotina de limpar a tela com espaços:
isso aí escreve 0x8000 na porta 0x44 e depois escreve 0x8FFF na porta 0x45
parece ser a configuração de faixa de endereços da VRAM, então suponho que o CRTC esteja mapeado nas portas de I/O 0x44 e 0x45
por conta disso escrevi o seguinte no driver:
Mas não funcionou
Werner Eck:
dá uma olhada a partir da pg 17 desse ds
Werner Eck:
tbm isso aqui ó:
Werner Eck:
Eu acho que o problema é o seguinte: o CRTC requisite uma operação de DMA para ler o conteúdo da VRAM. Quem recebe esse pedido é o chip controlador de DMA, o Intel 8257. Ele vai fazer a mágica dele e sinalizar de volta pro CRTC quando tiver terminado.
então tem 3 coisas que meu driver de emulação precisa fazer direito simultaneamente: (A) mapear o CRTC nas portas de I/O corretas para que ele possa ser configurado pela CPU. Isso acho que já consegui sacar, por que parece óbvio que as portas são 0x44 e 0x45.
Werner Eck:
sim, seria o DRQ/DACK
(B) mapear o chip controlador de DMA nas portas corretas (esse eu ainda não fiz)
e (C) interconectar os 2 chips por meio dos dinais DRQ e DACk
Werner Eck:
pode ser q o 5 nem esteja sendo ativado ainda
eu to tentando fazer (C), mas não sei se estou fazendo direito. Mas não adianta nada se eu não fizer (B) também.
5 ?
Werner Eck:
tentei editar e nao deixou
ah ok
Werner Eck:
parece q o telegram tem problema qdo o texto tem mais de uma linha
Werner Eck:
pra editar, o cursor não sobe
os números dos chips são muito parecidos. Um é 8275 o outro é 8257. É pra dar nó na cabeça. Prefiro me referir a eles como CRTC (o 75) e DMAC (o 57)
Werner Eck:
eu penso q talvez o crtc nem esteja sendo ativado, pois seria ele quem deveria ler aquela janela de ram e sincronizar o display cm o conteudo
Werner Eck:
vc não teria como visualizar o status dos pinos dele ?
Werner Eck:
não sei se isso é possível
olhando no código de boot vejo outros 2 endereços de I/O sendo usados, então só pode ser a configuração do DMAC:
nos endereços 0x30 e 0x31
vou tentar mapear o DMAC nessas duas portas e ver no que dá
ficou assim agora:
compilando e tentando rodar
então... nada ainda.
Estou um pouco confuso sobre o mecanismo de interconexão dos sinais de DMA request e ACK
Werner Eck:
existe no debugger algum jeito de vc monitorar certos sinais q vão pro crtc em tempo real?
o MAME oferece algumas macros que parecem sugerir que há tipos distintos de requisições, para IO ou acesso de memória
e também parece que tem mais de um sinal de requisição possível para requisição
Werner Eck:
q nem a gente estava fazendo com o PC, ACC do zezinho?
seria prudente agora eu ler o datasheet do DMAC pra entender o que significam os 4 bytes que o firmware escreveu na configuração
Werner Eck:
acredito q sim
Esses valores aqui
Werner Eck:
talvez esses 4 valores q ele joga no &0x30 seja algum handshake
os 4 valores são a inicialização do DMAC
eles devem especificar, por exemplo, as prioridades de tratamento dos pedidos de transferencia
Werner Eck:
tava pra te mandar isso!
Werner Eck:
exatamente isso
Essa descrição do DMAC me faz acreditar que talvez os endereços 0x8000 e 0x8FFF são escritos no DMAC
e não no CRTC
Werner Eck:
dois registradores, um de endereçamento e outro de contagem
então vou inverter o mapeamento
Werner Eck:
vc vai jogar o 8000 e 8fff no dma e o 30 e 31 no crtc?
por que aqueles valores dos endereços 30 e 31 devem ser configuração de resolução da tela e tamanho dos caracteres do CRTC
Werner Eck:
de onde vc tirou isso?
vou trocar o mapeamento dos chips: botar DMAC nas portas de I/O 44 e 45 (que é onde o firmware escreve 0x8000 e 0x8fff) e CRTC nas portas 30 e 31 (que é onde ofw escreve aqueles outros valores)
intuição
epa ! O bicho soluçou aqui hahaha
Werner Eck:
manda print ae
Werner Eck:
umm, pode ser muita coisa
Werner Eck:
pergunto ainda, se o crtc está sendo acionado corretamente
veja que o simbolo que se repete é o símbolo número zero
de acordo com essa visualização dos tiles disponíveis
Werner Eck:
outra coisa, se o simbolo q aparece é sempre repetido, ele tbm não está incrementando o contador de caracteres
ou está lendo outra região da RAM
fora da faixa de VRAM
onde tá tudo zero
Werner Eck:
pode ser muita coisa
Werner Eck:
suponhamos q eles dois estejam se falando direitinho agora, e a questão seja mudar a janela
Werner Eck:
seria o cenário mais "fácil" de resolver
Werner Eck:
mas eu novamente pergunto, como a gente sabe se ele está lendo a partir de outro endereço qq?
Werner Eck:
tem como visualizar isso no debugger?
Werner Eck:
pq senão vc vai ter q ir na tentativa e erro, mudando o valor do ender...
Werner Eck:
vc mudou os valores que ele guardava nos registradores?
Werner Eck:
vc inverteu os registradores dos dois chips
Werner Eck:
e os valores 8000 e 8fff?
os valores 8000 e 8fff são escritos no chip pelo firmware
Werner Eck:
estão sendo armazenados em qual dos dois pares de registradores?
isso é um fato. Nao tem que ser mudado
vou voltar a ler o datasheet pra entender melhor o mecanismo de programação desses dois chips e interpretar os valores que o firmware escreve
por que o firmware está dizendo pra gente e a gente não tá querendo ler
a resposta está aqui. É só interpretar o que significa com base no datasheet
E acabei de perceber que cortei errado essa imagem. Ficou faltando mostrar o primeiro valor que é enviado para a porta 31
o valor é zero, por que a instrução logo antes de out 31 é "XRA A" que, se não me engano é A <= A XOR A, que equivale a A=0
Werner Eck:
eu to com uma suspeita
então a resposta tem que estar aqui: