여기에서는 PHC-25의 부트스트래퍼를 약간 분석해 보도록 하겠습니다.
PHC-25의 에뮬레이션 환경은 아래에서 다운로드 받습니다.
http://homepage3.nifty.com/takeda-toshiya/
롬 파일은 어둠의 경로를 통하셔야 합니다.
일단 FC-100과 비슷해 보이지만 PC-6001과 비교해 보면 PC-6001에 좀더 닮아 있음을 알 수 있습니다.
PHC-25의 부트벡터는 아래와 같습니다.
0000 C3AF0B JP 0BAFH
부트스트래퍼 0BAFH의 내용은 아래와 같습니다.
0baf F3 DI
0bb0 31FFF8 LD SP,0F8FFH <- 스택 상위 주소
0bb3 AF XOR A
0bb4 2100F9 LD HL,0F900H
0bb7 010007 LD BC,0700H
0bba CD9A05 CALL 059AH
0bbd 210060 LD HL,6000H
0bc0 3E20 LD A,20H
0bc2 01FF07 LD BC,07FFH
0bc5 CD9A05 CALL 059AH
0bc8 210068 LD HL,6800H
0bcb AF XOR A
0bcc 010010 LD BC,1000H
0bcf CD9A05 CALL 059AH
0bd2 2100E0 LD HL,0E000H
0bd5 3E20 LD A,20H
0bd7 01FF07 LD BC,07FFH
0bda CD9A05 CALL 059AH
0bdd 2100E8 LD HL,0E800H
0be0 AF XOR A
0be1 010010 LD BC,1000H
0be4 CD9A05 CALL 059AH
0be7 215DFD LD HL,0FD5DH
0bea 225BFD LD (0FD5BH),HL
0bed 3E01 LD A,01H
0bef 324CF9 LD (0F94CH),A
0bf2 3259F9 LD (0F959H),A
0bf5 3E04 LD A,04H
0bf7 321FF9 LD (0F91FH),A
0bfa D340 OUT (40H),A
0bfc 3E14 LD A,14H
0bfe 3221F9 LD (0F921H),A
0c01 325AF9 LD (0F95AH),A
0c04 21540B LD HL,0B54H
0c07 1150FE LD DE,0FE50H
0c0a 014B00 LD BC,004BH
0c0d EDB0 LDIR
0c0f 219F0B LD HL,0B9FH
0c12 1173F9 LD DE,0F973H
0c15 011000 LD BC,0010H
0c18 EDB0 LDIR
0c1a 218FF9 LD HL,0F98FH
0c1d 2248F9 LD (0F948H),HL
0c20 ED56 IM 1 <- 인터럽트 모드 1 설정
0c22 CD3747 CALL 4737H
0c25 FB EI
0c26 CD500D CALL 0D50H
0c29 3E2C LD A,2CH
0c2b CD480D CALL 0D48H
0c2e CD5545 CALL 4555H
0c31 31FFF8 LD SP,0F8FFH
0c34 3E20 LD A,20H
0c36 322EF9 LD (0F92EH),A
0c39 CDDF10 CALL 10DFH
0c3c 3EFF LD A,0FFH
0c3e 325AF9 LD (0F95AH),A
0c41 215100 LD HL,0051H
0c44 CDFB1D CALL 1DFBH
0c47 CDBF0C CALL 0CBFH
0c4a FE31 CP 31H
0c4c 280D JR Z,0C5BH ; (+0dH)
0c4e FE32 CP 32H
0c50 2809 JR Z,0C5BH ; (+09H)
0c52 FE14 CP 14H
0c54 20DB JR NZ,0C31H ; (-25H)
0c56 CDBF0C CALL 0CBFH
0c59 18D6 JR 0C31H ; (-2aH)
인터럽트 모드 1을 쓰는것은 FC-100과 유사하지만 제가 개인적으로 느낄때는
프로그래밍 스타일은 PC-6001과 비슷하다고 생각합니다.
댓글 없음:
댓글 쓰기