Ir ao conteúdo

Posts recomendados

  • Membro VIP
Postado

Essa observação dos jogos ficarem mais rápidos conforme o clock do computador, me lembrou do meu antigo Athlon X2 64. Depois de algumas horas ligado, os jogos começavam a ficar rápidos, acelerados. Nunca cheguei a pesquisar esse problema. Resolvia reiniciando o Windows.

  • Curtir 1
Postado

Lembro do meu primeiro PC, um 386DX 40 MHz, sem coprocessador aritmético, 8MB de RAM, Windows 95. Eu deixava o turbo desligado, com medo de que pudesse forçar o velhinho. A chave key lock quebrei quando o setor de boot corrompeu, pensava que ela era o problema...

  • Haha 1
Postado

Uma recordação que esses gabinetes com display de 7 segmentos de 3 dígitos me traz, é que cada usuário tinha algo escrito diferente do outro. Algo muito comum era ver escrito SPY, uma marca de óculos bem popular na época. Acredito também que seria por conta da quantidade de jumpers disponíveis no display.

  • Curtir 1
  • Membro VIP
Postado

Vi seus últimos artigos e me surpreendi...: você consegue transformar um assunto aparentemente tolo (cor de fio? porque c:? windows 9? .. fala sério) em algo interessante de se refletir, tecnicamente divertido e saudosista. Permita-me um micronanopico elogio neutro deste ser inferior. 🤪

 

Sobre este permita-me.. me fez lembrar: era uma vez uma necessidade de se programar um programador DIY usando uma porta paralela de um 8088. De fato havia a questão da temporização que nem pensei 2x: fiz com delay() por sw mesmo. No entanto, magicamente me apareceu um 80386 e aí o bixo pegou: era rápido d+ .. A ideota que me veio a mente permita-me uma conexão com o passado.. Usei o timer 8254 que foi mantido na mb 386 por compatibilidade

Já publiquei no forum mas permita-me publicar de novo:
 

void tempo(unsigned char t)
{
unsigned char j=0;

outportb(0x61,0);    //desliga contador timer2
outportb(0x43,0xb0); //timer2, modo 0, lsb -> msb
outportb(0x42,t);    //lsb
outportb(0x42,0);    //msb
outportb(0x61,1);    //liga contador

/*
nok:
asm {
    mov al,0xc8
    out     0x43,al
    in  al,0x42
    and al,0x80
    jz  nok
    }
*/
while(!j)
   {
    outportb(0x43,0xc8);    //read back
    j=inportb(0x42);        //status da saida
    j&=0x80;
   }
}

Perceba a função em assembly comentada mas era era de evolução pro c. A ideia era simples: alimentar o registro do contador que era alimentado com frequência fixa e esperar ele atingir um valor. A temporização foi a mesma no 286,386 e 486.. ou seja p.ex. tempo(100) tinha a mesma duração pra todos. A partir do Pentium começou a ser complicado acesso ao hw interno por meros mortais e nem continuei nestas veredas. 

 

Enfim, de novo amigo G.T. congratulações pelos artigos simplistas, minimalistas e curiosos que você nos traz à memória .. ou melhor.. vaga lembrança 😜

  • Curtir 2
  • Obrigado 1
  • Administrador
Postado

@.if Caramba, obrigado pelos elogios! rs. Realmente, modéstia a parte, eu tenho essa facilidade de traduzir assuntos complicados para uma linguagem leiga. Se tiver sugestões de temas nessa mesma linha (curiosidades ligando o presente ao passado -- está fazendo muito sucesso), é só sugerir lá no setor de sugestões. Estou sempre em busca de bons temas! Abração!

  • Curtir 3

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

curso-hardware-popup.jpg

LANÇAMENTO:
CURSO DE HARDWARE
DO GABRIEL TORRES!

CLIQUE AQUI E CONFIRA!