
26-01-2006

Konfiguracja wyboru biosw znajduje si w pliku e800j_main.h, nalezy odkomentowac nazw biosu, z
ktrym ma dziaa emulator:
#define ZX    - BIOS ZX Spctrum 48
#define JR_1, JR_2, JR_3 - BIOS Elwro 800 Junior

Jest to bardzo wczesna i niepena wersja emulatora, zawierajca sporo bdw.

Interfacem graficznym jest tymczasowo GTK2.0/GDK2.0, cznie z obsug przerysowywania ekranu. 
Jest to rozwizanie prowizoryczne i bardzo mao wydajne - w przyszoci z pewnoci bdzie 
zastosowane lepsze rozwizanie.

Elementy komputera, jakie nie s wogle zaimplementowane w tej wersji (nawet w szcztkowej postaci):

- Obsuga ukadu 8255
- Obsuga kontrolera FDD 8272
- Port wyjsciowy #FE (dwik, ramka, wyjcie na magnetofon )

To co jest:
- Szcztkowa obsuga 8251 
  Mysl o pakowaniu danych wej/wyj do TCP/IP, tak aby mona byo sprzga 
  emulatory w wirtualn sie JUNET po sieci lokalnej lub internecie - dodatkowe rozszerzenie adresu
  byoby ustawiane w konfiguracji emulatora. Oczywicie do tego jeszcze daleko :).
 
  pliki:
   i8251.c i8251.h


- Implementacja CPU Z80 
  Jest to priorytet na stan obecny. Obecny kod dziaa, ale ma jeszcze kilka bdw uniemoliwiajcych
  np poprawne dziaanie niektrych komend BASIC (np wywietlanie penego zakresu liczb, 
  operacje odejmowania i wiele innych, zapewne powizanych ze sob). Ale kod ten jest ju czciowo 
  uywalny. Wymaga bdzie rwnie optymalizacji i poprawek w kodzie debuggera / deasemblera
  (a moe usunicie go nawet).
  
  pliki:
  z80.c - gwny plik emulacji CPU, tutaj jest dekoder instrukcji, oraz funkcje "niskiego poziomu"
          do emulacji instrukcji CPU
  z80.h - gwny plik nagwkowy emulatora CPU, jest to plik publiczny
  
  wewntrzne pliki emulatora CPU (pliki inne ni z80.c, nie powinny z nich korzysta):
  
  z80_cpu.h   - gwnie "niskopoziomowe" makra takie jak np nazwy rejestrw odnoszce si do
	        struktury Z80, definicje ustawienia znacznikw itp, rwnie makra dla debuggera
  
  z80_instr.h - definicje makr dla dekodera instrukcji z pliku z80.c
  
  z80_instr.c - funkcje implementujce instrukcje procesora
  
  z80_debug.c - debugger (ma wiele bdw, ale jest uywalny)
    
- GUI (i kawaek obsugi klawiatury)
  Tutaj jest ono prowizoryczne i ulegnie zapewne cakowitej zmianie.
    
  e800j_gui.c e800j_gui.h
  
  
- Wywietlanie grafiki
  powizane z GUI i tak jak i ono jest dziaajc ale bardzo mao efektywn prowizork.
  
- klawiatura
  W wikszoci dziaa dobrze, ma kilka bdw ale mona uywa :)
  Warto byoby poprawi kod aby wesprze pene mapowanie klawiszy na klawiatur PC,
  nie rozwijaem tego bo na razie kod klawiszy jest czciowo spleciony z GUI a ten ulegnie zmianie
  (Uwaga: ze wzgldu jak sadz na nierwnomiern ilo wywoa INT przy starcie po uruchomieniu 
  emulatora trzeba chwilk odczeka aby klawiatura zadziaaa)

- Wczytywanie plikw *.z80 - teoretycznie dziaa dla wersji pierwszej, ale jeszcze adnego programu 
  mi si nie udao uruchomi w ten sposb :|
    
  
Program by kompilowany za pomoc gcc v 3.4.5 i uruchamiany na systemie:

CPU: Athlon 64 3000+
MEM: 512
SYS: Linux Ubuntu Breezy Badger, kernel 2.6.14 x86_64




  