그 비슷하다는 PC-6001을 다시 파기 시작했습니다.
결론부터 말씀드리자면 FC-100은 PHC-25변형판이 맞는듯 합니다.
그렇다고 딱 PHC-25와 같은것은 아니고 PC-6001의 특성을 많이 가지고 있다고 봐야합니다.
우선 하드웨어에서 PC-6001은 RS-232가 있고 페이지 제어를 위한 8255를 가지고 있습니다.
그러나 PHC-25는 RS-232가 없고 페이지를 제어하지 않습니다.
FC-100은 RS-232가 있는것으로 확인되었으나 8255를 가지고 있지 않습니다.
대신 다른 IO포트를 통해 페이지를 제어하는것으로 생각됩니다.
PC-6001의 에뮬레이터는 아래의 홈페이지에서 받을 수 있습니다.
http://papicom.net/p6v/index.html
순 일본어라서 잘 모를수도 있는데 최신버젼의 XP 32비트용은 아래에 링크되어 있습니다.
PC-6001V 에뮬레이터 Windows 32Bit
이런종류의 에뮬레이터는 항상ROM을 어둠의 경로를 통해 받아야 합니다.
제가 받은 링크를 올립니다.
PC-6001 ROM(1981)
받은 롬파일은 에뮬레이터의 하위디랙토리중에 "\rom"에 넣고 실행하면됩니다.
뜨는 화면을 보면 알 수 있듯이 FC-100과 상당히 흡사합니다.
아마도 FC-100에서도 MS의 흔적이 있듯이 PC-6001도 MS에서 작업한 모양입니다.
이것을 가지고 디스어셈블을 한다음 분석을 합니다.(디스어셈블러)
PC-6001의 부트스트래퍼는 아래와 같습니다.
0000 C3100E JP 0E10H
이에 따라 0E10H의 주소의 내용을 보면 아래와 같습니다.
0e10 F3 DI
0e11 213401 LD HL,0134H
0e14 1100FA LD DE,0FA00H
0e17 01B700 LD BC,00B7H
0e1a EDB0 LDIR
0e1c 11E5FA LD DE,0FAE5H
0e1f 0E58 LD C,58H
0e21 EDB0 LDIR
0e23 218AFF LD HL,0FF8AH
0e26 061E LD B,1EH
0e28 36C9 LD (HL),0C9H
0e2a 23 INC HL
0e2b 23 INC HL
0e2c 23 INC HL
0e2d 10F9 DJNZ 0E28H ; (-07H)
0e2f 3100F9 LD SP,0F900H <- 스택상위주소
0e32 ED5E IM 2 <- 인터럽트 모드 2 설정
0e34 3EFA LD A,0FAH
0e36 ED47 LD I,A
0e38 3A27FA LD A,(0FA27H)
0e3b D3B0 OUT (0B0H),A
0e3d 3EC0 LD A,0C0H
0e3f D393 OUT (93H),A
0e41 3E0D LD A,0DH
0e43 D393 OUT (93H),A
0e45 3E09 LD A,09H
0e47 D393 OUT (93H),A
0e49 DB90 IN A,(90H)
0e4b AF XOR A
0e4c D391 OUT (91H),A
0e4e 3E03 LD A,03H
0e50 D393 OUT (93H),A
0e52 3E05 LD A,05H
0e54 D393 OUT (93H),A
0e56 064F LD B,4FH
0e58 CDBF19 CALL 19BFH
0e5b CDDE10 CALL 10DEH
0e5e 3E0C LD A,0CH
0e60 CD8F0E CALL 0E8FH
0e63 FB EI
0e64 CD5C1A CALL 1A5CH
0e67 3E2C LD A,2CH
0e69 CD8F0E CALL 0E8FH
0e6c CD5810 CALL 1058H
0e6f CD511B CALL 1B51H
0e72 CDB31B CALL 1BB3H
0e75 C34000 JP 0040H
이것을 보면 소프트웨어적으로는 FC-100과 상당히 닮아 있음을 알 수 있습니다.
그렇지만 인터럽트 모드를 보면 꼭 그렇지도 않습니다.
FC-100과 PHC-25는 인터럽트 모드 1을 사용하는것으로 확인됩니다.
그러나 PC-6001은 인터럽트 모드 2를 사용합니다.
인터럽트 모드 2는 인터럽트 벡터가 데이터 버스에 올라오는 형태로서
인터럽트 모드 1과는 완전히 다르며 하드웨어적인 구성에서 차이가 크다고 할 수 있습니다.
인터럽트 모드 2는 인터럽트 벡터가 데이터 버스에 올라오는 형태로서
인터럽트 모드 1과는 완전히 다르며 하드웨어적인 구성에서 차이가 크다고 할 수 있습니다.
결과적으로보면 에뮬레이터를 수정해서 작업하는 관점에서보면
PHC-25를 수정하는 편이 좀더 낫다고 볼 수 있습니다.
그러나 PHC-25 자료만으로는 불충분하고 RS-232(8251)쪽 자료와
메모리 페이지 처리에 대해서는 PC-6001의 자료를 참고해야 할듯합니다.
댓글 없음:
댓글 쓰기