PSDIS 1.2 �̃L�[�A�T�C��

�L�[����
��ʓI�Ȃ���
Ctrl-N �V�K�읬
Ctrl-O �J��
Ctrl-S �㝑���ۑ�
Ctrl-C �I��͈͂��R�s�[�B�i�e�L�X�g�G�f�B�^���Ƀy�[�X�g�”\�j
Ctrl-F ����
F3 ���Ɍ���
Shift-F3 ��Ɍ���
PageDown �P�y�[�W���Ɉړ�
PageUp �P�y�[�W��Ɉړ�
UP �J�[�\���ړ��B
DOWN �J�[�\���ړ�
�_�C�A���O�\��
Ctrl-A �u�t�A�Z���u���\�����@�̝ݒ�v�_�C�A���O�\�� �i���j���[�ł� Ctrl-D �ƂȂ��Ă���B�j
Ctrl-W �t�A�Z���u���E�B���h�E���J���B
Ctrl-D �P�U�i�E�B���h�E���J��
Ctrl-H �w�b�_����\��
���W�X�^�֘A
Ctrl-R ���W�X�^�l�̕ϝX
R �I��s�����s�����W�X�^�l�ɔ��f������
�s�̕\�����@
Shift-B ������s�̕\�����@�� .byte �Ƃ���
Shift-H ������s�̕\�����@�� .half �Ƃ���
Shift-W ������s�̕\�����@�� .word �Ƃ���
Shift-C ������s�̕\�����@�� code �Ƃ���
B �J�[�\���s�̕\�����@�� .byte �Ƃ��Č���B
H �J�[�\���s�̕\�����@�� .half �Ƃ��Č���B
W �J�[�\���s�̕\�����@�� .word �Ƃ��Č���B
C �J�[�\���s�̕\�����@�� code �Ƃ��Č���B
U �J�[�\���s�̕\�����@�𖢌���Ƃ���B
S �J�[�\���s�̕\�����@���Z�~�R�����ɂȂ�B�Ȃ񂶂Ⴑ���
�A�h���X�ɂ��ړ�
G �A�h���X���w�肵�ăW�����v�B
F10 �A�h���X���w�肵�ăW�����v�B�iG �Ɠ����j
Ctrl-G ���x�����w�肵�ăW�����v
�}�[�N
SPACE �J�[�\���s���}�[�N�B
Ctrl-UP ��̃}�[�N�Ɉړ�
Ctrl-DOWN ���̃}�[�N�ʒu�Ɉړ�
�s�̝C��
RETURN �s�̝C���B�J�[�\���� Label �ɝݒ�B
Shift-RETURN �s�̝C���B�J�[�\���� Comment �ɝݒ�B
�X�^�b�N
INSERT �J�[�\���s���X�^�b�N�Ƀv�b�V��
DELETE �X�^�b�N����|�b�v���A�̂Ă�B
LEFT �X�^�b�N����|�b�v���Ĉړ��B
RIGHT �J�[�\���s���X�^�b�N�Ƀv�b�V�����A�Q�Ɲs�ɃW�����v�B
�͈͎w��
Shift-DOWN �J�[�\���ړ��B�ړ��͈͂�I��B
Shift-UP �J�[�\���ړ��B�ړ��͈͂�I��B
Shift-PageDown �P�y�[�W���Ɉړ����ĝA�ړ��͈͂�I��B
Shift-PageUp �P�y�[�W��Ɉړ����ĝA�ړ��͈͂�I��B
Shift-RIGHT �J�[�\���s���X�^�b�N�Ƀv�b�V�����Q�Ɲs�ɃW�����v�B�ړ��͈͂�I��B
Shift-LEFT �X�^�b�N����|�b�v���Ĉړ��B�ړ��͈͂�I��B
�s��
Ctrl-V ??? ���g�p�H
F6 ??? ���g�p�H
Shift-F6 ??? ���g�p�H
Shift-F1 ??? ���g�p�H

�����m�F�����o�O


2000-08-19

PSDIS 1.2 �̃Z�[�u�t�@�C���̃t�H�[�}�b�g

�t�@�C���w�b�_ 16bytes
+00 �V�O�l�`�� "PsDis100"
+08 ���g�p     �[�� x8
�Ȍ�̓`�����N�iGIF �̃`�����N�݂����Ȃ�ł����Ăт܂��j�̗���ł����A HEADER CHUNK,IMAGE CHUNK,ATTRIBUTE CHUNK, LABEL CHUNK, COMMENT CHUNK, REGISTER CHUNK �̝��ԂɂP�‚��•���ł��܂��B����̃`�����N�𕡝��w�肵����O�̃f�[�^�������܂����B�c�O�B

�`�����N

+00 WORD  type;	�A�X�L�[�Q�o�C�g
+02 DWORD size;	�`�����N�ŗL�f�[�^�̃o�C�g��
+06 �`�����N�ŗL�f�[�^

HEADER CHUNK

�`�����N�^�C�v�F 50h 48h (PH: PS-X EXE HEADER?)
+000 PS-X EXE HEADER �����̂܂�
+800

IMAGE CHUNK

�`�����N�^�C�v�F 4dh 49h (MI: Memory Image?)
+00 DWORD addr;	�擪�A�h���X
+04 DWORD size; �o�C�g��
+08 BYTE[] img; �������C���[�W

ATTRIBUTE CHUNK

�`�����N�^�C�v�F 41h 54h (AT: ATtribute?)
+00 DWORD addr;	�擪�A�h���X
+04 DWORD size; �o�C�g��
+08 BYTE[] flg; �t���O�̔z��
����͝������K�v�Ȃ�ŝ��������B flg �̃T�C�Y�� size �ł͂Ȃ��ĝA size / 4 �ɂȂ�܂��B�Ƃ����� (size + 3)/4 ��������܂���Baddr �Ƃ� size �̓������C���[�W�Ɠ������A�f�[�^�̗L���͈͂������Ă��܂� ����ɑ΂��ăt���O�̓��[�h�i4bytes)�ɑ΂��ĂP�o�C�g�����蓖�Ă��Ă��܂��B
�t���O�̈Ӗ��� bit 0-2 �����̃A�h���X�̑�����\���Ă��܂��B
00: undef
01: byte
02: half
03: word
04: �Ӗ��s���̃Z�~�R����
05: code
bit 3 �͊Y������Ꝋ�ɃR�����g������Ƃ� 1 �ƂȂ�܂��B�i�Y������Ꝋ���S�ӝ�����킯�ł����A�ǂ����ɂ���ƃt���O�����‚݂����ł��B�j�������Ɏg���Ă�񂾂Ǝv���܂��B
bit 4-7 �̓��x�������邩�ǂ����ł��B������͂S�ӝ��̂ǂ��ɂ��邩�܂ł킩��悤�ɂS�r�b�g�g���Ă܂��B�Ⴆ�΃t���O�� 0x80010000 ������킵�Ă�ꝇ�A�t���O�� 0x39 ��������A
xxxx x001 80010000 �̑����� byte �ŝA
xxxx 1xxx �R�����g�� 80010000 ���� 80010003 �̂Ȃ��ɂ����ĝA
0011 xxxx 80010000 �� 80010001 �Ƀ��x�����ݒ肳��Ă�B
�Ƃ������ƂɂȂ�܂��B

LABEL CHUNK

�`�����N�^�C�v�F 4ch 42h (LB: LaBel?)
+00 BYTE[8] sig; �K�� "PSDISL00"
+08 {
    +00 DOWRD address;	�A�h���X
    +04 BYTE length;	������̃o�C�g��
    +05 CHAR string[length]; ������
    } ���Ђ炷�瑱���B
+08 ����̃u���b�N���̓`�����N�̃T�C�Y�ł킩��܂��B �n�b�V���Ƃ����� CMap �ɕ��蝞��ł�񂾂Ǝv���܂��B

COMMENT CHUNK

�`�����N�^�C�v�F 43h 4dh (CM: CoMment?) �\���� LABEL �Ɠ����ł��B

REGISTER CHUNK

�`�����N�^�C�v�F 52h 56h (RV: Register Value?)
+00 DWORD r00;	zero
+04 DWORD r01;	at
...
+7c DWORD r31;	ra
���Ȃ݂� zero �Ƀ[���ȊO�̒l�𝑂��Ă݂܂�������������܂���(��

�ĂȂ킯�Ŏ����v���O����

psdis �� .pef �t�@�C����ǂݝ���ŝ���ȃR�����g�Ƃ���t����v���O���������Ă݂܂����B�������܂ɉ�͂���Ƃ��ɂ����‚������悤�ȝ�Ƃ����Ă�̂����ʂ������̂Ŏ�������������ł��B�g�����͊�{�I�ɝA
prepsdis <in> <out>
�ł��B in �ɂ� pef �t�@�C�����w�肵�܂��B�ł���΃������C���[�W����蝞�񂾂����� pef �t�@�C�����w�肵�Ă��������B�ҝW�ς݂̃t�@�C���ł������悤�ɂ����‚���ł����A���M����܂���Bout �͝����o�� pef �t�@�C���̖��O�ł��B in �� out �𓯂��ɂ��Ă����삵�܂����ӔC�͎��Ă܂���B
caetla �Ȃ񂩂��� gp �� 1f800000 �Œ�ɂȂ��Ă܂����A���������ꝇ��
prepsdis <in> <out> gp=1f800000
�Ȃ�Ă��Ƃ�����ƌ��\�i�C�X�ȃR�����g��t���Ă���܂��B

WIN32 �R���\�[���v���O�����̂����ɓ���ɂ� mfc �� DLL ���K�v�ł��B �Ȃ��A�\�[�X�̓Q���f�������Ȃ��炢�΂������̂ʼnB���܂��i�ΝB
�ǂ�Ȃ񂪝o�邩�Ƃ����ƝA
8001d0d4 a4600000 LOOP> sh    zero,$0000(v1)            >spuCh0 vol-L
8001d0d8 a4600002       sh    zero,$0002(v1)            >spuCh0 vol-R
8001d0dc a4660004       sh    a2,$0004(v1)              >spuCh0 pitch
8001d0e0 a4650006       sh    a1,$0006(v1)              >spuCh0 wavAddr
8001d0e4 a4600008       sh    zero,$0008(v1)            >spuCh0 attack,decay,sus lv
8001d0e8 a460000a       sh    zero,$000a(v1)            >spuCh0 sus,rel rate
8001d0ec 24840001       addiu a0,a0,#$0001              00000001
8001d0f0 28820018       slti  v0,a0,#$0018
8001d0f4 1440fff7       bne   v0,zero,$8001d0d4:(LOOP>) -8��
8001d0f8 24630010       addiu v1,v1,#$0010              spuCh1 vol-L
8001d0fc 3411ffff       ori   s1,zero,#$ffff            0000ffff
8001d100 3c028006       lui   v0,#$8006

�Ă��ƂɂȂ����肵�܂��B���[�v�� v1 �� 0x10 ���‘����Ă��킯�ł����A�\���� ch0 ���Ă̂͂��������傤���Ă��ƂŊ��ق��Ă��������B ���̑��ɂ��o�O���ڂł��͂����܂��B �ނ�����x������ ����������������
���Ȃ݂ɝi�͂Ȃ���C���`�L�������v���O�����Ȃ̂ŝj�o�O�̃��|�[�g�͓ǂ݂܂����ǝA�P�����܂���B

[email protected]