The Amiga Cell Project - Projeto Amiga Cell Projetar um computador para uso em casa (Home Computer HC). O processador será o Cell da STI (Sony, Toshiba e IBM). O sistema operacional será baseado no Amiga OS. A compatibilidade reversa se dará por emulação. O emulador obviamente virá já instalado com a possibilidade de ler todos os discos do sistema como se fosse a máquina original, respeitando as regras de segurança do sistema. As rom's virão de fábrica (rom's 1.3, 2.x, 3.x). Poderá haver compatibilidade com PCx86 também através de emulação (compatibilidade de software não de hardware). O sistema operacional Linux poderá ser tanto nativo (a ser portado por terceiros) quanto emulado (se vamos emular x86 podemos fazê-lo com linux). A inclusão de um hardware novo (principalmente periféricos) será tão simples quanto colocar o device driver no diretório /dev. Nenhum device driver deve apontar para outro programa em outra parte do sistema. A princípio são previstos três processadores Cell, dois processadores Cell colados para executar as tarefas de que exijam grande poder de processamento, tal qual codificação e decodificação de video e áudio (mpeg, mp3, etc...), processamento 3D etc. um e um terceiro para gerenciar o todos os periféricos e se necessário ou disponível auxiliar os outros dois. Mais processadores poderão ser adicionados via soquetes específicos, para auxiliar qualquer um dos três processadores originais. A estrutura dos diretorios do sistema será aproximadamente a seguinte: /s para scripts /dev para os device drivers /storage para armazenamento de devices não ativos /c para os comandos interpretaveis /work para os arquivos do usuário /system para os arquivos do sistema /lib para as bibliotecas de funções A meta é conseguir RT^2 (rt square) com no mínimo 12 bits de cor (RT^2 = RTRT ou Real Time Ray Tracing). Não será permitido a programas escreverem ou instalarem arquivos nas áreas de sistema. Os programas deverão entregar todas as requisições de acesso ao sistema operacional e este providenciará os recursos necessários. Qualquer programa que tente burlar essas regras será considerado malicioso (malware) e será removido do sistema. O "modo texto" (telas de terminal ou console) deverá ser gráfico, suportando a fonte que o usuário desejar (fontes true type). Os ícones deverão ser em 3D e animados. O conceito de Área de Trabalho Viva (Living Desktop) deve ser implementado. As tarefas e suas janelas deverão ter a possibilidade de além de serem minimizadas também serem miniaturizadas (uma versão menor de sua janela ocupando um espaço menor na tela). Todos os aplicativos em execução deverão poder ser listados para o usuário, com uma definição clara do que fazem e com a permissão do mesmo terminá-los em qualquer momento que quiser (sistema sem tarefas escondidas). Os aplicativos principais, quando minimizados, ocuparão um cubo animado em 3D em um dos cantos da tela (a posição poderá ser configurada pelo usuário). O sistema estará sempre em ambiente gráfico, mesmo durante a iniciação. Temos capacidade de processamento sobrando para isso e não temos a necessidade de detectar nenhum hardware adicional para mostrar a tela para o usuário (todo o hardware de vídeo é proprietario e está on board). O sistema operacional deverá ser modular (e será, já que será baseado no Amiga OS), limpo e rápido. Os programas de instalação de aplicativos deverão seguir regras rígidas e caso não as obedeçam não conseguirão prosseguir com a instalação. O subsistema de vídeo possuirá uma entrada para captura de vídeo (opcional) e pelo menos duas saídas, uma rgb puro (padrão vga para compatibilidade com monitores já existentes) e outra em vídeo componente para conexão com aparelhos de tv que possuam tais entradas (a maioria das televisões estéreo atuais já possui esta entrada). Saidas de vídeo no padrão dvi também poderão estar presentes, e provavelmente estarão. O subsistema de áudio possuirá uma sáda de pelo menos quatro canais, sendo compatível com um sistema de som 3D (Dolby Surround ou THX). Tal sistema possuirá também pelo menos quatro entradas de áudio, expansíveis até 24 entradas. A memória principal do sistema deverá ser de tecnologia XDR. A mémoria principal será única porém, possuirá espaços de endereçamento reservados para Vídeo, buffer de Áudio e sistema. O firmware conterá todos os programas base para processamento de vídeo, áudio e IO geral no mesmo ci flash. Se por necessidade de upgrade for necessário dividir o firmware me dois ou três ci's isto poderá ser feito. -Subsistemas O Subsistema de Gráficos/Vídeo será basicamente uma "placa de vídeo" 2D já que será responsabilidade do sitema entregar a imagem pronta na área de memória reservada para vídeo. A memória reservada para vídeo, que faz parte da memória principal, será de 16MB inicialmente. Esses 16MB estarão divididos em dois "buffers" de 8MB. Conforme se mostrar necessário pode-se aumentar tanto a quantitade de "buffers" quanto o seu tamanho. Com esse tamanho de memória/buffer pode-se apresentar uma tela de 1600x1200x32bits e ainda sobra espaço em bytes (aprox. 7,32 MB). O Subsistema de Música/Áudio também possuirá uma área de memórioa reservada de 16 MB.
Com esta quantidade de memória pode-se armazenar pelo menos duas músicas mp3 de tamanho médio e boa qualidade (entre 6 e 7MB cada). -Interface com o usuário A interface do usuário será chamada, se possível, de WB3D (vem de Workbench 3D). Assim como qualquer outro programa que precise acessar o Subsistema de Gráficos/Vídeo; o WB3D entregará objetos 3D ou camadas 2D para o subsistema que fará o processamento e colocará a imagem pronta num dos "buffers" de vídeo. Os objetos 3D serão tipícamente o cubo de minimização e o background geral da interface. As camadas 2D serão as janelas abertas que poderão ficar em profundidades diferentes, sendo que uma ficara no primeiro plano (profundidade zero) e será a moldura do WB3D onde ficarão os menus do sistema, assim como acontece no Wb que já existe. A janela que possuirá o foco do sistema estará na profundidade 1. Quando ocorrer a troca de foco haverá a troca de profundidade da janela, ou camada.