eu tenho quase certeza que eh reflexo do hsync no cabo! eu vi um caso destes num xbox ligado a uma tv lcd... e a origem do problema era soh um cabo vagabundo hehehe
sobre sistema operacional, tem o RTOS que eu estou desenvolvendo para o HC908 no momento. a arquitetura eh centralizada em passagem de mensagens interprocesso, ou seja, todo processo possui um ipc_recv() e um switch/case para processar determinados eventos ou metodos, enviando as repostas com um ipc_send(). o sistema de passagem de mensagem funciona tanto entre processos quanto interrupcoes, mas para uma configuracao basica com um prompt de comando creio que nem interrupcoes seriam necessarias: apenas uma implementacao basica de putchar e getchar, seja via teclado/video, seja via serial.
bom, eu tenho uma versao disponivel com um modulo rtc, um modulo sci e um modulo console e uma aplicacao de testes que mostra o uptime da placa:
http://framework.sourceforge.net/pics/hc908rtos/trunk/
para o modulo de console foi necessario ter o modulo rtc funcionando, pq esta usando polling. o codigo em si eh relativamente simples e, apos o boot, ele abre um prompt para digitar comandos:
HC908 RTOS
Copyright (c) 2008, Marcelo Samsoniuk
All rights reserved.
starting HC908 system...
sci: serial interface 9600bps (polling)
rtc: realtime clock 100Hz
con: console interface
# app
app: request rtc information...
app: 00:01:07
app: done.
#
bom, deve ter um monte de bugs, mas esta ateh que estavel hehehe
os conceitos sao simples. no main, simplesmente sao enviadas mensagens de inicializacao dos modulos principais (sci, rtc e con) e entao eh iniciado o loop do sistema de mensagens. o rtc gera mensagens a 100Hz para o con, que por sua vez testa se tem algo a receber. se tiver algo, ele envia uma mensagem de inicializacao para a respectiva aplicacao e aguarda.
a aplicacao por sua vez, faz suas tarefas, no caso, enviar uma mensagem para rtc, aguardar resposta, imprimir o uptime da placa e indicar que o modulo de console esta pronto para receber novos comandos.