{"id":33000386,"url":"https://github.com/nonakap/xnp2","last_synced_at":"2026-01-20T10:33:56.495Z","repository":{"id":3618055,"uuid":"4683602","full_name":"nonakap/xnp2","owner":"nonakap","description":"Xnp2 is a port for UNIX with X11 of \"Neko Project II\" PC-9801 emulator.","archived":false,"fork":false,"pushed_at":"2022-05-23T11:50:23.000Z","size":2972,"stargazers_count":54,"open_issues_count":5,"forks_count":25,"subscribers_count":10,"default_branch":"master","last_synced_at":"2024-06-13T22:46:58.111Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.nonakap.org/np2/","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/nonakap.png","metadata":{"files":{"readme":"readme.txt","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-06-16T09:41:15.000Z","updated_at":"2024-06-05T00:45:59.000Z","dependencies_parsed_at":"2022-08-17T22:15:23.540Z","dependency_job_id":null,"html_url":"https://github.com/nonakap/xnp2","commit_stats":null,"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/nonakap/xnp2","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonakap%2Fxnp2","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonakap%2Fxnp2/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonakap%2Fxnp2/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonakap%2Fxnp2/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/nonakap","download_url":"https://codeload.github.com/nonakap/xnp2/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/nonakap%2Fxnp2/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28601892,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-20T09:39:28.479Z","status":"ssl_error","status_checked_at":"2026-01-20T09:38:10.511Z","response_time":117,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2025-11-13T13:00:28.665Z","updated_at":"2026-01-20T10:33:56.487Z","avatar_url":"https://github.com/nonakap.png","language":"C","funding_links":[],"categories":["Computer emulators","NEC 9800 computers"],"sub_categories":["NEC","Atari Lynx"],"readme":"\n// ---- ��`\n\n  �œK���ׂ̈̃������g�p�ʂ̗}��\n    MEMOPTIMIZE = 0�`2\n\n    CPU�ɂ��ȉ��̐��l���Z�b�g����邱�Ƃ����҂��Ă���\n      MEMOPTIMIZE����` �c Celeron333A�ȍ~�̃Z�J���h�L���b�V���L���@\n      MEMOPTIMIZE = 0   �c x86\n      MEMOPTIMIZE = 1   �c PowerPC���̃f�X�N�g�b�v�pRISC\n      MEMOPTIMIZE = 2   �c StrongARM���̑g�ݍ��ݗpRISC\n\n\n  �R���p�C���̈������E�߂�l�̍œK��\n    �������E�߂�l��int�^�ȊO���w�肵���ꍇ�ɁA�œK�����L���ɓ����Ȃ�\n    �R���p�C�������̒�`�ł��B\n    �ʏ�� common.h �̕����g�p���܂��B\n      REG8 �c UINT8�^ / (sizeof(REG8) != 1)�̏ꍇ ��ʃr�b�g��0fill���鎖\n      REG16 �c UINT16�^ / (sizeof(REG16) != 2)�̏ꍇ ��ʃr�b�g��0fill���鎖\n�@�@�@��������l���Z�b�g���鑤��0fill���A�Q�Ƒ���0fill�������̂ƌ��Ȃ��܂��B\n\n\n  OS�̌���̑I��\n    OSLANG_SJIS �c Shift-JIS�̊����R�[�h�����߂���\n    OSLANG_EUC  �c EUC�̊����R�[�h�����߂���\n\n    OSLINEBREAK_CR   �c MacOS   \"\\r\"\n    OSLINEBREAK_LF   �c Unix    \"\\n\"\n    OSLINEBREAK_CRLF �c Windows \"\\r\\n\"\n\n      �����݂͈ȉ��̃\\�[�X�R�[�h���Ōʂɐݒ肵�Ă��܂��B\n        (Windows�� API�ɂ���� \\r\\n�̏ꍇ��\\n�̏ꍇ������̂Łc)\n        �Ecommon/_memory.c\n        �Edebugsub.c\n        �Estatsave.c\n\n    (milstr.h�I��p)\n    SUPPORT_ANK      �c ANK�����񑀍�֐��������N����\n    SUPPORT_SJIS     �c SJIS�����񑀍�֐��������N����\n    SUPPORT_EUC      �c EUC�����񑀍�֐��������N����\n\n      ������milstr.h�ł��ׂĒ�`���ꂽ�܂܂ɂȂ��Ă��܂��B\n        ver0.73��milstr.h�̒�`���O�� compiler.h�Ŏw�肵�����ƂȂ�܂��B\n\n\n�@CPUCORE_IA32\n�@�@IA32�A�[�L�e�N�`�����̗p\n�@�@�@i386c���g�p����ꍇ�̒��ӓ_\n�@�@  �ECPU panic ��x���\\������ msgbox() �Ƃ��� API ���g�p���܂��B\n�@�@�@�@compiler.h ������œK���ɒ�`���Ă��������B\n�@�@�@�Esigsetjmp(3), siglongjmp(3) �������A�[�L�e�N�`���͈ȉ��� define ��\n�@�@�@�@compiler.h ������ɒǉ����Ă��������B\n�@�@�@�@----------------------------------------------------------------------\n        #define sigjmp_buf              jmp_buf\n        #define sigsetjmp(env, mask)    setjmp(env)\n        #define siglongjmp(env, val)    longjmp(env, val)\n�@�@�@�@----------------------------------------------------------------------\n\n  CPUSTRUC_MEMWAIT\n�@�@�@cpucore�\\���̂Ƀ������E�F�C�g�l���ړ�����(vramop)\n\n  CGWND_FONTPTR\n�@�@�@cgwindow�Ƀt�H���g�|�C���^����������\n�@�@�@����A���܂�Ӗ��������܂���\n\n�@SUPPORT_CRT15KHZ\n�@�@�@��������15.98kHz���T�|�[�g����(DIPSW1-1)\n\n�@SUPPORT_CRT31KHZ\n�@�@�@��������31.47kHz���T�|�[�g����\n�@�@�@Fellow�^�C�v�͂���\n\n�@SUPPORT_PC9821\n�@�@�@PC-9821�g���̃T�|�[�g\n�@�@�@���R�ł��� 386�K�{�ł��B\n�@�@�@�܂� SUPPORT_CRT31KHZ���K�v�ł�(�n�C���]BIOS���g�p�����)\n\n�@SUPPORT_PC9861K\n�@�@�@PC-9861K(RS-232C�g��I/F)���T�|�[�g\n\n�@SUPPORT_IDEIO\n�@�@�@IDE�� I/O���x���ł̃T�|�[�g\n�@�@�@�ł� ATA�̃��[�h���x�����ł��Ȃ��c\n\n�@SUPPORT_SASI\n�@�@�@SASI HDD���T�|�[�g\n�@�@�@��`���Ȃ���Ώ펞IDE�Ƃ��č쓮���܂��B\n\n�@SUPPORT_SCSI\n�@�@�@SCSI HDD���T�|�[�g�c�S�R�����Ȃ�\n\n�@SUPPORT_S98\n�@�@�@S98���O���擾\n\n�@SUPPORT_WAVEREC\n�@�@Sound���x���� wave�t�@�C���̏����o���֐����T�|�[�g\n�@�@�A�������o������ �T�E���h�o�͂��~�܂�̂Ł@�قڃf�o�O�p\n\n\n// ---- screen\n\n  PC-9801�V���[�Y�̉�ʃT�C�Y�͕W���� 641x400�B\n  VGA�ł͎��܂�Ȃ��̂� �����I��VGA�Ɏ��߂�ׂ� ��ʉ��T�C�Y�� width + extend\n�Ƃ���B\n  8 \u003c width \u003c 640\n  8 \u003c height \u003c 480\n  extend = 0 or 1\n\ntypedef struct {\n\tBYTE\t*ptr;\t\t// VRAM�|�C���^\n\tint\t\txalign;\t\t// x�����I�t�Z�b�g\n\tint\t\tyalign;\t\t// y�����I�t�Z�b�g\n\tint\t\twidth;\t\t// ����\n\tint\t\theight;\t\t// �c��\n\tUINT\tbpp;\t\t// �X�N���[���F�r�b�g\n\tint\t\textend;\t\t// ���g��\n} SCRNSURF;\n\n  �T�[�t�F�X�T�C�Y�� (width + extern) x height�B\n\n\nconst SCRNSURF *scrnmng_surflock(void);\n  ��ʕ`��J�n\n\nvoid scrnmng_surfunlock(const SCRNSURF *surf);\n  ��ʕ`��I��(���̃^�C�~���O�ŕ`��)\n\n\nvoid scrnmng_setwidth(int posx, int width)\nvoid scrnmng_setextend(int extend)\nvoid scrnmng_setheight(int posy, int height)\n  �`��T�C�Y�̕ύX\n  �E�B���h�E�T�C�Y�̕ύX����\n  �t���X�N���[�����ł���� �\\���̈��ύX�B\n  SCRNSURF�ł͂��̒l��Ԃ��悤�ɂ���\n  posx, width�� 8�̔{��\n\nBOOL scrnmng_isfullscreen(void) �c NP2�R�A�ł͖��g�p\n  �t���X�N���[����Ԃ̎擾\n    return: ��0�Ńt���X�N���[��\n\nBOOL scrnmng_haveextend(void)\n  ������Ԃ̎擾\n    return: ��0�� �����g���T�|�[�g\n\nUINT scrnmng_getbpp(void)\n  �X�N���[���F�r�b�g���̎擾\n    return: �r�b�g��(8/16/24/32)\n\nvoid scrnmng_palchanged(void)\n  �p���b�g�X�V�̒ʒm(8bit�X�N���[���T�|�[�g���̂�)\n\nRGB16 scrnmng_makepal16(RGB32 pal32)\n  RGB32���� 16bit�F���쐬����B(16bit�X�N���[���T�|�[�g���̂�)\n\n\n\n// ---- sound\n\nNP2�̃T�E���h�f�[�^�� sound.c�̈ȉ��̊֐����擾\n  const SINT32 *sound_pcmlock(void)\n  void sound_pcmunlock(const SINT32 *hdl)\n\n\nSOUND_CRITICAL  �Z�}�t�H������(see sndcsec.c)\nSOUNDRESERVE    �\\��o�b�t�@�̃T�C�Y(�~���b)\n  �T�E���h�����荞�ݏ�������ꍇ�̎w��B\n  ���荞�݂̍ő剄�؎��Ԃ�SOUNDRESERVE�Ŏw��B\n  (Win9x�̏ꍇ�A���O�Ń����O�o�b�t�@��������̂� ���荞�ݖ����E�w�莞�Ԓʂ��\n  �T�E���h���C�g������̂ŁA���̏����͕s�v������)\n\n\nUINT soundmng_create(UINT rate, UINT ms)\n  �T�E���h�X�g���[���̊m��\n    input:  rate    �T���v�����O���[�g(11025/22050/44100)\n            ms      �T���v�����O�o�b�t�@�T�C�Y(�~���b)\n    return: �l�������o�b�t�@�̃T���v�����O��\n\n            ms�ɏ]���K�v�͂Ȃ�(SDL�Ƃ��o�b�t�@�T�C�Y�����肳���̂�)\n            NP2�̃T�E���h�o�b�t�@����� �Ԃ�l�݂̂𗘗p���Ă��܂��B\n\n\nvoid soundmng_destroy(void)\n  �T�E���h�X�g���[���̏I��\n\nvoid soundmng_reset(void)\n  �T�E���h�X�g���[���̃��Z�b�g\n\nvoid soundmng_play(void)\n  �T�E���h�X�g���[���̍Đ�\n\nvoid soundmng_stop(void)\n  �T�E���h�X�g���[���̒�~\n\nvoid soundmng_sync(void)\n  �T�E���h�X�g���[���̃R�[���o�b�N\n\nvoid soundmng_setreverse(BOOL reverse)\n  �T�E���h�X�g���[���̏o�͔��]�ݒ�\n    input:  reverse ��0�ō��E���]\n\nBOOL soundmng_pcmplay(UINT num, BOOL loop)\n  PCM�Đ�\n    input:  num     PCM�ԍ�\n            loop    ��0�Ń��[�v\n\nvoid soundmng_pcmstop(UINT num)\n  PCM��~\n    input:  num     PCM�ԍ�\n\n\n\n// ---- mouse\n\nBYTE mousemng_getstat(SINT16 *x, SINT16 *y, int clear)\n  �}�E�X�̏�Ԏ擾\n    input:  clear   ��0�� ��Ԃ��擾��ɃJ�E���^�����Z�b�g����\n    output: *x      clear�����x�����J�E���g\n            *y      clear�����y�����J�E���g\n    return: bit7    ���{�^���̏�� (0:����)\n            bit5    �E�{�^���̏�� (0:����)\n\n\n\n// ---- serial/parallel/midi\n\nCOMMNG commng_create(UINT device)\n  �V���A���I�[�v��\n    input:  �f�o�C�X�ԍ�\n    return: �n���h�� (���s��NULL)\n\n\nvoid commng_destroy(COMMNG hdl)\n  �V���A���N���[�Y\n    input:  �n���h�� (���s��NULL)\n\n\n\n// ---- joy stick\n\nBYTE joymng_getstat(void)\n  �W���C�X�e�B�b�N�̏�Ԏ擾\n\n    return: bit0    ��{�^���̏�� (0:����)\n            bit1    ���{�^���̏��\n            bit2    ���{�^���̏��\n            bit3    �E�{�^���̏��\n            bit4    �A�˃{�^���P�̏��\n            bit5    �A�˃{�^���Q�̏��\n            bit6    �{�^���P�̏��\n            bit7    �{�^���Q�̏��\n\n\n// ----\n\nvoid sysmng_update(UINT bitmap)\n  ��Ԃ��ω������ꍇ�ɃR�[�������B\n\nvoid sysmng_cpureset(void)\n  ���Z�b�g���ɃR�[�������\n\n\n\nvoid taskmng_exit(void)\n  �V�X�e�����I������B\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnonakap%2Fxnp2","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fnonakap%2Fxnp2","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fnonakap%2Fxnp2/lists"}