FrancisBFTC / KiddieOS_Development

O KiddieOS é um sistema operacional open-source básico em desenvolvimento pelo curso gratuito D.S.O.S [Desenvolvendo Sistemas Operacionais Simples]. A intenção deste sistema será: Criar, editar ou excluir arquivos, codificar em uma linguagem própria do sistema, criar objetos visuais e automatizados (desenhos) através desta linguagem, utilizar uma interface simples e intuitiva, criar novas interfaces gráficas, como: Janelas, botões, campos, etc... e estimular crianças, jovens e adultos a programar numa linguagem simples dentro do sistema operacional KiddieOS. A intenção do curso D.S.O.S é dá início ao desenvolvimento de sistemas operacionais utilizando a linguagem Assembly e entender a fundo sobre diversos conceitos internos deste tipo de sistema. Aqui neste repositório serão armazenados arquivos de APIs do KiddieOS, a imagem de disco para teste e futuramente - todo o sistema operacional completo. Visite o link abaixo para nos acompanhar no curso do Youtube, se inscreva neste canal para se manter atualizado e siga-me no GitHub. Vejo vocês lá:
MIT License
46 stars 5 forks source link

Version 1.2.0 step 1 - Driver Serial #4

Closed FrancisBFTC closed 2 years ago

FrancisBFTC commented 3 years ago

Nesta atualização, foi criado o arquivo "Serial,asm" com as rotinas de escrita e leitura do driver serial e a inicialização do driver. Um arquivo de inclusão "Serial.lib" também foi criado na pasta Hardware com definições de endereços de saltos, portas seriais e dados a ser enviados para o controlador. No Serial.lib também contém 3 referência de memórias: SerialData - onde é colocados os dados para serem escritos ou onde é armazenado os dados lidos; StopRead - que controla a parada de recebimento serial do arduino (para caso de Strings); SerialStatus - é manipulado pelo win3dmov.lib dentro da rotina VerifyKeys, é utilizado pra controlar o estado da tecla F3 se está pressionada ou não, para bloqueio da comunicação serial ou habilitação da comunicação.

Em win3dmov.lib foi adicionado 3 rotinas: VerifySerial - que é chamado sempre pelo WindowMoviment para comunicação serial caso SerialStatus esteja definido pra 1; ChangeSerialStatus - Que modifica o estado em SerialStatus durante o pressionamento da tecla F3; SerialInit - chamado quando pressionado a tecla F2 pra inicialização do Driver serial.

No kernel.asm foi incluído o Serial.lib acima da inclusão do win3dmov.lib e apos disk.lib, pois serial.lib utiliza dos endereços do Disk e win3dmov.lib utiliza dos endereços do Serial e também foi chamada a Macro de carregamento do Driver na memória na rotina "DriverInstall", junto com outras chamadas como: Fontes e Driver de teclado.