{"id":446209,"date":"2025-01-27T03:00:10","date_gmt":"2025-01-27T03:00:10","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=446209"},"modified":"-0001-11-30T00:00:00","modified_gmt":"-0001-11-29T21:00:00","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=446209","title":{"rendered":"<span>\u042d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 NES \u0432 \u043a\u0430\u0436\u0434\u044b\u0439 \u043f\u0440\u043e\u0435\u043a\u0442! [0x00]<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u042d\u0442\u043e \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 NES. \u0421\u043e\u0437\u0434\u0430\u044e \u0435\u0433\u043e \u0432 \u0432\u0438\u0434\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0432\u043e\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430, \u0438\u0433\u0440\u044b \u0438\u043b\u0438 \u0437\u0430\u043b\u0438\u0442\u044c \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0451\u0440. \u0412 \u0446\u0435\u043b\u043e\u043c, \u043c\u0435\u043d\u044f \u0442\u044f\u043d\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u043c\u0435\u0447\u0442\u0430\u044e \u043f\u043e\u0441\u0442\u0438\u0447\u044c \u0443\u0436\u0435 \u043d\u0435 \u043e\u0434\u0438\u043d \u0433\u043e\u0434. \u0421\u0430\u043c\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440 \u0434\u043b\u044f NES \u043c\u0435\u043d\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442, \u0434\u0430 \u0438 \u0432 \u0438\u0433\u0440\u044b \u044f \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u043b\u044e\u0431\u043b\u044e \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c, \u0430 \u0432\u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u043c\u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u044f \u043d\u0430\u0447\u0430\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 i386 intel \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043d\u043e \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0441\u0438\u043b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u0438 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u043a\u0430\u043a \u043c\u043d\u0435 \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0431\u044b\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 NES. \u0418 \u0442\u0430\u043a \u044f \u043d\u0430\u0447\u0430\u043b \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443.<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u044f \u043d\u0430\u0448\u0435\u043b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0438 \u043f\u0440\u0438\u043d\u044f\u043b\u0441\u044f \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 switch case &#8230; \u043e\u043f\u043a\u043e\u0434\u044b. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 i386 \u0437\u0434\u0435\u0441\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u043f\u043a\u043e\u0434 \u0438\u043c\u0435\u043b \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u043b\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. \u041d\u0430\u0447\u0430\u043b \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 2024 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0442\u043e\u043c \u0437\u0430\u0431\u0440\u043e\u0441\u0438\u043b. \u041a\u043e\u0433\u0434\u0430 \u0432\u043d\u043e\u0432\u044c \u0437\u0430\u043d\u044f\u043b\u0441\u044f \u0438\u043c, \u0442\u043e \u044f \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u043b, \u0447\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u043f\u0440\u043e\u043f\u0430\u043b\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u0431\u0435 \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u0441\u043a\u0443\u0447\u043d\u044b\u0439 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435. \u042d\u0442\u043e \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0430\u043b\u043e \u0438 \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0447\u0430\u043b \u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434. \u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0434\u0435\u043d\u044c \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0432\u0441\u0435 case \u0432 switch, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0422\u043e\u0433\u0434\u0430 \u044f \u0434\u0443\u043c\u0430\u043b \u0442\u0430\u043a, \u0432 switch \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0438\u0434\u0435\u0442 \u043f\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c\u0443 \u043f\u043e\u0438\u0441\u043a\u0443, \u043d\u043e \u044f \u043d\u0435 \u0431\u044b\u043b \u0443\u0432\u0435\u0440\u0435\u043d \u0432 \u0442\u043e\u043c, \u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0432\u0435\u0441\u0442\u0438\u0441\u044c \u043f\u043e\u0438\u0441\u043a, \u0435\u0441\u043b\u0438 \u0447\u0438\u0441\u043b\u0430 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u043d\u044b \u0432 case. <\/p>\n<p>\u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0434\u0435\u043d\u044c \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439 \u043e\u043f\u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0432\u043e\u0442 \u0442\u0430\u043a.<\/p>\n<pre><code class=\"cpp\">pnes_handler [emu-&gt;mem[emu-&gt;cpu.PC]] (emu);<\/code><\/pre>\n<p>\u042d\u0442\u043e \u0441\u0442\u043e\u0438\u043b\u043e \u0442\u043e\u0433\u043e, \u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043e\u043a\u043e\u043b\u043e \u0447\u0430\u0441\u0430 \u0438\u043b\u0438 \u0434\u0432\u0443\u0445, \u043f\u043e\u043a\u0430 \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u043b \u0432\u0441\u0435 256 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430 \u0432 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u0412\u043e\u0442 \u043e\u043d\u0430.<\/p>\n<pre><code class=\"cpp\">if (!is_init_global_func) {  DEFINE_STATIC_FUNC_NES_HANDLER () ADD_HANDLER (brk_implied)\/* 0x00 *\/ ADD_HANDLER (ora_indirect_x)\/* 0x01 *\/ ADD_HANDLER (invalid_opcode)\/* 0x02 *\/ ADD_HANDLER (invalid_opcode)\/* 0x03 *\/ ADD_HANDLER (invalid_opcode)\/* 0x04 *\/ ADD_HANDLER (ora_zeropage)\/* 0x05 *\/ ADD_HANDLER (asl_zeropage)\/* 0x06 *\/ ADD_HANDLER (invalid_opcode)\/* 0x07 *\/ ADD_HANDLER (php_implied)\/* 0x08 *\/ ADD_HANDLER (ora_immediate)\/* 0x09 *\/ ADD_HANDLER (asl_accumulator)\/* 0x0a *\/ ADD_HANDLER (invalid_opcode)\/* 0x0b *\/ ADD_HANDLER (invalid_opcode)\/* 0x0c *\/ ADD_HANDLER (ora_absolute)\/* 0x0d *\/ ADD_HANDLER (asl_absolute)\/* 0x0e *\/ ADD_HANDLER (invalid_opcode)\/* 0x0f *\/ ADD_HANDLER (bpl_relative)\/* 0x10 *\/ ADD_HANDLER (ora_indirect_y)\/* 0x11 *\/ ADD_HANDLER (invalid_opcode)\/* 0x12 *\/ ADD_HANDLER (invalid_opcode)\/* 0x13 *\/ ADD_HANDLER (invalid_opcode)\/* 0x14 *\/ ADD_HANDLER (ora_zeropage_x)\/* 0x15 *\/ ADD_HANDLER (asl_zeropage_x)\/* 0x16 *\/ ADD_HANDLER (invalid_opcode)\/* 0x17 *\/ ADD_HANDLER (clc_implied)\/* 0x18 *\/ ADD_HANDLER (ora_absolute_y)\/* 0x19 *\/ ADD_HANDLER (invalid_opcode)\/* 0x1a *\/ ADD_HANDLER (invalid_opcode)\/* 0x1b *\/ ADD_HANDLER (invalid_opcode)\/* 0x1c *\/ ADD_HANDLER (ora_absolute_x)\/* 0x1d *\/ ADD_HANDLER (asl_absolute_x)\/* 0x1e *\/ ADD_HANDLER (invalid_opcode)\/* 0x1f *\/ ADD_HANDLER (jsr_absolute)\/* 0x20 *\/ ADD_HANDLER (and_indirect_x)\/* 0x21 *\/ ADD_HANDLER (invalid_opcode)\/* 0x22 *\/ ADD_HANDLER (invalid_opcode)\/* 0x23 *\/ ADD_HANDLER (bit_zeropage)\/* 0x24 *\/ ADD_HANDLER (and_zeropage)\/* 0x25 *\/ ADD_HANDLER (rol_zeropage)\/* 0x26 *\/ ADD_HANDLER (invalid_opcode)\/* 0x27 *\/ ADD_HANDLER (plp_implied)\/* 0x28 *\/ ADD_HANDLER (and_immediate)\/* 0x29 *\/ ADD_HANDLER (rol_accumulator)\/* 0x2a *\/ ADD_HANDLER (invalid_opcode)\/* 0x2b *\/ ADD_HANDLER (bit_absolute)\/* 0x2c *\/ ADD_HANDLER (and_absolute)\/* 0x2d *\/ ADD_HANDLER (rol_absolute)\/* 0x2e *\/ ADD_HANDLER (invalid_opcode)\/* 0x2f *\/ ADD_HANDLER (bmi_relative)\/* 0x30 *\/ ADD_HANDLER (and_indirect_y)\/* 0x31 *\/ ADD_HANDLER (invalid_opcode)\/* 0x32 *\/ ADD_HANDLER (invalid_opcode)\/* 0x33 *\/ ADD_HANDLER (invalid_opcode)\/* 0x34 *\/ ADD_HANDLER (and_zeropage_x)\/* 0x35 *\/ ADD_HANDLER (rol_zeropage_x)\/* 0x36 *\/ ADD_HANDLER (invalid_opcode)\/* 0x37 *\/ ADD_HANDLER (sec_implied)\/* 0x38 *\/ ADD_HANDLER (and_absolute_y)\/* 0x39 *\/ ADD_HANDLER (invalid_opcode)\/* 0x3a *\/ ADD_HANDLER (invalid_opcode)\/* 0x3b *\/ ADD_HANDLER (invalid_opcode)\/* 0x3c *\/ ADD_HANDLER (and_absolute_x)\/* 0x3d *\/ ADD_HANDLER (rol_absolute_x)\/* 0x3e *\/ ADD_HANDLER (invalid_opcode)\/* 0x3f *\/ ADD_HANDLER (rti_implied)\/* 0x40 *\/ ADD_HANDLER (eor_indirect_x)\/* 0x41 *\/ ADD_HANDLER (invalid_opcode)\/* 0x42 *\/ ADD_HANDLER (invalid_opcode)\/* 0x43 *\/ ADD_HANDLER (invalid_opcode)\/* 0x44 *\/ ADD_HANDLER (eor_zeropage)\/* 0x45 *\/ ADD_HANDLER (lsr_zeropage)\/* 0x46 *\/ ADD_HANDLER (invalid_opcode)\/* 0x47 *\/ ADD_HANDLER (pha_implied)\/* 0x48 *\/ ADD_HANDLER (eor_immediate)\/* 0x49 *\/ ADD_HANDLER (lsr_accumulator)\/* 0x4a *\/ ADD_HANDLER (invalid_opcode)\/* 0x4b *\/ ADD_HANDLER (jmp_absolute)\/* 0x4c *\/ ADD_HANDLER (eor_absolute)\/* 0x4d *\/ ADD_HANDLER (lsr_absolute)\/* 0x4e *\/ ADD_HANDLER (invalid_opcode)\/* 0x4f *\/ ADD_HANDLER (bvc_relative)\/* 0x50 *\/ ADD_HANDLER (eor_indirect_y)\/* 0x51 *\/ ADD_HANDLER (invalid_opcode)\/* 0x52 *\/ ADD_HANDLER (invalid_opcode)\/* 0x53 *\/ ADD_HANDLER (invalid_opcode)\/* 0x54 *\/ ADD_HANDLER (eor_zeropage_x)\/* 0x55 *\/ ADD_HANDLER (lsr_zeropage_x)\/* 0x56 *\/ ADD_HANDLER (invalid_opcode)\/* 0x57 *\/ ADD_HANDLER (cli_implied)\/* 0x58 *\/ ADD_HANDLER (eor_absolute_y)\/* 0x59 *\/ ADD_HANDLER (invalid_opcode)\/* 0x5a *\/ ADD_HANDLER (invalid_opcode)\/* 0x5b *\/ ADD_HANDLER (invalid_opcode)\/* 0x5c *\/ ADD_HANDLER (eor_absolute_x)\/* 0x5d *\/ ADD_HANDLER (lsr_absolute_x)\/* 0x5e *\/ ADD_HANDLER (invalid_opcode)\/* 0x5f *\/ ADD_HANDLER (rts_implied)\/* 0x60 *\/ ADD_HANDLER (adc_indirect_x)\/* 0x61 *\/ ADD_HANDLER (invalid_opcode)\/* 0x62 *\/ ADD_HANDLER (invalid_opcode)\/* 0x63 *\/ ADD_HANDLER (invalid_opcode)\/* 0x64 *\/ ADD_HANDLER (adc_zeropage)\/* 0x65 *\/ ADD_HANDLER (ror_zeropage)\/* 0x66 *\/ ADD_HANDLER (invalid_opcode)\/* 0x67 *\/ ADD_HANDLER (pla_implied)\/* 0x68 *\/ ADD_HANDLER (adc_immediate)\/* 0x69 *\/ ADD_HANDLER (ror_accumulator)\/* 0x6a *\/ ADD_HANDLER (invalid_opcode)\/* 0x6b *\/ ADD_HANDLER (jmp_indirect)\/* 0x6c *\/ ADD_HANDLER (adc_absolute)\/* 0x6d *\/ ADD_HANDLER (ror_absolute)\/* 0x6e *\/ ADD_HANDLER (invalid_opcode)\/* 0x6f *\/ ADD_HANDLER (bvs_relative)\/* 0x70 *\/ ADD_HANDLER (adc_indirect_y)\/* 0x71 *\/ ADD_HANDLER (invalid_opcode)\/* 0x72 *\/ ADD_HANDLER (invalid_opcode)\/* 0x73 *\/ ADD_HANDLER (invalid_opcode)\/* 0x74 *\/ ADD_HANDLER (adc_zeropage_x)\/* 0x75 *\/ ADD_HANDLER (ror_zeropage_x)\/* 0x76 *\/ ADD_HANDLER (invalid_opcode)\/* 0x77 *\/ ADD_HANDLER (sei_implied)\/* 0x78 *\/ ADD_HANDLER (adc_absolute_y)\/* 0x79 *\/ ADD_HANDLER (invalid_opcode)\/* 0x7a *\/ ADD_HANDLER (invalid_opcode)\/* 0x7b *\/ ADD_HANDLER (invalid_opcode)\/* 0x7c *\/ ADD_HANDLER (adc_absolute_x)\/* 0x7d *\/ ADD_HANDLER (ror_absolute_x)\/* 0x7e *\/ ADD_HANDLER (invalid_opcode)\/* 0x7f *\/ ADD_HANDLER (invalid_opcode)\/* 0x80 *\/ ADD_HANDLER (sta_indirect_x)\/* 0x81 *\/ ADD_HANDLER (invalid_opcode)\/* 0x82 *\/ ADD_HANDLER (invalid_opcode)\/* 0x83 *\/ ADD_HANDLER (sty_zeropage)\/* 0x84 *\/ ADD_HANDLER (sta_zeropage)\/* 0x85 *\/ ADD_HANDLER (stx_zeropage)\/* 0x86 *\/ ADD_HANDLER (invalid_opcode)\/* 0x87 *\/ ADD_HANDLER (dey_implied)\/* 0x88 *\/ ADD_HANDLER (invalid_opcode)\/* 0x89 *\/ ADD_HANDLER (txa_implied)\/* 0x8a *\/ ADD_HANDLER (invalid_opcode)\/* 0x8b *\/ ADD_HANDLER (sty_absolute)\/* 0x8c *\/ ADD_HANDLER (sta_absolute)\/* 0x8d *\/ ADD_HANDLER (stx_absolute)\/* 0x8e *\/ ADD_HANDLER (invalid_opcode)\/* 0x8f *\/ ADD_HANDLER (bcc_relative)\/* 0x90 *\/ ADD_HANDLER (sta_indirect_y)\/* 0x91 *\/ ADD_HANDLER (invalid_opcode)\/* 0x92 *\/ ADD_HANDLER (invalid_opcode)\/* 0x93 *\/ ADD_HANDLER (sty_zeropage_x)\/* 0x94 *\/ ADD_HANDLER (sta_zeropage_x)\/* 0x95 *\/ ADD_HANDLER (stx_zeropage_y)\/* 0x96 *\/ ADD_HANDLER (invalid_opcode)\/* 0x97 *\/ ADD_HANDLER (tya_implied)\/* 0x98 *\/ ADD_HANDLER (sta_absolute_y)\/* 0x99 *\/ ADD_HANDLER (txs_implied)\/* 0x9a *\/ ADD_HANDLER (invalid_opcode)\/* 0x9b *\/ ADD_HANDLER (invalid_opcode)\/* 0x9c *\/ ADD_HANDLER (sta_absolute_x)\/* 0x9d *\/ ADD_HANDLER (invalid_opcode)\/* 0x9e *\/ ADD_HANDLER (invalid_opcode)\/* 0x9f *\/ ADD_HANDLER (ldy_immediate)\/* 0xa0 *\/ ADD_HANDLER (lda_indirect_x)\/* 0xa1 *\/ ADD_HANDLER (ldx_immediate)\/* 0xa2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xa3 *\/ ADD_HANDLER (ldy_zeropage)\/* 0xa4 *\/ ADD_HANDLER (lda_zeropage)\/* 0xa5 *\/ ADD_HANDLER (ldx_zeropage)\/* 0xa6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xa7 *\/ ADD_HANDLER (tay_implied)\/* 0xa8 *\/ ADD_HANDLER (lda_immediate)\/* 0xa9 *\/ ADD_HANDLER (tax_implied)\/* 0xaa *\/ ADD_HANDLER (invalid_opcode)\/* 0xab *\/ ADD_HANDLER (ldy_absolute)\/* 0xac *\/ ADD_HANDLER (lda_absolute)\/* 0xad *\/ ADD_HANDLER (ldx_absolute)\/* 0xae *\/ ADD_HANDLER (invalid_opcode)\/* 0xaf *\/ ADD_HANDLER (bcs_relative)\/* 0xb0 *\/ ADD_HANDLER (lda_indirect_y)\/* 0xb1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xb2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xb3 *\/ ADD_HANDLER (ldy_zeropage_x)\/* 0xb4 *\/ ADD_HANDLER (lda_zeropage_x)\/* 0xb5 *\/ ADD_HANDLER (ldx_zeropage_y)\/* 0xb6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xb7 *\/ ADD_HANDLER (clv_implied)\/* 0xb8 *\/ ADD_HANDLER (lda_absolute_y)\/* 0xb9 *\/ ADD_HANDLER (tsx_implied)\/* 0xba *\/ ADD_HANDLER (invalid_opcode)\/* 0xbb *\/ ADD_HANDLER (ldy_absolute_x)\/* 0xbc *\/ ADD_HANDLER (lda_absolute_x)\/* 0xbd *\/ ADD_HANDLER (ldx_absolute_y)\/* 0xbe *\/ ADD_HANDLER (invalid_opcode)\/* 0xbf *\/ ADD_HANDLER (cpy_immediate)\/* 0xc0 *\/ ADD_HANDLER (cmp_indirect_x)\/* 0xc1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xc2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xc3 *\/ ADD_HANDLER (cpy_zeropage)\/* 0xc4 *\/ ADD_HANDLER (cmp_zeropage)\/* 0xc5 *\/ ADD_HANDLER (dec_zeropage)\/* 0xc6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xc7 *\/ ADD_HANDLER (iny_implied)\/* 0xc8 *\/ ADD_HANDLER (cmp_immediate)\/* 0xc9 *\/ ADD_HANDLER (dex_implied)\/* 0xca *\/ ADD_HANDLER (invalid_opcode)\/* 0xcb *\/ ADD_HANDLER (cpy_absolute)\/* 0xcc *\/ ADD_HANDLER (cmp_absolute)\/* 0xcd *\/ ADD_HANDLER (dec_absolute)\/* 0xce *\/ ADD_HANDLER (invalid_opcode)\/* 0xcf *\/ ADD_HANDLER (bne_relative)\/* 0xd0 *\/ ADD_HANDLER (cmp_indirect_y)\/* 0xd1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xd2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xd3 *\/ ADD_HANDLER (invalid_opcode)\/* 0xd4 *\/ ADD_HANDLER (cmp_zeropage_x)\/* 0xd5 *\/ ADD_HANDLER (dec_zeropage_x)\/* 0xd6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xd7 *\/ ADD_HANDLER (cld_implied)\/* 0xd8 *\/ ADD_HANDLER (cmp_absolute_y)\/* 0xd9 *\/ ADD_HANDLER (invalid_opcode)\/* 0xda *\/ ADD_HANDLER (invalid_opcode)\/* 0xdb *\/ ADD_HANDLER (invalid_opcode)\/* 0xdc *\/ ADD_HANDLER (cmp_absolute_x)\/* 0xdd *\/ ADD_HANDLER (dec_absolute_x)\/* 0xde *\/ ADD_HANDLER (invalid_opcode)\/* 0xdf *\/ ADD_HANDLER (cpx_immediate)\/* 0xe0 *\/ ADD_HANDLER (sbc_indirect_x)\/* 0xe1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xe2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xe3 *\/ ADD_HANDLER (cpx_zeropage)\/* 0xe4 *\/ ADD_HANDLER (sbc_zeropage)\/* 0xe5 *\/ ADD_HANDLER (inc_zeropage)\/* 0xe6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xe7 *\/ ADD_HANDLER (inx_implied)\/* 0xe8 *\/ ADD_HANDLER (sbc_immediate)\/* 0xe9 *\/ ADD_HANDLER (nop_implied)\/* 0xea *\/ ADD_HANDLER (invalid_opcode)\/* 0xeb *\/ ADD_HANDLER (cpx_absolute)\/* 0xec *\/ ADD_HANDLER (sbc_absolute)\/* 0xed *\/ ADD_HANDLER (inc_absolute)\/* 0xee *\/ ADD_HANDLER (invalid_opcode)\/* 0xef *\/ ADD_HANDLER (beq_relative)\/* 0xf0 *\/ ADD_HANDLER (sbc_indirect_y)\/* 0xf1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xf2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xf3 *\/ ADD_HANDLER (invalid_opcode)\/* 0xf4 *\/ ADD_HANDLER (sbc_zeropage_x)\/* 0xf5 *\/ ADD_HANDLER (inc_zeropage_x)\/* 0xf6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xf7 *\/ ADD_HANDLER (sed_implied)\/* 0xf8 *\/ ADD_HANDLER (sbc_absolute_y)\/* 0xf9 *\/ ADD_HANDLER (invalid_opcode)\/* 0xfa *\/ ADD_HANDLER (invalid_opcode)\/* 0xfb *\/ ADD_HANDLER (invalid_opcode)\/* 0xfc *\/ ADD_HANDLER (sbc_absolute_x)\/* 0xfd *\/ ADD_HANDLER (inc_absolute_x)\/* 0xfe *\/ ADD_HANDLER (invalid_opcode)\/* 0xff *\/ END_DEFINE_STATIC_FUNC ()  pnes_handler = nes_handler;  is_init_global_func = 1; }<\/code><\/pre>\n<p>\u042f \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0447\u0430\u043b \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0438 \u043d\u0435 \u0434\u0443\u043c\u0430\u043b \u043e \u0442\u043e\u043c, \u043d\u0430\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u043c\u043e\u0436\u0435\u0442 \u0431\u044b\u0442\u044c \u0441\u043a\u0443\u0447\u0435\u043d \u043f\u0440\u043e\u0435\u043a\u0442. \u042d\u0442\u043e \u043c\u0435\u043d\u044f \u0441\u0442\u0438\u043c\u0443\u043b\u0438\u0440\u043e\u0432\u0430\u043b\u043e. \u0412\u043e \u0432\u0442\u043e\u0440\u043e\u0439 \u0438 \u0442\u0440\u0435\u0442\u0438\u0439 \u0434\u0435\u043d\u044c \u044f \u0440\u0430\u0431\u043e\u0442\u0430\u043b \u043f\u043e 16 \u0447\u0430\u0441\u043e\u0432, \u043e\u0442\u0434\u044b\u0445\u0430\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u043a\u0430\u0436\u0434\u044b\u0435 10 \u043c\u0438\u043d\u0443\u0442. \u041f\u043e\u0442\u043e\u043c \u0434\u0432\u043e\u0435 \u0441\u0443\u0442\u043e\u043a \u043e\u0442\u043b\u0430\u0434\u043a\u0438. \u0414\u043b\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438 \u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u043b fceux. \u0412 \u043d\u0435\u043c \u044f \u043d\u0430\u0445\u043e\u0434\u0438\u043b \u043e\u0431\u043b\u0430\u0441\u0442\u044c \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0441\u043c\u043e\u0442\u0440\u0435\u043b \u043a\u0430\u043a\u0438\u0435 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u044b \u0431\u0443\u0434\u0443\u0442 \u043f\u043e\u0441\u043b\u0435 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0440\u044f\u0434\u0430 \u043e\u043f\u0435\u0440\u0430\u0446\u0438\u0439. \u0412 \u0441\u0432\u043e\u0435\u043c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0435 \u044f \u0434\u0435\u043b\u0430\u043b \u0441\u043d\u0430\u0447\u0430\u043b\u0430 \u043a\u0430\u043a \u043f\u043e\u0441\u043b\u0435\u0434\u043e\u0432\u0430\u0442\u0435\u043b\u044c\u043d\u044b\u0439 \u043e\u0442\u043b\u0430\u0434\u0447\u0438\u043a, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043c\u0435\u043d\u044f\u043b \u043d\u0430 \u0434\u0440\u0443\u0433\u043e\u0439 \u0441\u043f\u043e\u0441\u043e\u0431, \u044f \u0441\u0442\u0430\u043b \u043f\u0440\u043e\u0441\u0442\u043e \u0434\u043e\u0436\u0438\u0434\u0430\u0442\u044c\u0441\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u044f \u0434\u043e \u043e\u043f\u0440\u0435\u0434\u0435\u043b\u0435\u043d\u043d\u043e\u0439 \u0441\u0442\u0440\u043e\u043a\u0438 \u0430\u0434\u0440\u0435\u0441\u0430 \u0438 \u0432\u044b\u043a\u043b\u044e\u0447\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u044b \u0441 \u0434\u0430\u043c\u043f\u043e\u043c \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0437\u043d\u0430\u0447\u0435\u043d\u0438\u044f\u043c\u0438 \u0440\u0435\u0433\u0438\u0441\u0442\u0440\u043e\u0432. \u0420\u0430\u0431\u043e\u0442\u0430 \u043e\u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043d\u043e\u0439, \u043c\u043d\u0435 \u043d\u0440\u0430\u0432\u0438\u043b\u043e\u0441\u044c \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c \u0432 \u0442\u0430\u043a\u043e\u043c \u0440\u0443\u0441\u043b\u0435. \u0414\u0430\u0436\u0435 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e \u0440\u0430\u0437 \u043d\u0430\u0447\u0438\u043d\u0430\u043b\u0430 \u0431\u043e\u043b\u0435\u0442\u044c \u0433\u043e\u043b\u043e\u0432\u0430 \u0438 \u043f\u0440\u0438\u0445\u043e\u0434\u0438\u043b\u043e\u0441\u044c \u043d\u0430 \u043f\u043e\u043b \u0447\u0430\u0441\u0438\u043a\u0430 \u043e\u0442\u0432\u043b\u0435\u043a\u0430\u0442\u044c\u0441\u044f.<\/p>\n<p>\u041e\u0442\u0434\u0435\u043b\u044c\u043d\u043e \u0443 \u043c\u0435\u043d\u044f \u0431\u044b\u043b \u043f\u0440\u043e\u0435\u043a\u0442 \u043f\u0440\u043e\u0433\u0440\u0430\u043c\u043c\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u0443\u0435\u0442 \u044d\u0442\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443 \u0441 \u043f\u0440\u0438\u043c\u0435\u043d\u0435\u043d\u0438\u044f\u043c\u0438 SDL2. \u0412\u043e\u043e\u0431\u0449\u0435 \u043c\u043e\u044f \u043b\u044e\u0431\u0438\u043c\u0430\u044f \u0442\u0435\u043c\u0430, \u044d\u0442\u043e \u0434\u0430\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u043d\u0430 \u0432\u044b\u043f\u043e\u043b\u043d\u0435\u043d\u0438\u0435 \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u043a\u043e\u043c\u0430\u043d\u0434 10, \u0430 \u043f\u043e\u0442\u043e\u043c \u0432\u0435\u0440\u043d\u0443\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0440\u0435\u0434\u0443 \u0438\u0433\u0440\u044b, \u043d\u043e \u0432 \u0442\u043e\u0442 \u0440\u0430\u0437 \u044f \u043f\u0440\u0435\u043d\u0435\u0431\u0440\u0451\u0433 \u044d\u0442\u0438\u043c \u0438 \u0437\u0430\u043c\u0435\u0442\u0438\u043b \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u043b\u0433\u0443\u044e \u0440\u0430\u0431\u043e\u0442\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438. \u042f \u0441\u043e\u0432\u0441\u0435\u043c \u0437\u0430\u0431\u044b\u043b \u043e \u0442\u043e\u043c, \u0447\u0442\u043e \u043f\u043e\u0441\u043b\u0435 \u043a\u0430\u0436\u0434\u043e\u0433\u043e \u0432\u043e\u0437\u0432\u0440\u0430\u0449\u0435\u043d\u0438\u044f \u0438\u0437 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0443\u043f\u0440\u0430\u0432\u043b\u0435\u043d\u0438\u0435 \u043e\u0442\u0434\u0430\u0435\u0442\u0441\u044f SDL_PollEvent, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u043e\u0431\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0435\u0442 \u043d\u0430\u043a\u043e\u043f\u0438\u0432\u0448\u0438\u0435\u0441\u044f \u0441\u043e\u0431\u044b\u0442\u0438\u044f. \u041f\u043e\u044d\u0442\u043e\u043c\u0443 \u0432\u043e \u0432\u0442\u043e\u0440\u043e\u043c \u0434\u043d\u0435 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438 \u044f \u043e\u0447\u0435\u043d\u044c \u0434\u043e\u043b\u0433\u043e \u0436\u0434\u0430\u043b \u0437\u0430\u043f\u0443\u0441\u043a\u0430 \u0438\u0433\u0440\u044b, \u0442\u0430\u043a \u043a\u0430\u043a \u0442\u0430\u043c \u0431\u044b\u043b\u043e \u043c\u043d\u043e\u0433\u043e \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u0438 \u043f\u043e \u0437\u0430\u0442\u0438\u0440\u0430\u043d\u0438\u044e \u043a\u0430\u0436\u0434\u043e\u0439 \u044f\u0447\u0435\u0439\u043a\u0438 \u043f\u0430\u043c\u044f\u0442\u0438 \u043d\u0443\u043b\u044f\u043c\u0438.<\/p>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 \u0441\u0442\u0440\u043e\u0438\u0442\u044c\u0441\u044f \u043d\u0430 Makefile, \u0438 \u0435\u0441\u043b\u0438 \u043d\u0443\u0436\u043d\u043e \u0441\u043e\u0431\u0440\u0430\u0442\u044c \u0434\u043b\u044f Linux, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u0432\u044b\u043f\u043e\u043b\u043d\u0438\u0442\u044c make -f Makefile.linux. \u041f\u043e\u0437\u0436\u0435, \u043a\u0430\u043a \u043f\u043e\u0439\u043c\u0443 \u0447\u0442\u043e \u043d\u0443\u0436\u043d\u043e \u0434\u0435\u043b\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0437\u0430\u0440\u0430\u0431\u043e\u0442\u0430\u043b\u043e \u043d\u0430 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0435, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 arduino, \u0442\u043e \u0441\u0434\u0435\u043b\u0430\u044e \u0440\u0435\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e \u0438 \u0434\u043b\u044f \u043d\u0435\u0451, \u0435\u0441\u043b\u0438 \u043a\u043e\u043d\u0435\u0447\u043d\u043e \u043c\u0435\u043d\u044f \u0432\u0441\u0451 \u0435\u0449\u0451 \u0431\u0443\u0434\u0435\u0442 \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u043e\u0432\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442. \u0414\u043b\u044f Linux \u0441\u043e\u0431\u0438\u0440\u0430\u0435\u0442\u0441\u044f \u0441 Opengl. \u041c\u043e\u0436\u043d\u043e \u043f\u043e\u043c\u0435\u043d\u044f\u0442\u044c \u0441\u0442\u0438\u043b\u044c, \u0447\u0442\u043e\u0431\u044b \u0440\u0438\u0441\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0432\u043e \u0444\u0440\u0435\u0439\u043c\u0431\u0443\u0444\u0435\u0440. \u0412 \u0442\u0430\u043a\u043e\u043c \u0441\u043b\u0443\u0447\u0430\u0435 \u043c\u043e\u0436\u043d\u043e \u0432 \u0441\u0432\u043e\u0435\u0439 \u0438\u0433\u0440\u0435 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u043a\u0440\u0430\u043d \u0441\u0442\u0430\u0440\u043e\u0433\u043e \u0442\u0435\u043b\u0435\u0432\u0438\u0437\u043e\u0440\u0430, \u043a\u0443\u0434\u0430 \u0431\u0443\u0434\u0435\u0442 \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u044d\u043a\u0440\u0430\u043d \u0438\u0433\u0440\u044b.<\/p>\n<p>\u0418\u0437 \u0441\u0442\u0430\u0442\u044c\u0438 \u0437\u0434\u0435\u0448\u043d\u0435\u0439 \u0441 \u0425\u0430\u0431\u0440\u0430, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u044f\u0432\u043b\u044f\u0435\u0442\u0441\u044f \u043f\u0435\u0440\u0435\u0432\u043e\u0434\u043e\u043c, \u044f \u0443\u0437\u043d\u0430\u043b, \u0447\u0442\u043e \u043f\u0435\u0440\u0432\u044b\u0435 \u0438\u0433\u0440\u044b, \u0442\u0430\u043a\u0438\u0435 \u043a\u0430\u043a mario, \u0431\u044b\u043b\u0438 \u0431\u0435\u0437 \u043c\u0430\u043f\u043f\u0435\u0440\u043e\u0432, \u043f\u043e\u044d\u0442\u043e\u043c\u0443 \u044f \u0432\u0437\u044f\u043b \u044d\u0442\u0443 \u0438\u0433\u0440\u0443 \u0437\u0430 \u043e\u0441\u043d\u043e\u0432\u0443.<\/p>\n<p>\u0418 \u0432\u043e\u0442, \u0434\u0432\u0430 \u0434\u043d\u044f \u043e\u0442\u043b\u0430\u0434\u043a\u0438, \u0440\u0435\u0432\u0435\u0440\u0441\u0430, \u0441\u0442\u043e\u043b\u044c\u043a\u043e \u043f\u0440\u043e\u0441\u0438\u0436\u0435\u043d\u043d\u044b\u0445 \u0447\u0430\u0441\u043e\u0432 \u0438 \u044f \u0434\u043e\u0431\u0438\u043b\u0441\u044f \u043d\u0430\u0447\u0430\u043b\u044c\u043d\u043e\u0439 \u043a\u0430\u0440\u0442\u0438\u043d\u043a\u0438.<\/p>\n<figure class=\"full-width\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/getpro\/habr\/upload_files\/96c\/589\/3e3\/96c5893e36d4d780a181075308e1468a.png\" alt=\"mario bros\" title=\"mario bros\" width=\"527\" height=\"543\" data-src=\"https:\/\/habrastorage.org\/getpro\/habr\/upload_files\/96c\/589\/3e3\/96c5893e36d4d780a181075308e1468a.png\"\/><\/p>\n<div><figcaption>mario bros<\/figcaption><\/div>\n<\/figure>\n<p>\u041f\u0440\u0430\u0432\u0434\u0430 \u043e\u043d\u0430 \u043e\u0434\u043d\u043e\u0433\u043e \u0446\u0432\u0435\u0442\u0430 \u0431\u044b\u043b\u0430, \u0430 \u0432 \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0439 \u0438\u0433\u0440\u0435 \u0438\u0445 \u043d\u0435\u0441\u043a\u043e\u043b\u044c\u043a\u043e. \u0412\u0441\u0451 \u0438\u0437-\u0437\u0430 \u0442\u043e\u0433\u043e, \u0447\u0442\u043e \u044f \u043d\u0435 \u0441\u0434\u0435\u043b\u0430\u043b \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u043a\u0443 \u043f\u0430\u043b\u0438\u0442\u0440\u044b \u043f\u043e \u0442\u0430\u0439\u043b\u0430\u043c \u0434\u043b\u044f \u0444\u043e\u043d\u043e\u0432. \u041d\u0430\u0431\u043b\u044e\u0434\u0430\u043b\u0438\u0441\u044c \u0442\u0430\u043a\u0436\u0435 \u043f\u0440\u043e\u0431\u043b\u0435\u043c\u044b \u0441 \u0440\u0438\u0441\u043e\u0432\u0430\u043d\u0438\u0435\u043c, \u043d\u0430\u043f\u0440\u0438\u043c\u0435\u0440 \u0442\u0430\u043a\u043e\u0435 \u043c\u0435\u043d\u044e \u0440\u0438\u0441\u043e\u0432\u0430\u043b\u043e\u0441\u044c \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0435\u0440\u0435\u0437 \u0441\u0435\u043a\u0443\u043d\u0434\u0443, \u0435\u0441\u043b\u0438 \u0441\u0442\u0430\u0432\u0438\u0442\u044c \u0440\u0430\u043d\u044c\u0448\u0435, \u0442\u043e \u043d\u0438\u0447\u0435\u0433\u043e \u043d\u0435 \u0440\u0438\u0441\u0443\u0435\u0442\u0441\u044f. \u042d\u043c\u0443\u043b\u044f\u0446\u0438\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0436\u0435\u043b\u0435\u0437\u0430 \u0442\u0430 \u0435\u0449\u0451 \u0440\u0430\u0431\u043e\u0442\u0451\u043d\u043a\u0430. \u041d\u0443\u0436\u043d\u043e \u043d\u0430\u0443\u0447\u0438\u0442\u044c\u0441\u044f \u0441\u0447\u0438\u0442\u0430\u0442\u044c \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u044b\u0435 \u0442\u0430\u0439\u043c\u0438\u043d\u0433\u0438, \u0432\u0441\u0451 \u0435\u0441\u0442\u044c \u0432 \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u0438 \u0438 \u044f \u043d\u0430\u0443\u0447\u0443\u0441\u044c \u0435\u0451 \u043f\u0440\u0430\u0432\u0438\u043b\u044c\u043d\u043e \u0447\u0438\u0442\u0430\u0442\u044c, \u0447\u0442\u043e\u0431\u044b \u0431\u044b\u043b\u0430 \u043f\u043e\u043b\u044c\u0437\u0430.<\/p>\n<p>\u041a\u0430\u043a \u044f \u043e\u0440\u0433\u0430\u043d\u0438\u0437\u043e\u0432\u0430\u043b \u043a\u043e\u0434 \u0432 \u043e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0430\u0445. \u041e\u0431\u0440\u0430\u0431\u043e\u0442\u0447\u0438\u043a\u0438 \u0443 \u043c\u0435\u043d\u044f \u0432 \u0432\u0438\u0434\u0435 \u043c\u0430\u043a\u0440\u043e\u0441\u043e\u0432. \u0412\u043e\u0442 \u043f\u0440\u0438\u043c\u0435\u0440\u044b \u043a\u0430\u043a \u0432\u044b\u0433\u043b\u044f\u0434\u044f\u0442 \u0444\u0443\u043d\u043a\u0446\u0438\u0438.<\/p>\n<pre><code class=\"cpp\">#define ADC_ACTS(_flags, reg, calc, eq, cycles, is_off, _bytes) { \\         struct CPUNes *cpu = &amp;emu-&gt;cpu; \\         uint8_t flags = _flags; \\         uint8_t ret = 0; \\         ret = calc; \\         uint8_t carry = 0; \\         if (cpu-&gt;P &amp; STATUS_FLAG_CF) carry = 1; \\         cpu-&gt;P &amp;= ~(flags); \\         CHECK_FLAGS (flags, reg, ret); \\         reg eq ret; \\         reg += carry; \\         wait_cycles (emu, cycles); \\         emu-&gt;cpu.PC += _bytes; \\ }  #define REPETITIVE_ACTS(_flags, reg, calc, eq, cycles, is_off, _bytes) { \\         struct CPUNes *cpu = &amp;emu-&gt;cpu; \\         uint8_t flags = _flags; \\         uint8_t ret = 0; \\         ret = calc; \\         uint8_t carry = 0; \\         if (cpu-&gt;P &amp; STATUS_FLAG_CF) carry = 1; \\         cpu-&gt;P &amp;= ~(flags); \\         CHECK_FLAGS (flags, reg, ret); \\         reg eq ret; \\         wait_cycles (emu, cycles); \\         emu-&gt;cpu.PC += _bytes; \\   void sta_zeropage (struct NESEmu *emu) {         ST_ACTS(cpu-&gt;A, zeropage (emu), 3, 0, 2); }  void stx_zeropage (struct NESEmu *emu) {         ST_ACTS(cpu-&gt;X, zeropage (emu), 3, 0, 2); }  void dey_implied (struct NESEmu *emu) {         REPETITIVE_ACTS (STATUS_FLAG_NF|STATUS_FLAG_ZF, cpu-&gt;Y, --cpu-&gt;Y, =, 2, 0, 1); }  void ror_absolute_x (struct NESEmu *emu) {         uint16_t addr = absolute_x (emu);         if (addr &lt; 0x800) {                 ROR_ACTS (STATUS_FLAG_NF|STATUS_FLAG_ZF|STATUS_FLAG_CF, emu-&gt;ram[absolute_x (emu)], 7, 0, 3);         } else {                 ROR_ACTS (STATUS_FLAG_NF|STATUS_FLAG_ZF|STATUS_FLAG_CF, emu-&gt;mem[absolute_x (emu)], 7, 0, 3);         } } <\/code><\/pre>\n<p>\u0421\u0430\u043c\u0430 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0430 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 \u043f\u043e\u043a\u0430 \u0431\u043e\u043b\u044c\u0448\u0430\u044f. \u042f \u0445\u043e\u0442\u0435\u043b \u043e\u0431\u043e\u0439\u0442\u0438\u0441\u044c \u043e\u0442 \u0432\u044b\u0434\u0435\u043b\u0435\u043d\u0438\u044f \u043f\u0430\u043c\u044f\u0442\u0438, \u0432\u043d\u0443\u0442\u0440\u0438 \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u044b, \u043f\u043e\u044d\u0442\u043e\u043c\u0443, \u0435\u0441\u043b\u0438 \u043a\u0442\u043e-\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u0438\u0441\u043f\u043e\u043b\u044c\u0437\u043e\u0432\u0430\u0442\u044c \u0432 \u0441\u0432\u043e\u0438\u0445 \u043a\u043b\u0430\u0441\u0441\u0430\u0445, \u0442\u043e \u043c\u043e\u0436\u043d\u043e \u043f\u0440\u043e\u0441\u0442\u043e \u0432\u044b\u0434\u0435\u043b\u0438\u0442\u044c \u043e\u0434\u043d\u0443 \u043f\u0430\u043c\u044f\u0442\u044c \u0441\u0442\u0440\u0443\u043a\u0442\u0443\u0440\u0435 \u0438 \u0432\u0441\u0451, \u043f\u0430\u043c\u044f\u0442\u0438 \u0432\u0441\u0451-\u0442\u0430\u043a\u0438 \u043e\u043d\u0430 \u043f\u043e\u0433\u043b\u043e\u0449\u0430\u0435\u0442 \u0442\u043e\u0436\u0435 \u043c\u043d\u043e\u0433\u043e. \u042f \u043f\u043e\u043a\u0430 \u043f\u044b\u0442\u0430\u044e\u0441\u044c \u0441\u0432\u044f\u0437\u0430\u0442\u044c \u0440\u0430\u0437\u043d\u044b\u0435 \u0443\u0440\u043e\u0432\u043d\u0438 \u0443\u0440\u043e\u0432\u043d\u0435\u0439 \u043f\u0430\u043c\u044f\u0442\u0438 \u0438 \u0431\u044b\u0432\u0430\u043b\u043e, \u0447\u0442\u043e \u0434\u0435\u043b\u0430\u043b \u0431\u0430\u0433\u043e\u0432\u0430\u043d\u043d\u044b\u0439 \u043a\u043e\u0434.<\/p>\n<p>\u041f\u043e \u044d\u0442\u043e\u043c\u0443 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0443 \u044f \u0440\u0435\u0448\u0438\u043b \u0432\u044b\u043f\u0443\u0441\u043a\u0430\u0442\u044c \u0440\u044f\u0434 \u043a\u043e\u0440\u043e\u0442\u043a\u0438\u0445 \u0441\u0442\u0430\u0442\u0435\u0439, \u0447\u0442\u043e\u0431\u044b \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c \u0441\u043c\u043e\u0433 \u0434\u043e\u0447\u0438\u0442\u0430\u0442\u044c \u0434\u043e \u043a\u043e\u043d\u0446\u0430 \u0438 \u0432\u043e\u0437\u043c\u043e\u0436\u043d\u043e \u0442\u043e\u0436\u0435 \u0432\u0434\u043e\u0445\u043d\u043e\u0432\u0438\u0442\u044c\u0441\u044f \u043a\u0430\u043a\u043e\u0439-\u0442\u043e \u0440\u0430\u0431\u043e\u0442\u043e\u0439. \u042f \u043d\u0435 \u043f\u0440\u0435\u0442\u0435\u043d\u0434\u0443\u044e \u043d\u0430 \u044d\u043a\u0441\u043f\u0435\u0440\u0442\u043d\u043e\u0441\u0442\u044c \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u043e\u0432, \u0442\u0430\u043a \u043a\u0430\u043a \u044d\u0442\u043e \u043c\u043e\u0439 \u0432\u0442\u043e\u0440\u043e\u0439 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u043f\u043e \u0432\u0441\u0435\u0439 \u0432\u0438\u0434\u0438\u043c\u043e\u0441\u0442\u0438 \u043c\u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u0437\u0430\u043a\u043e\u043d\u0447\u0438\u0442\u044c, \u043f\u0435\u0440\u0432\u044b\u0439 \u0431\u044b\u043b \u043c\u043e\u0439 \u0432\u044b\u043c\u044b\u0448\u043b\u0435\u043d\u043d\u044b\u0439 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440, \u043d\u043e \u0434\u043b\u044f \u0440\u0435\u0430\u043b\u044c\u043d\u043e\u0433\u043e \u0436\u0435\u043b\u0435\u0437\u0430 \u0434\u0435\u043b\u0430\u0442\u044c \u043d\u0430\u043c\u043d\u043e\u0433\u043e \u0442\u0440\u0443\u0434\u043d\u0435\u0435, \u0442\u0443\u0442 \u0443\u0436\u0435 \u043d\u0435\u0442 \u043c\u0435\u0441\u0442\u0430 \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0443, \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u0443 \u043e\u0441\u0442\u0430\u0435\u0442\u0441\u044f \u0442\u043e\u043b\u044c\u043a\u043e \u0447\u0430\u0441\u0442\u044c \u0441 \u043e\u043f\u0442\u0438\u043c\u0438\u0437\u0430\u0446\u0438\u0435\u0439 \u0440\u0430\u0431\u043e\u0442\u044b \u043a\u043e\u0434\u0430. \ud83d\ude42<\/p>\n<p>\u0412 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0435\u0439 \u0441\u0442\u0430\u0442\u044c\u0435 \u044f \u0443\u0436\u0435 \u043f\u043e\u0441\u0442\u0430\u0440\u0430\u044e\u0441\u044c \u043f\u043e\u043a\u0430\u0437\u0430\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0446\u0438\u044e \u0438\u0433\u0440\u044b, \u0432 \u043a\u043e\u0442\u043e\u0440\u043e\u0439 \u043a\u043e\u043c\u043f\u044c\u044e\u0442\u0435\u0440 \u0438\u0433\u0440\u0430\u0435\u0442 \u0441\u0430\u043c, \u0432 \u044d\u0442\u043e\u0439 \u0438\u0433\u0440\u0435 \u044d\u0442\u043e \u043f\u0440\u043e\u0438\u0441\u0445\u043e\u0434\u0438\u0442 \u0432\u043e \u0432\u0440\u0435\u043c\u044f \u0437\u0430\u0441\u0442\u0430\u0432\u043a\u0438.<\/p>\n<p>\u041f\u0440\u043e\u0435\u043a\u0442 \u043f\u0443\u0448\u0438\u0442\u044c\u0441\u044f \u0432 \u0434\u0432\u0435 \u0440\u0435\u043f\u043e\u0437\u0438\u0442\u043e\u0440\u0438\u044f, \u043e\u0434\u0438\u043d \u043d\u0430 github, \u0434\u0440\u0443\u0433\u043e\u0439 \u043d\u0430 gitverse.<\/p>\n<p><a href=\"https:\/\/github.com\/xverizex\/libnes\" rel=\"noopener noreferrer nofollow\">\u0414\u0430\u043c \u0441\u0441\u044b\u043b\u043a\u0443 \u043d\u0430 github<\/a><\/p>\n<p>\u0415\u0441\u043b\u0438 \u043c\u043d\u0435 \u0443\u0434\u0430\u0441\u0442\u0441\u044f \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u044d\u0442\u0443 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0443, \u0442\u043e \u044f \u043f\u0440\u0438\u0441\u0442\u0443\u043f\u043b\u044e \u043a \u043a\u043e\u043c\u043f\u0438\u043b\u044f\u0442\u043e\u0440\u0443 \u0434\u043b\u044f NES, \u0430 \u043f\u043e\u0442\u043e\u043c \u043c\u043e\u0436\u043d\u043e \u0434\u043e\u043f\u043e\u043b\u043d\u0438\u0442\u044c \u043c\u043e\u044e \u0441\u0442\u0430\u0440\u0443\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u043f\u043e\u043a\u0430 \u0447\u0442\u043e \u0442\u043e\u043b\u044c\u043a\u043e \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c \u0434\u043b\u044f NES.<\/p>\n<p><a href=\"https:\/\/flathub.org\/apps\/io.github.xverizex.RetroSpriteEditor\" rel=\"noopener noreferrer nofollow\">https:\/\/flathub.org\/apps\/io.github.xverizex.RetroSpriteEditor<\/a><\/p>\n<p>\u0414\u0430\u043b\u0435\u0435 \u044f \u0445\u043e\u0447\u0443 \u0441\u0434\u0435\u043b\u0430\u0442\u044c \u043f\u043e\u043b\u043d\u043e\u0446\u0435\u043d\u043d\u0443\u044e \u0441\u0442\u0443\u0434\u0438\u044e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0438, \u0433\u0434\u0435 \u043c\u043e\u0436\u043d\u043e \u0431\u0443\u0434\u0435\u0442 \u0438 \u0440\u0438\u0441\u043e\u0432\u0430\u0442\u044c, \u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434 \u0438 \u043e\u0442\u043b\u0430\u0436\u0438\u0432\u0430\u0442\u044c \u0435\u0433\u043e. \u041d\u0430\u0434\u0435\u044e\u0441\u044c, \u0447\u0442\u043e \u043c\u043d\u0435 \u0431\u0443\u0434\u0435\u0442 \u0432 \u0440\u0430\u0434\u043e\u0441\u0442\u044c \u0437\u0430\u043d\u0438\u043c\u0430\u0442\u044c\u0441\u044f \u044d\u0442\u0438\u043c.<\/p>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/876784\/\"> https:\/\/habr.com\/ru\/articles\/876784\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-2\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\">\n<p>\u0414\u043e\u0431\u0440\u043e \u043f\u043e\u0436\u0430\u043b\u043e\u0432\u0430\u0442\u044c \u0434\u043e\u0440\u043e\u0433\u043e\u0439 \u0447\u0438\u0442\u0430\u0442\u0435\u043b\u044c. \u0421\u0435\u0433\u043e\u0434\u043d\u044f \u044f \u0440\u0430\u0441\u0441\u043a\u0430\u0436\u0443 \u043e \u043f\u0440\u043e\u0435\u043a\u0442\u0435, \u043a\u043e\u0442\u043e\u0440\u044b\u0439 \u044f \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u044e \u043d\u0435\u043a\u043e\u0442\u043e\u0440\u043e\u0435 \u0432\u0440\u0435\u043c\u044f. \u042d\u0442\u043e \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 NES. \u0421\u043e\u0437\u0434\u0430\u044e \u0435\u0433\u043e \u0432 \u0432\u0438\u0434\u0435 \u0431\u0438\u0431\u043b\u0438\u043e\u0442\u0435\u043a\u0438, \u0447\u0442\u043e\u0431\u044b \u043c\u043e\u0436\u043d\u043e \u0431\u044b\u043b\u043e \u0434\u043e\u0431\u0430\u0432\u0438\u0442\u044c \u0435\u0433\u043e \u0432 \u0441\u0432\u043e\u044e \u0441\u0431\u043e\u0440\u043a\u0443 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430, \u0438\u0433\u0440\u044b \u0438\u043b\u0438 \u0437\u0430\u043b\u0438\u0442\u044c \u0432 \u043c\u0438\u043a\u0440\u043e\u043a\u043e\u043d\u0442\u0440\u043e\u043b\u043b\u0451\u0440. \u0412 \u0446\u0435\u043b\u043e\u043c, \u043c\u0435\u043d\u044f \u0442\u044f\u043d\u0435\u0442 \u0438\u043c\u0435\u043d\u043d\u043e \u0432 \u044d\u043b\u0435\u043a\u0442\u0440\u043e\u043d\u0438\u043a\u0443, \u043a\u043e\u0442\u043e\u0440\u0443\u044e \u044f \u043c\u0435\u0447\u0442\u0430\u044e \u043f\u043e\u0441\u0442\u0438\u0447\u044c \u0443\u0436\u0435 \u043d\u0435 \u043e\u0434\u0438\u043d \u0433\u043e\u0434. \u0421\u0430\u043c\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u0438\u0433\u0440 \u0434\u043b\u044f NES \u043c\u0435\u043d\u044f \u043d\u0435 \u043e\u0447\u0435\u043d\u044c \u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0443\u0435\u0442, \u0434\u0430 \u0438 \u0432 \u0438\u0433\u0440\u044b \u044f \u043d\u0435 \u043e\u0441\u043e\u0431\u043e \u043b\u044e\u0431\u043b\u044e \u043f\u043e\u0438\u0433\u0440\u0430\u0442\u044c, \u0430 \u0432\u043e\u0442 \u0441\u043e\u0437\u0434\u0430\u0432\u0430\u0442\u044c \u043a\u0430\u043a\u0438\u0435-\u0442\u043e \u0441\u043b\u043e\u0436\u043d\u044b\u0435 \u0432\u0435\u0449\u0438 \u043c\u043d\u0435 \u0445\u043e\u0447\u0435\u0442\u0441\u044f \u0432\u0441\u0451 \u0431\u043e\u043b\u044c\u0448\u0435 \u0438 \u0431\u043e\u043b\u044c\u0448\u0435, \u0447\u0435\u043c \u0432\u043e\u0437\u0438\u0442\u044c\u0441\u044f \u0441 \u043f\u0440\u043e\u0441\u0442\u044b\u043c\u0438 \u0437\u0430\u0434\u0430\u0447\u0430\u043c\u0438. \u0414\u043e \u044d\u0442\u043e\u0433\u043e \u044f \u043d\u0430\u0447\u0430\u043b \u0440\u0430\u0437\u0440\u0430\u0431\u0430\u0442\u044b\u0432\u0430\u0442\u044c \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440 i386 intel \u043f\u0440\u043e\u0446\u0435\u0441\u0441\u043e\u0440\u0430, \u043d\u043e \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u043d\u0435 \u0445\u0432\u0430\u0442\u0430\u0435\u0442 \u0441\u0438\u043b \u043f\u0440\u043e\u0434\u043e\u043b\u0436\u0430\u0442\u044c \u043f\u0440\u043e\u0435\u043a\u0442 \u0438 \u043d\u0443\u0436\u043d\u043e \u0432\u044b\u0431\u0440\u0430\u0442\u044c \u0447\u0442\u043e-\u0442\u043e \u0431\u043e\u043b\u0435\u0435 \u043f\u0440\u043e\u0441\u0442\u043e\u0435, \u0438 \u044d\u0442\u043e \u043f\u0440\u043e\u0441\u0442\u043e\u0435 \u043a\u0430\u043a \u043c\u043d\u0435 \u043a\u0430\u0437\u0430\u043b\u043e\u0441\u044c, \u0431\u044b\u043b\u0430 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0430 \u044d\u043c\u0443\u043b\u044f\u0442\u043e\u0440\u0430 NES. \u0418 \u0442\u0430\u043a \u044f \u043d\u0430\u0447\u0430\u043b \u0435\u0433\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443.<\/p>\n<p>\u041f\u0435\u0440\u0432\u044b\u043c \u0434\u0435\u043b\u043e\u043c \u044f \u043d\u0430\u0448\u0435\u043b \u0434\u043e\u043a\u0443\u043c\u0435\u043d\u0442\u0430\u0446\u0438\u044e \u0438 \u043f\u0440\u0438\u043d\u044f\u043b\u0441\u044f \u0440\u0430\u0441\u043f\u0438\u0441\u044b\u0432\u0430\u0442\u044c \u0432 switch case &#8230; \u043e\u043f\u043a\u043e\u0434\u044b. \u0412 \u043e\u0442\u043b\u0438\u0447\u0438\u0438 \u043e\u0442 i386 \u0437\u0434\u0435\u0441\u044c \u043a\u0430\u0436\u0434\u044b\u0439 \u043e\u043f\u043a\u043e\u0434 \u0438\u043c\u0435\u043b \u043e\u0434\u0438\u043d \u0431\u0430\u0439\u0442, \u0447\u0442\u043e \u0443\u043f\u0440\u043e\u0449\u0430\u043b\u043e \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0443. \u041d\u0430\u0447\u0430\u043b \u044d\u0442\u043e\u0442 \u043f\u0440\u043e\u0435\u043a\u0442 \u0432 \u043e\u043a\u0442\u044f\u0431\u0440\u0435 2024 \u0433\u043e\u0434\u0430, \u0430 \u043f\u043e\u0442\u043e\u043c \u0437\u0430\u0431\u0440\u043e\u0441\u0438\u043b. \u041a\u043e\u0433\u0434\u0430 \u0432\u043d\u043e\u0432\u044c \u0437\u0430\u043d\u044f\u043b\u0441\u044f \u0438\u043c, \u0442\u043e \u044f \u043f\u043e\u0447\u0443\u0432\u0441\u0442\u0432\u043e\u0432\u0430\u043b, \u0447\u0442\u043e \u0443 \u043c\u0435\u043d\u044f \u043f\u0440\u043e\u043f\u0430\u043b\u043e \u0442\u0430\u043a\u043e\u0435 \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435, \u043a\u043e\u0433\u0434\u0430 \u0442\u0435\u0431\u0435 \u043d\u0435\u0438\u043d\u0442\u0435\u0440\u0435\u0441\u0435\u043d \u043f\u0440\u043e\u0435\u043a\u0442, \u043f\u043e\u0442\u043e\u043c\u0443 \u0447\u0442\u043e \u043e\u043d \u0441\u043a\u0443\u0447\u043d\u044b\u0439 \u0432 \u0440\u0430\u0437\u0440\u0430\u0431\u043e\u0442\u043a\u0435. \u042d\u0442\u043e \u043e\u0449\u0443\u0449\u0435\u043d\u0438\u0435 \u043f\u0440\u043e\u043f\u0430\u043b\u043e \u0438 \u044f \u043f\u0440\u043e\u0441\u0442\u043e \u043d\u0430\u0447\u0430\u043b \u043f\u0438\u0441\u0430\u0442\u044c \u0438 \u043f\u0438\u0441\u0430\u0442\u044c \u043a\u043e\u0434. \u0412 \u043f\u0435\u0440\u0432\u044b\u0439 \u0434\u0435\u043d\u044c \u044f \u043d\u0430\u043f\u0438\u0441\u0430\u043b \u0432\u0441\u0435 case \u0432 switch, \u0430 \u043f\u043e\u0442\u043e\u043c \u043f\u043e\u043d\u044f\u043b, \u0447\u0442\u043e \u044d\u0442\u043e \u0431\u0443\u0434\u0435\u0442 \u043c\u0435\u0434\u043b\u0435\u043d\u043d\u043e \u0440\u0430\u0431\u043e\u0442\u0430\u0442\u044c. \u0422\u043e\u0433\u0434\u0430 \u044f \u0434\u0443\u043c\u0430\u043b \u0442\u0430\u043a, \u0432 switch \u0432\u044b\u0431\u043e\u0440\u043a\u0430 \u0438\u0434\u0435\u0442 \u043f\u043e \u0431\u0438\u043d\u0430\u0440\u043d\u043e\u043c\u0443 \u043f\u043e\u0438\u0441\u043a\u0443, \u043d\u043e \u044f \u043d\u0435 \u0431\u044b\u043b \u0443\u0432\u0435\u0440\u0435\u043d \u0432 \u0442\u043e\u043c, \u0431\u0443\u0434\u0435\u0442 \u043b\u0438 \u0442\u0430\u043a\u043e\u0439 \u0436\u0435 \u0432\u0435\u0441\u0442\u0438\u0441\u044c \u043f\u043e\u0438\u0441\u043a, \u0435\u0441\u043b\u0438 \u0447\u0438\u0441\u043b\u0430 \u0431\u0443\u0434\u0443\u0442 \u043f\u0435\u0440\u0435\u043c\u0435\u0448\u0430\u043d\u044b \u0432 case. <\/p>\n<p>\u041d\u0430 \u0441\u043b\u0435\u0434\u0443\u044e\u0449\u0438\u0439 \u0434\u0435\u043d\u044c \u044f \u0440\u0435\u0448\u0438\u043b \u043f\u0435\u0440\u0435\u043f\u0438\u0441\u0430\u0442\u044c \u044d\u0442\u043e \u0442\u0432\u043e\u0440\u0447\u0435\u0441\u0442\u0432\u043e \u0442\u0430\u043a, \u0447\u0442\u043e\u0431\u044b \u043b\u044e\u0431\u043e\u0439 \u043e\u043f\u043a\u043e\u0434 \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u043b\u0441\u044f \u0432\u0441\u0435\u0433\u043e \u043b\u0438\u0448\u044c \u0432\u043e\u0442 \u0442\u0430\u043a.<\/p>\n<pre><code class=\"cpp\">pnes_handler [emu-&gt;mem[emu-&gt;cpu.PC]] (emu);<\/code><\/pre>\n<p>\u042d\u0442\u043e \u0441\u0442\u043e\u0438\u043b\u043e \u0442\u043e\u0433\u043e, \u044f \u043f\u043e\u0442\u0440\u0430\u0442\u0438\u043b \u043e\u043a\u043e\u043b\u043e \u0447\u0430\u0441\u0430 \u0438\u043b\u0438 \u0434\u0432\u0443\u0445, \u043f\u043e\u043a\u0430 \u0432\u043f\u0438\u0441\u044b\u0432\u0430\u043b \u0432\u0441\u0435 256 \u0441\u0442\u0440\u043e\u043a\u0438 \u043a\u043e\u0434\u0430 \u0432 \u0438\u043d\u0438\u0446\u0438\u0430\u043b\u0438\u0437\u0430\u0446\u0438\u044e, \u043a\u043e\u0442\u043e\u0440\u0430\u044f \u0432\u044b\u043f\u043e\u043b\u043d\u044f\u0435\u0442\u0441\u044f \u043e\u0434\u0438\u043d \u0440\u0430\u0437. \u0412\u043e\u0442 \u043e\u043d\u0430.<\/p>\n<pre><code class=\"cpp\">if (!is_init_global_func) {  DEFINE_STATIC_FUNC_NES_HANDLER () ADD_HANDLER (brk_implied)\/* 0x00 *\/ ADD_HANDLER (ora_indirect_x)\/* 0x01 *\/ ADD_HANDLER (invalid_opcode)\/* 0x02 *\/ ADD_HANDLER (invalid_opcode)\/* 0x03 *\/ ADD_HANDLER (invalid_opcode)\/* 0x04 *\/ ADD_HANDLER (ora_zeropage)\/* 0x05 *\/ ADD_HANDLER (asl_zeropage)\/* 0x06 *\/ ADD_HANDLER (invalid_opcode)\/* 0x07 *\/ ADD_HANDLER (php_implied)\/* 0x08 *\/ ADD_HANDLER (ora_immediate)\/* 0x09 *\/ ADD_HANDLER (asl_accumulator)\/* 0x0a *\/ ADD_HANDLER (invalid_opcode)\/* 0x0b *\/ ADD_HANDLER (invalid_opcode)\/* 0x0c *\/ ADD_HANDLER (ora_absolute)\/* 0x0d *\/ ADD_HANDLER (asl_absolute)\/* 0x0e *\/ ADD_HANDLER (invalid_opcode)\/* 0x0f *\/ ADD_HANDLER (bpl_relative)\/* 0x10 *\/ ADD_HANDLER (ora_indirect_y)\/* 0x11 *\/ ADD_HANDLER (invalid_opcode)\/* 0x12 *\/ ADD_HANDLER (invalid_opcode)\/* 0x13 *\/ ADD_HANDLER (invalid_opcode)\/* 0x14 *\/ ADD_HANDLER (ora_zeropage_x)\/* 0x15 *\/ ADD_HANDLER (asl_zeropage_x)\/* 0x16 *\/ ADD_HANDLER (invalid_opcode)\/* 0x17 *\/ ADD_HANDLER (clc_implied)\/* 0x18 *\/ ADD_HANDLER (ora_absolute_y)\/* 0x19 *\/ ADD_HANDLER (invalid_opcode)\/* 0x1a *\/ ADD_HANDLER (invalid_opcode)\/* 0x1b *\/ ADD_HANDLER (invalid_opcode)\/* 0x1c *\/ ADD_HANDLER (ora_absolute_x)\/* 0x1d *\/ ADD_HANDLER (asl_absolute_x)\/* 0x1e *\/ ADD_HANDLER (invalid_opcode)\/* 0x1f *\/ ADD_HANDLER (jsr_absolute)\/* 0x20 *\/ ADD_HANDLER (and_indirect_x)\/* 0x21 *\/ ADD_HANDLER (invalid_opcode)\/* 0x22 *\/ ADD_HANDLER (invalid_opcode)\/* 0x23 *\/ ADD_HANDLER (bit_zeropage)\/* 0x24 *\/ ADD_HANDLER (and_zeropage)\/* 0x25 *\/ ADD_HANDLER (rol_zeropage)\/* 0x26 *\/ ADD_HANDLER (invalid_opcode)\/* 0x27 *\/ ADD_HANDLER (plp_implied)\/* 0x28 *\/ ADD_HANDLER (and_immediate)\/* 0x29 *\/ ADD_HANDLER (rol_accumulator)\/* 0x2a *\/ ADD_HANDLER (invalid_opcode)\/* 0x2b *\/ ADD_HANDLER (bit_absolute)\/* 0x2c *\/ ADD_HANDLER (and_absolute)\/* 0x2d *\/ ADD_HANDLER (rol_absolute)\/* 0x2e *\/ ADD_HANDLER (invalid_opcode)\/* 0x2f *\/ ADD_HANDLER (bmi_relative)\/* 0x30 *\/ ADD_HANDLER (and_indirect_y)\/* 0x31 *\/ ADD_HANDLER (invalid_opcode)\/* 0x32 *\/ ADD_HANDLER (invalid_opcode)\/* 0x33 *\/ ADD_HANDLER (invalid_opcode)\/* 0x34 *\/ ADD_HANDLER (and_zeropage_x)\/* 0x35 *\/ ADD_HANDLER (rol_zeropage_x)\/* 0x36 *\/ ADD_HANDLER (invalid_opcode)\/* 0x37 *\/ ADD_HANDLER (sec_implied)\/* 0x38 *\/ ADD_HANDLER (and_absolute_y)\/* 0x39 *\/ ADD_HANDLER (invalid_opcode)\/* 0x3a *\/ ADD_HANDLER (invalid_opcode)\/* 0x3b *\/ ADD_HANDLER (invalid_opcode)\/* 0x3c *\/ ADD_HANDLER (and_absolute_x)\/* 0x3d *\/ ADD_HANDLER (rol_absolute_x)\/* 0x3e *\/ ADD_HANDLER (invalid_opcode)\/* 0x3f *\/ ADD_HANDLER (rti_implied)\/* 0x40 *\/ ADD_HANDLER (eor_indirect_x)\/* 0x41 *\/ ADD_HANDLER (invalid_opcode)\/* 0x42 *\/ ADD_HANDLER (invalid_opcode)\/* 0x43 *\/ ADD_HANDLER (invalid_opcode)\/* 0x44 *\/ ADD_HANDLER (eor_zeropage)\/* 0x45 *\/ ADD_HANDLER (lsr_zeropage)\/* 0x46 *\/ ADD_HANDLER (invalid_opcode)\/* 0x47 *\/ ADD_HANDLER (pha_implied)\/* 0x48 *\/ ADD_HANDLER (eor_immediate)\/* 0x49 *\/ ADD_HANDLER (lsr_accumulator)\/* 0x4a *\/ ADD_HANDLER (invalid_opcode)\/* 0x4b *\/ ADD_HANDLER (jmp_absolute)\/* 0x4c *\/ ADD_HANDLER (eor_absolute)\/* 0x4d *\/ ADD_HANDLER (lsr_absolute)\/* 0x4e *\/ ADD_HANDLER (invalid_opcode)\/* 0x4f *\/ ADD_HANDLER (bvc_relative)\/* 0x50 *\/ ADD_HANDLER (eor_indirect_y)\/* 0x51 *\/ ADD_HANDLER (invalid_opcode)\/* 0x52 *\/ ADD_HANDLER (invalid_opcode)\/* 0x53 *\/ ADD_HANDLER (invalid_opcode)\/* 0x54 *\/ ADD_HANDLER (eor_zeropage_x)\/* 0x55 *\/ ADD_HANDLER (lsr_zeropage_x)\/* 0x56 *\/ ADD_HANDLER (invalid_opcode)\/* 0x57 *\/ ADD_HANDLER (cli_implied)\/* 0x58 *\/ ADD_HANDLER (eor_absolute_y)\/* 0x59 *\/ ADD_HANDLER (invalid_opcode)\/* 0x5a *\/ ADD_HANDLER (invalid_opcode)\/* 0x5b *\/ ADD_HANDLER (invalid_opcode)\/* 0x5c *\/ ADD_HANDLER (eor_absolute_x)\/* 0x5d *\/ ADD_HANDLER (lsr_absolute_x)\/* 0x5e *\/ ADD_HANDLER (invalid_opcode)\/* 0x5f *\/ ADD_HANDLER (rts_implied)\/* 0x60 *\/ ADD_HANDLER (adc_indirect_x)\/* 0x61 *\/ ADD_HANDLER (invalid_opcode)\/* 0x62 *\/ ADD_HANDLER (invalid_opcode)\/* 0x63 *\/ ADD_HANDLER (invalid_opcode)\/* 0x64 *\/ ADD_HANDLER (adc_zeropage)\/* 0x65 *\/ ADD_HANDLER (ror_zeropage)\/* 0x66 *\/ ADD_HANDLER (invalid_opcode)\/* 0x67 *\/ ADD_HANDLER (pla_implied)\/* 0x68 *\/ ADD_HANDLER (adc_immediate)\/* 0x69 *\/ ADD_HANDLER (ror_accumulator)\/* 0x6a *\/ ADD_HANDLER (invalid_opcode)\/* 0x6b *\/ ADD_HANDLER (jmp_indirect)\/* 0x6c *\/ ADD_HANDLER (adc_absolute)\/* 0x6d *\/ ADD_HANDLER (ror_absolute)\/* 0x6e *\/ ADD_HANDLER (invalid_opcode)\/* 0x6f *\/ ADD_HANDLER (bvs_relative)\/* 0x70 *\/ ADD_HANDLER (adc_indirect_y)\/* 0x71 *\/ ADD_HANDLER (invalid_opcode)\/* 0x72 *\/ ADD_HANDLER (invalid_opcode)\/* 0x73 *\/ ADD_HANDLER (invalid_opcode)\/* 0x74 *\/ ADD_HANDLER (adc_zeropage_x)\/* 0x75 *\/ ADD_HANDLER (ror_zeropage_x)\/* 0x76 *\/ ADD_HANDLER (invalid_opcode)\/* 0x77 *\/ ADD_HANDLER (sei_implied)\/* 0x78 *\/ ADD_HANDLER (adc_absolute_y)\/* 0x79 *\/ ADD_HANDLER (invalid_opcode)\/* 0x7a *\/ ADD_HANDLER (invalid_opcode)\/* 0x7b *\/ ADD_HANDLER (invalid_opcode)\/* 0x7c *\/ ADD_HANDLER (adc_absolute_x)\/* 0x7d *\/ ADD_HANDLER (ror_absolute_x)\/* 0x7e *\/ ADD_HANDLER (invalid_opcode)\/* 0x7f *\/ ADD_HANDLER (invalid_opcode)\/* 0x80 *\/ ADD_HANDLER (sta_indirect_x)\/* 0x81 *\/ ADD_HANDLER (invalid_opcode)\/* 0x82 *\/ ADD_HANDLER (invalid_opcode)\/* 0x83 *\/ ADD_HANDLER (sty_zeropage)\/* 0x84 *\/ ADD_HANDLER (sta_zeropage)\/* 0x85 *\/ ADD_HANDLER (stx_zeropage)\/* 0x86 *\/ ADD_HANDLER (invalid_opcode)\/* 0x87 *\/ ADD_HANDLER (dey_implied)\/* 0x88 *\/ ADD_HANDLER (invalid_opcode)\/* 0x89 *\/ ADD_HANDLER (txa_implied)\/* 0x8a *\/ ADD_HANDLER (invalid_opcode)\/* 0x8b *\/ ADD_HANDLER (sty_absolute)\/* 0x8c *\/ ADD_HANDLER (sta_absolute)\/* 0x8d *\/ ADD_HANDLER (stx_absolute)\/* 0x8e *\/ ADD_HANDLER (invalid_opcode)\/* 0x8f *\/ ADD_HANDLER (bcc_relative)\/* 0x90 *\/ ADD_HANDLER (sta_indirect_y)\/* 0x91 *\/ ADD_HANDLER (invalid_opcode)\/* 0x92 *\/ ADD_HANDLER (invalid_opcode)\/* 0x93 *\/ ADD_HANDLER (sty_zeropage_x)\/* 0x94 *\/ ADD_HANDLER (sta_zeropage_x)\/* 0x95 *\/ ADD_HANDLER (stx_zeropage_y)\/* 0x96 *\/ ADD_HANDLER (invalid_opcode)\/* 0x97 *\/ ADD_HANDLER (tya_implied)\/* 0x98 *\/ ADD_HANDLER (sta_absolute_y)\/* 0x99 *\/ ADD_HANDLER (txs_implied)\/* 0x9a *\/ ADD_HANDLER (invalid_opcode)\/* 0x9b *\/ ADD_HANDLER (invalid_opcode)\/* 0x9c *\/ ADD_HANDLER (sta_absolute_x)\/* 0x9d *\/ ADD_HANDLER (invalid_opcode)\/* 0x9e *\/ ADD_HANDLER (invalid_opcode)\/* 0x9f *\/ ADD_HANDLER (ldy_immediate)\/* 0xa0 *\/ ADD_HANDLER (lda_indirect_x)\/* 0xa1 *\/ ADD_HANDLER (ldx_immediate)\/* 0xa2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xa3 *\/ ADD_HANDLER (ldy_zeropage)\/* 0xa4 *\/ ADD_HANDLER (lda_zeropage)\/* 0xa5 *\/ ADD_HANDLER (ldx_zeropage)\/* 0xa6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xa7 *\/ ADD_HANDLER (tay_implied)\/* 0xa8 *\/ ADD_HANDLER (lda_immediate)\/* 0xa9 *\/ ADD_HANDLER (tax_implied)\/* 0xaa *\/ ADD_HANDLER (invalid_opcode)\/* 0xab *\/ ADD_HANDLER (ldy_absolute)\/* 0xac *\/ ADD_HANDLER (lda_absolute)\/* 0xad *\/ ADD_HANDLER (ldx_absolute)\/* 0xae *\/ ADD_HANDLER (invalid_opcode)\/* 0xaf *\/ ADD_HANDLER (bcs_relative)\/* 0xb0 *\/ ADD_HANDLER (lda_indirect_y)\/* 0xb1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xb2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xb3 *\/ ADD_HANDLER (ldy_zeropage_x)\/* 0xb4 *\/ ADD_HANDLER (lda_zeropage_x)\/* 0xb5 *\/ ADD_HANDLER (ldx_zeropage_y)\/* 0xb6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xb7 *\/ ADD_HANDLER (clv_implied)\/* 0xb8 *\/ ADD_HANDLER (lda_absolute_y)\/* 0xb9 *\/ ADD_HANDLER (tsx_implied)\/* 0xba *\/ ADD_HANDLER (invalid_opcode)\/* 0xbb *\/ ADD_HANDLER (ldy_absolute_x)\/* 0xbc *\/ ADD_HANDLER (lda_absolute_x)\/* 0xbd *\/ ADD_HANDLER (ldx_absolute_y)\/* 0xbe *\/ ADD_HANDLER (invalid_opcode)\/* 0xbf *\/ ADD_HANDLER (cpy_immediate)\/* 0xc0 *\/ ADD_HANDLER (cmp_indirect_x)\/* 0xc1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xc2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xc3 *\/ ADD_HANDLER (cpy_zeropage)\/* 0xc4 *\/ ADD_HANDLER (cmp_zeropage)\/* 0xc5 *\/ ADD_HANDLER (dec_zeropage)\/* 0xc6 *\/ ADD_HANDLER (invalid_opcode)\/* 0xc7 *\/ ADD_HANDLER (iny_implied)\/* 0xc8 *\/ ADD_HANDLER (cmp_immediate)\/* 0xc9 *\/ ADD_HANDLER (dex_implied)\/* 0xca *\/ ADD_HANDLER (invalid_opcode)\/* 0xcb *\/ ADD_HANDLER (cpy_absolute)\/* 0xcc *\/ ADD_HANDLER (cmp_absolute)\/* 0xcd *\/ ADD_HANDLER (dec_absolute)\/* 0xce *\/ ADD_HANDLER (invalid_opcode)\/* 0xcf *\/ ADD_HANDLER (bne_relative)\/* 0xd0 *\/ ADD_HANDLER (cmp_indirect_y)\/* 0xd1 *\/ ADD_HANDLER (invalid_opcode)\/* 0xd2 *\/ ADD_HANDLER (invalid_opcode)\/* 0xd3 *\/ ADD_HANDLER (invalid_opcode)\/* 0xd4 *\/ ADD_HANDLER (cmp_zeropage_x)\/* 0xd5 *\/ ADD_HANDLER<\/code><\/pre>\n<\/div>\n<\/div>\n<\/div>\n<\/div>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-446209","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/446209","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=446209"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/446209\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=446209"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=446209"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=446209"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}