Zebra는 Z80 컴퓨터를위한 멀티 태스킹 운영 체제로, 대부분 어셈블러와 함께 C에서 구현됩니다.
이 소프트웨어는 GPLV3에 따라 라이센스가 부여됩니다. 완전한 라이센스 조건은 여기를 참조하십시오.
자신의 시스템을 위해 OS를 설정하는 데 관심이 있으시면 연락하십시오!
운영 체제는 내 Custom Z80 모듈 식 컴퓨터를 대상으로합니다.
커널은 32KB의 RAM으로 실행되며 직렬 인터페이스를 통해 사용자 상호 작용을 제공합니다. 사용자 프로그램은 각각 32kb의 Banked RAM 페이지를 할당하여 여러 프로그램이 동시에 실행될 수 있습니다.
이 저장소에는 기본 통역사와 같은 일부 내장 유틸리티 프로그램도 포함되어 있습니다.
파일 시스템에서 OS 이미지를로드 할 수있는 2 단계 부트 로더
rst 명령어를 사용하여 구현 된 하드웨어 추상화를위한 SYSCALLdir 시작시 모듈 식 컴퓨터에는 0x0000 에 8K의 ROM이 있고 32k의 RAM이 0x8000 에 있습니다. 부트 로더는 ROM에 거주하며 디스크에서 개별 섹터를 읽을 수있는 기본 CF 카드 드라이버가 있습니다.
보조 부트 로더는 CF 카드의 첫 9 개 섹터에 있습니다. 이 2 단계 로더는 동일한 CF- 카드 루틴을 가지고 있지만 FAT-16 드라이버는 Disk에서 파일을 읽을 수있는 FAT16 형식으로 형식화됩니다.
이 보조 부트 로더는 0x8000 에서 RAM에로드 된 다음 실행됩니다. 먼저 하단 뱅크 ( 0x0000 ~ 0x7fff )를 ROM에서 RAM으로 전환하고 CF-Card의 파일 시스템에 kernel.bin 으로 위치한 커널 이미지를 0x0000 으로 RAM으로 씁니다. 그런 다음 보조 로더는 0x0000 으로 재설정되어 커널로 부팅됩니다.
커널은 완전한 파일 시스템 드라이버 및 기타 운영 체제 구성 요소를 초기화 한 다음 디스크에서 명령 프로세서 ( command.exe )를로드하여 실행을 시작합니다.
이 시점에서 컨트롤은 명령 줄을 통해 시스템을 실행하여 시스템과 상호 작용할 수있는 사용자에게 전달됩니다.
Low RAM High RAM
0x0000┌────────────────────────┐ 0x8000┌────────────────────────┐
│ Kernel │ │ User Program Area │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ │ │
│ │ 0xe000├────────────────────────┤
│ │ │ Stack │
│ │ │ │
│ │ │ │
│ │ 0xF800├────────────────────────┤
│ │ │ User Program Args │
└────────────────────────┘ └────────────────────────┘
0xF7FF 로 초기화되어 자라게됩니다.argv 및 argc )를위한 예약.