CHIP-8 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдЕрдиреБрдХрд░рдг рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд

рдРрд╕рд╛ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ рдХрд┐ рдЖрдк рдЬрдЯрд┐рд▓ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░реЗрдВ, рдЖрдкрдХреЛ рдХреБрдЫ рд╕рд░рд▓ рд╕реЗ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП рдЪрд┐рдк -8ред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рдореИрдВ рд╕рднреА рдкрд╣рд▓реБрдУрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдкреНрд░рдпрд╛рд╕ рдХрд░реВрдВрдЧрд╛ рдХрд┐ рдЖрдк рдЗрд╕ рднрд╛рд╖рд╛ рдХреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЛ рдПрдХ рдЖрднрд╛рд╕реА рдорд╢реАрди рдореЗрдВ рдХреИрд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдХреЛрдИ рднреА рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рднрд╛рд╖рд╛ рдХрд░реЗрдЧрд╛, рд▓реЗрдХрд┐рди рдЕрдкрдиреА рд╕рд░рд▓рддрд╛ рдХреЗ рдХрд╛рд░рдг рдореИрдВ рдбреЗрд▓реНрдлреА рдХрд╛ рдЪрдпрди рдХрд░реВрдВрдЧрд╛ред



рд░реБрдХреЛ, рддреБрд░рдВрдд рд╕рдВрдкрд╛рджрдХ рдореЗрдВ рдЬрд▓реНрджреА рдордд рдХрд░реЛ, рдкрд╣рд▓реЗ рдЖрдкрдХреЛ рдПрдХ рдХрд▓рдо рдФрд░ рдиреЛрдЯрдмреБрдХ рдЪрд╛рд╣рд┐рдП, рдЬрд╣рд╛рдВ рд╣рдо рдЕрдкрдиреЗ рд▓рд┐рдП рд╕рднреА рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЬрд╛рдирдХрд╛рд░реА рд▓рд┐рдЦреЗрдВрдЧреЗред рдпрд╣ рд╕рдм рдЙрд╕рдХреА рдЦреЛрдЬ рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ Google рд╣реИред рд▓рд┐рдВрдХ рдХрд╛ рдЕрдиреБрд╕рд░рдг рдХрд░рдиреЗ рдХреЗ рдЖрдзреЗ рдШрдВрдЯреЗ рдХреЗ рдмрд╛рдж, рд╣рдо рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХрд┐рд╕реА рднреА рд╕рд┐рд╕реНрдЯрдо рдХреЗ рд▓рд┐рдП рдкрд╣рд▓реЗ рд╕реЗ рдХрд┐рддрдиреЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд▓рд┐рдЦреЗ рдЧрдП рд╣реИрдВ, рдореИрдВ рдЪреБрдирдирд╛ рдирд╣реАрдВ рдЪрд╛рд╣рддрд╛, рд▓реЗрдХрд┐рди рд╣рдордиреЗ рджреВрд╕рд░реЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рдирд╣реАрдВ рджреЗрдЦрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЕрдкрдирд╛ рд╕реНрд╡рдпрдВ рдХрд╛ рд▓рд┐рдЦреЗрдВред





рдРрддрд┐рд╣рд╛рд╕рд┐рдХ рдкреГрд╖реНрдарднреВрдорд┐





CHIP-8 рдПрдХ рднрд╛рд╖рд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╣реИ рдЬрд┐рд╕рдХрд╛ рдЙрдкрдпреЛрдЧ 70 рдХреЗ рджрд╢рдХ рдХреЗ рдЕрдВрдд рдФрд░ 80 рдХреЗ рджрд╢рдХ рдХреЗ рд╢реБрд░реБрдЖрдд рдореЗрдВ рдХреБрдЫ рдЫреЛрдЯреЗ рд╡рд╛рдгрд┐рдЬреНрдпрд┐рдХ рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдкрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдЬреИрд╕реЗ рдХрд┐ RCA рдХрд╛ TELMAC 1800 рдФрд░ COSMAC VIP, рдФрд░ ETI 660 рдФрд░ DREAM 6800 рдХреЗ рд╕рдордп рдХреЗ рд╕рд╕реНрддреЗ "Create-it-yourself" рдХрдВрдкреНрдпреВрдЯрд░ред ...



CHIP-8 рдиреЗ рдЧреЗрдореНрд╕ рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рдЖрд╕рд╛рди рдмрдирд╛ рджрд┐рдпрд╛ред TELMAC 1800 рдФрд░ COSMAC VIP RCA CDP-1802 рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдереЗред рджреЛрдиреЛрдВ рдПрдХ рдСрдбрд┐рдпреЛ рдХреИрд╕реЗрдЯ рдХреЗ рд╕рд╛рде рдЖрдП, рдЬрд┐рд╕рдореЗрдВ 1977 рдХреЗ 12 рд╕реЗ рдЕрдзрд┐рдХ рдЧреЗрдо рд╢рд╛рдорд┐рд▓ рдереЗред рджреБрднрд╛рд╖рд┐рдпрд╛ рдореЗрдВ рдЧрдгрд┐рддреАрдп, рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рдХреЗ рдирд┐рдпрдВрддреНрд░рдг, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдФрд░ рдзреНрд╡рдирд┐ рд╕рд╣рд┐рдд 40 рд╕реЗ рдХрдо рдХрдорд╛рдВрдб рдереЗред



рдЗрди рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдореЗрдВ рдореЗрдореЛрд░реА рд╕реАрдорд╛ рдХреЗ рдХрд╛рд░рдг рджреБрднрд╛рд╖рд┐рдпрд╛ рдмрд╣реБрдд рдЫреЛрдЯрд╛ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП: COSMAC VIP рдореЗрдВ 2Kb рдерд╛ (рд▓реЗрдХрд┐рди рдЗрд╕реЗ 32Kb рддрдХ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рдерд╛), рдФрд░ TELMAC рдореЗрдВ 4Kb рдерд╛ред CHIP-8 рдХреЗрд╡рд▓ 512 рдмрд╛рдЗрдЯреНрд╕ рд▓рдВрдмрд╛ рдерд╛ред

рднрд╛рд╖рд╛ рдХреА рд╕рд░рд▓рддрд╛ рдиреЗ рд╣рдореЗрдВ рдкреЛрдВрдЧ, рдмреНрд░рд┐рдХреНрд╕, рдЖрдХреНрд░рдордгрдХрд╛рд░рд┐рдпреЛрдВ рдФрд░ рдЯреИрдВрдХ рдмрдирд╛рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреА рдЬреЛ рд╣рдордиреЗ рд╡реАрдбрд┐рдпреЛ рдЧреЗрдо рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ рдЦреЗрд▓реЗ рдереЗред рдПрдХ рдЕрдЪреНрдЫрд╛ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдЗрди рдЦреЗрд▓реЛрдВ рдХреЛ 256 рдмрд╛рдЗрдЯреНрд╕ рд╕реЗ рдХрдо рдореЗрдВ рдбрд╛рд▓ рд╕рдХрддрд╛ рд╣реИред



рдпрд╣рд╛рдВ DREAM-6800 рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ CHIP-8 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдПрдХ рдЫреЛрдЯреА рдХрд╣рд╛рдиреА рд╣реИ:

" ... DREAM рдФрд░ ETI 660 рдирд┐рд░реНрдорд╛рдг рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдСрд╕реНрдЯреНрд░реЗрд▓рд┐рдпрд╛рдИ рдЗрд▓реЗрдХреНрдЯреНрд░реЙрдирд┐рдХ рдкрддреНрд░рд┐рдХрд╛рдУрдВ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдПред рдпреЗ рдХрдВрдкреНрдпреВрдЯрд░ рд╕рдВрдпреБрдХреНрдд рд░реВрдк рд╕реЗ рдФрд░ рдЙрдирдХреА рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд░реВрдк рд╕реЗ рдХрдо рдХреАрдордд (рд▓рдЧрднрдЧ $ 100), рдПрдХ рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдХреАрдмреЛрд░реНрдб рдХрд╛ рдЙрдкрдпреЛрдЧ, рдмрд╣реБрдд рд╕реАрдорд┐рдд рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ 64 x 32 рдкрд┐рдХреНрд╕реЗрд▓ (ETI 660) рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред 64 x 48 рдпрд╛ 64 x 64 рдЬрдм рд╕рдВрд╢реЛрдзрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛) рдПрдХ рдЯреАрд╡реА рдкрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛, рд▓рдЧрднрдЧ рдПрдХ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд░реИрдо, рдФрд░ CHIP-8 рдирд╛рдордХ рдПрдХ рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдЫрджреНрдо рднрд╛рд╖рд╛ рдХреЛ рдЪрд▓рд╛рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ (рдЬрд┐рд╕реЗ RCA рджреНрд╡рд╛рд░рд╛ COSMAC рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╣ рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ)ред

...

рдПрдХ рджрд┐рди рдореЗрд░реЗ рдмрдбрд╝реЗ рднрд╛рдИ рдиреЗ рдПрдХ DREAM 6800 рдЗрдХрдЯреНрдард╛ рдХрд┐рдпрд╛ред рдпрд╣ рдПрдХ рдХрдВрдкреНрдпреВрдЯрд░ рдХреНрдпрд╛ рдерд╛! DREAM рдФрд░ ETI 660 рдмрд┐рд▓реНрдб рд▓реЗрдЦреЛрдВ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ CHIP-8 рдХреЗ рд▓рд┐рдП рдЧреЗрдо рд▓рд┐рд╕реНрдЯрд┐рдВрдЧ рдХреЗ рдкрд╣рд╛рдбрд╝ рдереЗред рдХреБрдЫ рдЦреЗрд▓ 200 рдмрд╛рдЗрдЯреНрд╕ рдпрд╛ рдЙрд╕рд╕реЗ рдХрдо рдХреЗ рдереЗ, рдЗрд╕рд▓рд┐рдП рдЙрдиреНрд╣реЗрдВ рджрд░реНрдЬ рдХрд░рдирд╛ рд╣рдореЗрд╢рд╛ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВ рд╣реЛрдЧрд╛ред рдФрд░ рдпреЗ рдорд╣рд╛рди рдЦреЗрд▓ рдереЗред рд╡реЗ рдзреАрдореЗ рдирд╣реАрдВ рдереЗред рдЗрд╕рд▓рд┐рдП рдХреНрд▓рд╛рд╕рд┐рдХ рдЯреАрд╡реА рдЧреЗрдореНрд╕ рдХреЗ рд▓рд┐рдП CHIP-8 рдХреЛ рдмрд╣реБрдд рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдбрд┐рдЬрд╛рдЗрди рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред "

рдкреЙрд▓ рд╣рд╛рдЗрдЯрд░ (рдЕрдорд┐рдЧрд╛ рдХреЗ рд▓рд┐рдП CHIP-8 рджреБрднрд╛рд╖рд┐рдпрд╛ рджреНрд╡рд╛рд░рд╛ рдкреЛрд╕реНрдЯ)



рдмрд╛рдж рдореЗрдВ, 90 рдХреЗ рджрд╢рдХ рдХреА рд╢реБрд░реБрдЖрдд рдореЗрдВ HP48 рдХреИрд▓рдХреБрд▓реЗрдЯрд░реЛрдВ рдкрд░ CHIP-8 рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкрд░ рддреЗрдЬреА рд╕реЗ рдЧреЗрдо рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рдерд╛ред CHIP-8 рдХреЗ рд▓рдЧрднрдЧ рд╕рднреА рдореВрд▓ рдЦреЗрд▓реЛрдВ рдиреЗ CHIP48 рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗ рд╕рд╛рде рднреА рдХрд╛рдо рдХрд┐рдпрд╛, рд▓реЗрдХрд┐рди рдХрдИ рдирдП рд▓рд┐рдЦреЗ рдЧрдПред

рддрдм рднрд╛рд╖рд╛ рдХрд╛ рдПрдХ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ - рд╕реБрдкрд░-рдЪрд┐рдкред рдЙрд╕рдХреЗ рдкрд╛рд╕ рдорд╛рдирдХ рдХреА рд╕рднреА рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдереАрдВ, рд▓реЗрдХрд┐рди рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 128x64 рдХреЗ рд╕рдВрдХрд▓реНрдк рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддрд╛ рдерд╛ред



рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░





CHIP-8 рдореЗрдВ рд╕рднреА рдХрд╛рд░реНрдпрдХреНрд░рдо EH-660 рдХреЛ рдЫреЛрдбрд╝рдХрд░ 200h рд╕реЗ рд╢реБрд░реВ рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ 600h рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдРрд╕рд╛ рдЗрд╕рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХреНрдпреЛрдВрдХрд┐ рднрд╛рд╖рд╛ рджреБрднрд╛рд╖рд┐рдпрд╛ рд╕реНрд╡рдпрдВ 000h-1FFh рдкрд░ рд╕реНрдерд┐рдд рд╣реИред



рд╕рднреА рдореЗрдореЛрд░реА рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдкрддрд╛ рдФрд░ рд╕реБрд▓рдн рд╣реИред рдЪреВрдВрдХрд┐ рдирд┐рд░реНрджреЗрд╢ 16-рдмрд┐рдЯ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрддреЗ рд╣реИрдВ, рдЙрдирдХреЗ рдкрд╛рд╕ рдЖрдорддреМрд░ рдкрд░ рдкрддреЗ рднреА рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рдпрджрд┐ рдХреЛрдб рдХреЗ рдЕрдВрджрд░ рдХреБрдЫ 8 рдмрд┐рдЯреНрд╕ рдбрд╛рд▓реЗ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдЙрдирдХреЗ рдкрддреЗ рд╡рд┐рд╖рдо рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВред



рдореЗрдореЛрд░реА рдПрдбреНрд░реЗрд╕ рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ 12 рдмрд┐рдЯреНрд╕ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, рд╣рдо рдЧрдгрдирд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдЯреНрд░рд┐рдХреНрд╕ рдХреЗ рдмрд┐рдирд╛ рдореЗрдореЛрд░реА рдХреА рдЕрдзрд┐рдХрддрдо рдорд╛рддреНрд░рд╛ 4096 рдмрд╛рдЗрдЯреНрд╕ (000h-FFFh) рд╣реЛ рд╕рдХрддреА рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, F00h-FFFh рдХреЗ рдкрддреЗ рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рдХреЗ рдХрдмреНрдЬреЗ рдореЗрдВ рд╣реИрдВ, рдФрд░ EA0h-EFFh рдХрд╛ рдЙрдкрдпреЛрдЧ CHIP-8 рдХреЗ рд╕реНрдЯреИрдХ рдФрд░ рдЖрдВрддрд░рд┐рдХ рдЪрд░ рдХреЛ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред



рджреБрднрд╛рд╖рд┐рдпрд╛ 8 рдмрд┐рдЯреНрд╕ рдХреА рдорд╛рддреНрд░рд╛ рдХреЗ рд╕рд╛рде 16 рд╕рд╛рдорд╛рдиреНрдп-рдЙрджреНрджреЗрд╢реНрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╡реЗ V0..VF рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реАрдПрдл рдЕрдВрдХрдЧрдгрд┐рдд рд╕рдВрдЪрд╛рд▓рди рдХреЗ рд▓рд┐рдП рдПрдХ рдзреНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрдм рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рдПрдХ рд╕рдВрд╕реВрдЪрдХ рдбрд┐рдЯреЗрдХреНрдЯрд░ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред



рдЖрдХрд╛рд░ рдореЗрдВ 16 рдмрд┐рдЯреНрд╕ рдХрд╛ 1 рдкрддрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ (I) рднреА рд╣реИред рдЪреВрдВрдХрд┐ рд╕реНрдореГрддрд┐ рдХреЗрд╡рд▓ 4 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╣реИ, рдЗрд╕рд▓рд┐рдП рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЗрд╡рд▓ рдЕрдкрдиреЗ рдирд┐рдЪрд▓реЗ 12 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдлрд╝реЙрдиреНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдЙрдЪреНрдЪ 4 рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдлрд╝реЙрдиреНрдЯ 8110 рдкрд░ рд╕реНрдерд┐рдд рдерд╛ред



рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, 2 рдЯрд╛рдЗрдорд░ рдереЗред рдПрдХ рджреЗрд░реА рдЯрд╛рдЗрдорд░ рд╣реИ, рдФрд░ рдПрдХ рдСрдбрд┐рдпреЛ рдЯрд╛рдЗрдорд░ рд╣реИред рджреЛрдиреЛрдВ рдХреА рд▓рдВрдмрд╛рдИ 8 рдмрд┐рдЯреНрд╕ рдереА рдФрд░ рдЙрдиреНрд╣реЛрдВрдиреЗ рдЙрд╕ рд╕рдордп рд╢реВрдиреНрдп рдирд╣реАрдВ рд╣реЛрдиреЗ рдкрд░ рдЕрдкрдиреА рд╕рд╛рдордЧреНрд░реА рдХреЛ 60 рдЧреБрдирд╛ рдкреНрд░рддрд┐ рд╕реЗрдХрдВрдб рдХрдо рдХрд░ рджрд┐рдпрд╛ рдерд╛ред рдпрд╣реА рд╣реИ, рдЙрдирдХреЗ рдкрд╛рд╕ 60 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдереАред рдпрджрд┐ рдзреНрд╡рдирд┐ рдЯрд╛рдЗрдорд░ рдХрд╛ рд╢реВрдиреНрдп рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреЛрдИ рдорд╛рди рдерд╛, рддреЛ рдЙрд╕рдиреЗ рдзреНрд╡рдирд┐ рдХреЛ рдкреБрди: рдкреЗрд╢ рдХрд┐рдпрд╛ред

рд╕реНрдЯреИрдХ рдХрд╛ рдЖрдпрд╛рдо рдЕрдЬреНрдЮрд╛рдд рд░рд╣рд╛, рд▓реЗрдХрд┐рди рдЗрд╕реЗ 16 рд╕реНрддрд░реЛрдВ (2x16 рдмрд╛рдЗрдЯреНрд╕) рдореЗрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рдерд╛рдЧрдд рд╣реИред



рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдХреЛ 1. рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдкрд░ 8 рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреЗ рд╕рд╛рде рдкреНрд░рд╕реНрддреБрдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдмрд╛рдЗрдЯреНрд╕ рдореЗрдВ рдПрдиреНрдХреЛрдбреЗрдб рд╣реИрдВред рдореВрд▓ рдКрдкрд░реА рдмрд╛рдПрдВ рдХреЛрдиреЗ рдореЗрдВ рд╣реИ рдФрд░ рдмрд┐рдВрджреБ 0. рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рд╕рднреА рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ рд╕рдХрд╛рд░рд╛рддреНрдордХ рд╣реИрдВ рдФрд░ рдХреНрд░рдорд╢рдГ 64 рдпрд╛ 32 рддрдХ рд╡рд┐рднрд╛рдЬрди рдХреЗ рд╢реЗрд╖ рдХреЗ рд░реВрдк рдореЗрдВ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдХреНрд░реАрди рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ XOR рдореЛрдб рдореЗрдВ рд╣реИред рдпрджрд┐ рдПрдХ рдпрд╛ рдЕрдзрд┐рдХ рдкрд┐рдХреНрд╕реЗрд▓ рд╕рд╛рдлрд╝ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ (рдЙрдирдХрд╛ рд░рдВрдЧ 1 рд╕реЗ 0 рддрдХ рдмрджрд▓ рдЬрд╛рддрд╛ рд╣реИ), рддреЛ VF рд░рдЬрд┐рд╕реНрдЯрд░ 01h рдФрд░ 00h рдкрд░ рд╕реЗрдЯ рд╣реЛрддрд╛ рд╣реИред рдЪрд┐рдк -8 рдореЗрдВ 4x5 рдкрд┐рдХреНрд╕реЗрд▓ рдХрд╛ рдлреЙрдиреНрдЯ рд╣реИ рдЬрд┐рд╕рдореЗрдВ 0-9 рдФрд░ AF рдЕрдХреНрд╖рд░ рд╣реИрдВред



рд╕реНрдкрд╖реНрдЯрддрд╛ рдХреЗ рд▓рд┐рдП, рдПрдХ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдФрд░ рдЙрд╕рдХреЗ рдХреЛрдбрд┐рдВрдЧ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред рдПрдХ 8x5 рд╕реНрдкреНрд░рд╛рдЗрдЯ рд▓реЗрдВред







рд╣рдореЗрдВ рдмрд╛рдЗрдЯреНрд╕ рдХреЗ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕реЗрдЯ рдорд┐рд▓рддреЗ рд╣реИрдВ: 0 A0 0 A0 0





рдЗрд╕реЗ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдПрдХ рдФрд░ 1 рд╕реНрдкреНрд░рд╛рдЗрдЯ 8x8 рд▓реЗрдВред







рд╕реНрдкреНрд░рд╛рдЗрдЯ 8 рдмрд╛рдЗрдЯ рдкрд░ рдХрдмреНрдЬрд╛ рдХрд░ рд▓реЗрдЧрд╛ рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╕рдВрд░рдЪрдирд╛ рд╣реЛрдЧреА: 0 60 30 18 0 06 03





CHIP-8 рдХрд╛ рдХреАрдмреЛрд░реНрдб 16 рд╡рд╛рдВ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдЙрдкрд╕реНрдерд┐рддрд┐ рд╣реИ:







рдЗрд╕ рддрд░рд╣ рдХреЗ рдХреАрдмреЛрд░реНрдб рдХреА рд╕реБрд╡рд┐рдзрд╛ рдФрд░ рд╡рд┐рд╕реНрддрд╛рд░ рдХреЗрд╡рд▓ рддрд░реНрдХ рдФрд░ рддрд░реНрдХ рджрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рд▓реЗрдХрд┐рди рд╣рдо рдореВрд▓ рд╕реЗ рд╡рд┐рджрд╛ рдирд╣реАрдВ рдХрд░реЗрдВрдЧреЗ, рдХреНрдпреЛрдВрдХрд┐ рд╕рдм рдХреБрдЫ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдРрд╕реЗ рдХреАрдмреЛрд░реНрдб рдХреЗ рд▓рд┐рдП рд╡рд┐рдХрд╕рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред



рдХрдорд╛рди рдкреНрд░рдгрд╛рд▓реА





рдЗрд╕реЗ рддреБрд░рдВрдд рдХрд╣рд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдХрд┐ рд╣рдо рдкрддреЗ рдХреЛ NNN, KK - 8 рдмрд┐рдЯ рд╕реНрдерд┐рд░, X рдФрд░ Y - 4% рд╕реНрдерд┐рд░рд╛рдВрдХ рдХреЗ рд░реВрдк рдореЗрдВ рдирд╛рдорд┐рдд рдХрд░реЗрдВрдЧреЗред

рдЕрдм рдЖрджреЗрд╢реЛрдВ рдХреА рд╕реВрдЪреА рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред



рдХреЛрдб NNN рдХреЗ рд╕рд╛рде рдкреНрд░реЛрд╕реЗрд╕рд░ 1802 рдХреЗ рд▓рд┐рдП 0NNN Syscall nnn рдЗрдирд╡реЛрдХ рдорд╢реАрди рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рдирд┐рд░реНрджреЗрд╢ред

00CN * scdown n рд╕реНрдХреНрд░реАрди рдХреЛ N рд▓рд╛рдЗрдиреЛрдВ рдХреЗ рдиреАрдЪреЗ рд╕реНрдХреНрд░реЙрд▓ рдХрд░реЗрдВред

00FB * рд╕реНрдХреНрд░реАрди рдХреЛ рджрд╛рдИрдВ рдУрд░ 4 рдкрд┐рдХреНрд╕реЗрд▓ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛

00FC * рд╕реНрдХреНрд░реАрди рдХреЛ 4 рдмрд╛рдИрдВ рдУрд░ рд╕реНрдХреНрд░реЙрд▓ рдХрд░рдирд╛

00FD * рдПрдореБрд▓реЗрдЯрд░ рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓реЗрдВ

00FE * рд▓реЛ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдореЛрдб рдХреЛ CHIP-8 (64x32) рдкрд░ рд╕реЗрдЯ рдХрд░реЗрдВ

00FF * рд╕реБрдкрд░ рдЪрд┐рдк (128x64) рдореЗрдВ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рдореЛрдб рдХреЛ рд╣рд╛рдИ рд╕реЗрдЯ рдХрд░реЗрдВ

00E0 Cls рдХреНрд▓рд┐рдпрд░ рд╕реНрдХреНрд░реАрди

00EE рд░реВрдЯреАрди рд╕реЗ рд╡рд╛рдкрд╕реА

рдПрдирдПрдирдПрди рдХреЛ 1NNN рдЬреЗрдПрдордкреА рдПрдирдПрдирдкреА рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд╛рд░реНрдпрдХреНрд░рдо рдирд┐рд╖реНрдкрд╛рджрди

рдПрдирдПрдирдПрди рдкрд░ 2NNN jsr nnn рдлрдВрдХреНрд╢рди рдХреЙрд▓ред рдкрд┐рдЫрд▓реЗ рдкрддреЗ рдХреЛ рд╕реНрдЯреИрдХ рдкрд░ рдзрдХреЗрд▓ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

3XKK skeq vx, kk рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢ (2 рдмрд╛рдЗрдЯреНрд╕) рдЫреЛрдбрд╝реЗрдВ рдпрджрд┐ VX = KK

4XKK рд╕реНрдХреЗрди vx, kk рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢ (2 рдмрд╛рдЗрдЯреНрд╕) рдЫреЛрдбрд╝реЗрдВ рдпрджрд┐ VX <> KK

5XY0 skeq vx, vy рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢ рдЫреЛрдбрд╝реЗрдВ рдпрджрд┐ VX = VY

6XKK mov vx, kk VK рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ KK рд▓рд┐рдЦреЗрдВ

7XKK vx, kk рдХреЛ VX рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ VX + KK рдЬреЛрдбрд╝реЗрдВ (рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛ рдФрд░ рдЕрдиреНрдп рд╕реНрд░реЛрддреЛрдВ рд╕реЗ рдЬрд╛рдирдХрд╛рд░реА рдХреЗ рдЕрдиреБрд╕рд╛рд░, рдпрд╣ рдзреНрд╡рдЬ рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ)

8XY0 mov vx, vy In VX рд░рдЬрд┐рд╕реНрдЯрд░ VY рдХрд╛ рдорд╛рди рд▓рд┐рдЦреЗрдВ

8XY1 рдпрд╛ vx, vy VX = VX рдпрд╛ VYред

8XY2 рдФрд░ vx, vy VX = VX рдФрд░ VY

8XY3 xor vx, vy VX = VX XOR VY (рдореВрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ)

8XY4 vx, vy VX = VX + VY рдЬреЛрдбрд╝реЗрдВред VF = рдХреИрд░реА рдореЗрдВред

8XY5 рдЙрдк vx, vy VX = VX - VYред (*) VF = рдЙрдзрд╛рд░ рдирд╣реАрдВред

8X06 shr vx VX = VX SHR 1 (VX = VX / 2), VF = carry

8XY7 рдЙрдк vy, vx VX = VY - VX, VF = рдЙрдзрд╛рд░ рдирд╣реАрдВ (*) (рдореВрд▓ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рдкреНрд░рд▓реЗрдЦрд┐рдд рдирд╣реАрдВ)

8XYE shl vx VX = VX SHL 1 (VX = VX * 2), VF} рд▓реЗ

9XY0 рд╕реНрдХреЗрди vx, vy рдирд┐рдореНрди рдХрдерди рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВ рдпрджрд┐ VX <> VY рд╣реИ

ANNN mov I, nnn I = NNN

BNNN Jmi NNN NNN + V0 рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЯреНрд░рд╛рдВрд╕рдлрд░ рдирд┐рд╖реНрдкрд╛рджрди

CXKK Rand vx, kk VX = (рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рд╕рдВрдЦреНрдпрд╛ 0..255) рдФрд░ рдХреЗрдХреЗ

рдбреАрдПрдХреНрд╕рд╡рд╛рдИрдПрди рдбреНрд░рд╛ рд╡реАрдПрдХреНрд╕, рд╡реАрд╡рд╛рдИ, рдПрди рдПрди рдХреА рдКрдВрдЪрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рд╕реНрдкреНрд░рд╛рдЗрдЯ (рдПрди = 0 рдХрд╛рдЙрдВрдЯ рдПрди = 16 рдХреЗ рд▓рд┐рдП) рдФрд░ рдирд┐рд░реНрджреЗрд╢рд╛рдВрдХ (рд╡реАрдПрдХреНрд╕, рд╡реАрд╡рд╛рдИ) рдореЗрдВ 8 рдХреА рдЪреМрдбрд╝рд╛рдИ рд░рдЬрд┐рд╕реНрдЯрд░ рдЖрдИред рд╡реАрдПрдл - рдЯрдХрд░рд╛рд╡ рдореЗрдВ рдирд┐рд╣рд┐рдд рдкрддреЗ рдкрд░ рд╕реНрдореГрддрд┐ рдореЗрдВ рд╢реБрд░реВ рдХрд░реЗрдВред

рдпрджрд┐ VX рдХреБрдВрдЬреА рджрдмрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рддреЛ EX9E Skpr vx рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджреЗрдВред

EXA1 Skup vx рдирд┐рдореНрди рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдЫреЛрдбрд╝реЗрдВ рдпрджрд┐ VX рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдХреБрдВрдЬреА рджрдмрд╛рдпрд╛ рдирд╣реАрдВ рдЧрдпрд╛ рд╣реИред

FX07 Gdelay vx VX = рд╡рд┐рд▓рдВрдм рдЯрд╛рдЗрдорд░

FX0A рдХреБрдВрдЬреА vx рд╣рдо рдмрдЯрди рдХреЛ рджрдмрд╛рдП рдЬрд╛рдиреЗ рдХреА рдкреНрд░рддреАрдХреНрд╖рд╛ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ VX рдореЗрдВ рдЬреЛрдбрд╝рддреЗ рд╣реИрдВред

FX15 Sdelay vx рд╡рд┐рд▓рдВрдм рдЯрд╛рдЗрдорд░ = VX

FX18 Ssound vx рд╕рд╛рдЙрдВрдб рдЯрд╛рдЗрдорд░ = VX

FX1E Add I, vx I = I + VX

FX29 рдлрд╝реЙрдиреНрдЯ vx рдлрд╝реЙрдиреНрдЯ рдХреЗ I рдкрддреЗ рдореЗрдВ рд░рдЦреЗрдВ 4 x 5 рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рд╡рд░реНрдг рд╡реАрдПрдХреНрд╕ рдореЗрдВ рдирд┐рд╣рд┐рдд рд╣реИрдВ

FX33 Bcd vx I..I + 2 рдкрддреЛрдВ рдкрд░ BCD VX рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд░рдЦреЗрдВред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдЕрдЧрд░ VX рдореЗрдВ 4Fh рд╣реИ, рддреЛ 00h 07h 09h рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓рд┐рдЦрд╛ рдЬрд╛рдПрдЧрд╛, рдпрд╛рдиреА 4Fh рдХрд╛ рджрд╢рдорд▓рд╡ рдкреНрд░рддрд┐рдирд┐рдзрд┐рддреНрд╡

FX55 рд╕реЗрд╡ рд╡реАрдПрдХреНрд╕ рд╕реЗрд╡ рд╡реА 0 ... рд╡реАрдПрдХреНрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдореЛрд░реА рдПрдЯ рдПрдбреНрд░реЗрд╕ 1 рд╕реЗ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

FX65 рд▓реЛрдб vx рд▓реЛрдбреНрд╕ V0 ... рдореЗрдореЛрд░реА I рд╕реЗ рд╢реБрд░реВ рд╣реЛрдиреЗ рд╡рд╛рд▓реЗ VX рдкрддреЗ I рдкрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ

FX75 * Ssave vx рдмрдЪрдд V0 ... VX (X <8) рд╕реЗ HP48 рдЭрдВрдбреЗ рддрдХ

FX85 * Sox vx рд▓реЛрдб V0 ... VX (X <8) HP48 рдЭрдВрдбреЗ рд╕реЗ



* - рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХрдорд╛рдВрдб рдХреЗрд╡рд▓ рд╕реБрдкрд░ рдЪрд┐рдк рд╡реНрдпрд╛рдЦреНрдпрд╛рдХрд╛рд░ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рд╣реИред



(*): рдЬрдм VX - VY рд╣реЛрддрд╛ рд╣реИ, VF рдХреЛ рдЛрдг рд╕реЗ рд╡рдВрдЪрд┐рдд рдХрд░ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдпрджрд┐ VX VY рд╕реЗ рдЕрдзрд┐рдХ рдпрд╛ рдЙрд╕рдХреЗ рдмрд░рд╛рдмрд░ рд╣реИ, VF рдХреЛ 01 рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛, рдХреНрдпреЛрдВрдХрд┐ рдЛрдг = 0. рдпрджрд┐ VX VY рд╕реЗ рдХрдо рд╣реИ, рддреЛ VF 00 рдкрд░ рд╕реЗрдЯ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЛрдг = 1ред



рдмреБрдирд┐рдпрд╛рджреА рдкреНрд░реЗрдд рддреИрдпрд╛рд░реА





рдХрд╛рдЧрдЬ рдФрд░ рдХрд▓рдо рдХреЗ рдЯреБрдХрдбрд╝реЗ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ, рд╣рдо рдлрд╝реЙрдиреНрдЯ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреА рд░реВрдкрд░реЗрдЦрд╛ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдЖрдкрдХреЛ рдЗрд╕ рд╕реЗрдЯ рдХреА рддрд░рд╣ рдХреБрдЫ рдорд┐рд▓рддрд╛ рд╣реИ:







рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдкреНрд░рддреНрдпреЗрдХ рд╕реНрдкреНрд░рд╛рдЗрдЯ рдХреЗ рдореВрд▓реНрдп рдХреЗ рдмрд╛рдЗрдЯреНрд╕ рд▓рд┐рдЦрддреЗ рд╣реИрдВред



рдЕрдиреБрдХрд░рдг рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд





рдпрд╣ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдЕрдиреБрдХрд░рдг рд▓рдЧрднрдЧ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рдХреЗ рдЪрдХреНрд░ рдореЗрдВ рд╣реЛрдиреЗ рдЪрд╛рд╣рд┐рдПред



рджреЛрд╣рд░рд╛рдирд╛

// рдЕрдиреБрдХрд░рдг рдХрд░рддреЗ рд╣реИрдВ

рдЬрдм рддрдХ put_pr ;




рдпрд╣рд╛рдБ рд╕реЗ put_pr рдХреЛ рдЕрдиреБрдХрд░рдг рдХреЛ рд░реЛрдХрдиреЗ рдХрд╛ рд╕рдВрдХреЗрдд рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдпрд╣ рди рдХреЗрд╡рд▓ рдмрд╛рд╣рд░ рд╕реЗ, рдмрд▓реНрдХрд┐ рдЕрдиреБрдХрд░рдг рдХреЗ рдЕрдВрджрд░ рд╕реЗ рднреА рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред



рдирд┐рд░реАрдХреНрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдВрджреБрдУрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдЙрдкрдХрд░рдг рдСрдкрд░реЗрдЯрд┐рдВрдЧ рдЖрд╡реГрддреНрддрд┐рдпреЛрдВ рдФрд░ рдЕрдиреБрдХреВрд▓рди рдХрд╛ рдЕрдиреБрдкрд╛рд▓рди рд╣реИред рдЕрдЧрд░ CHIP-8 рдЬреИрд╕реА рд╕рд░рд▓ рднрд╛рд╖рд╛ рдХреЗ рдЕрдиреБрдХрд░рдг рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЧрд▓рдд рд╣реИ, рддреЛ рдЖрдк рдмрд╣реБрдд рдХрдо рдкреНрд░рджрд░реНрд╢рди рдФрд░ рдЕрддреНрдпрдзрд┐рдХ рдЙрдЪреНрдЪ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдордп рдкреНрд░рд╛рдкреНрдд рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рд╕рд╣реА рдЕрдиреБрдХрд░рдг рдиреНрдпреВрдирддрдо рд▓рд╛рдЧрдд рдкрд░ рдкрд░реНрдпрд╛рдкреНрдд рдкреНрд░рджрд░реНрд╢рди рдкреНрд░рджрд╛рди рдХрд░реЗрдЧрд╛ред



рдбреЗрд▓реНрдлреА рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реБрдП, рдореИрдВрдиреЗ рдПрдХ рд╕рд┐рд╕реНрдЯрдо рдЗрдореНрдпреВрд▓реЗрд╢рди рдХреЛ рдПрдХ рд╡рд░реНрдЧ рдХреЗ рд░реВрдк рдореЗрдВ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдиреЗ рдХрд╛ рдирд┐рд░реНрдгрдп рд▓рд┐рдпрд╛ рдФрд░ рдЗрд╕ рдкреНрд░рдгрд╛рд▓реА рдХреЗ рдЕрдВрджрд░ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдореЙрдбрд▓ рдХреЗ рдЖрдзрд╛рд░ рдкрд░ рдЗрд╕реЗ "TCpu1802" рдирд╛рдо рджрд┐рдпрд╛ред рдЗрд╕рдХреЗ рд▓рд┐рдП рдореБрдЦреНрдп рд░рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВред



рдкреНрд░рдХреНрд░рд┐рдпрд╛ tcpu1802 ред рдЪрд▓рд╛ ;

рд╢реБрд░реВ рдХрд░рдирд╛

рджреЗрд░реА рдХрд░рдиреЗрд╡рд╛рд▓рд╛ ред рд╕рдХреНрд╖рдо : = рд╕рддреНрдп ;

рдзреНрд╡рдирд┐ рдХрд░рдиреЗрд╡рд╛рд▓рд╛ ред рд╕рдХреНрд╖рдо : = рд╕рддреНрдп ;

рдирд╢рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ ред рд╕рдХреНрд╖рдо : = рд╕рддреНрдп ;

рдХрд╛рдо : = рд╕рддреНрдп ;

рджреЛрд╣рд░рд╛рдирд╛

useopcode ;

рдЕрдЧрд░ cpum рд╕рдВрдХрд╛рдп <> 0 рддреЛ

if ( рдЧреЛрд▓ ( рдЪрдХреНрд░ ) mod ) ( 2 ) ) = 0 рддреЛ рд╕реНрд▓реАрдк ( cpumulty ) ;

рдЖрд╡реЗрджрди ред рдкреНрд░реЛрд╕реЗрд╕рдореЗрд╕реЗрд╕ ;

рдХрд╛рдо рддрдХ = рдЕрд╕рддреНрдп ;

рджреЗрд░реА рдХрд░рдиреЗрд╡рд╛рд▓рд╛ ред рд╕рдХреНрд╖рдо : = рдЕрд╕рддреНрдп ;

рдзреНрд╡рдирд┐ рдХрд░рдиреЗрд╡рд╛рд▓рд╛ ред рд╕рдХреНрд╖рдо : = рдЕрд╕рддреНрдп ;

рдирд╢рд╛ рдХрд░рдиреЗ рд╡рд╛рд▓рд╛ ред рд╕рдХреНрд╖рдо : = рдЕрд╕рддреНрдп ;

рдЕрдВрдд ;







рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдкрд░, рд╣рдо CHIP-8 рдЯрд╛рдЗрдорд░ рдХреЗ рд▓рд┐рдП рджреЛ рдорд╛рдирдХ рд╕рдХреНрд░рд┐рдп рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдПрдХ, рд╕реНрд╡рддрдВрддреНрд░ рд░реВрдк рд╕реЗ рджрд░реНрдЬ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╕реНрдХреНрд░реАрди рдХреЛ рдлрд┐рд░ рд╕реЗ рддреИрдпрд╛рд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдПред рдЪрдХреНрд░ - рдПрдХ рдЪрд░ рдЬрд┐рд╕рдореЗрдВ рдЖрдЬреНрдЮрд╛рдЪрдХреНрд░ рдХрд╛ рд╡рд░реНрддрдорд╛рди рдЪрдХреНрд░ рд╣реЛрддрд╛ рд╣реИ, рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХреА рдХреЙрд▓ рдЪрдХреНрд░ рдХреЛ рдПрдХ рд╕реЗ рдмрдврд╝рд╛ рджреЗрддреА рд╣реИред рд╣рд░ рджреВрд╕рд░реА рдХрд╛рд░реНрд░рд╡рд╛рдИ рдореЗрдВ рд╣рдо cpumulty milliseconds рдХреЗ рд▓рд┐рдП рджреБрднрд╛рд╖рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдВрдЧреЗред рдпрд╣ рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рдЧрддрд┐ рдЙрддреНрдкрдиреНрди рди рд╣реЛред



рд╕рд╛рдЙрдВрдбрдореАрдЯрд░ рдФрд░ рдбреНрд░рд╛рдЯрд┐рдорд░ рдЯрд╛рдЗрдорд░ рдореЗрдВ 17 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдХрд╛ рдЕрдВрддрд░рд╛рд▓ рд╣реЛрддрд╛ рд╣реИ, рдпрд╛рдиреА рд╡реЗ 58.82 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ, рдЬреЛ рдореВрд▓ рдХреЗ рдЬрд┐рддрдирд╛ рд╕рдВрднрд╡ рд╣реЛ рдЙрддрдирд╛ рдХрд░реАрдм рд╣реИред



рджрд░рд╛рдЬ рдХреЗ рд╡рд┐рд▓рдВрдм рдХреЛ 10 рдорд┐рд▓реАрд╕реЗрдХрдВрдб рдкрд░ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдпрд╣реА рд╣реИ, рдФрд╕рддрди, рд╣рд░ 3-4 рджреБрднрд╛рд╖рд┐рдпрд╛ рдЖрджреЗрд╢реЛрдВ рдХрд╛ рдкреНрд░рддрд┐рдкрд╛рджрди рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ред рдЯрд╛рдЗрдорд░ рдХрд╛ рдЖрд╡рдВрдЯрди рдЗрдВрдЯрд░рдкреНрд░реЗрдЯрд░ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рд░реЛрдХрдирд╛ рдирд╣реАрдВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдХреЗ рд╕рдорд╛рдирд╛рдВрддрд░ рдкреНрд░рджрд░реНрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдирд┐рдпрдорд┐рдд рд╕рд╛рдзрдиреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред



рдЖрдЗрдП рдЙрди рдЪрд░реЛрдВ рдХреА рд╕реВрдЪреА рджреЗрдЦреЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдореЗрдВ рд╕реНрд╡рдпрдВ рд╣реА рдкреВрд░рд╛ рдХрд░рдирд╛ рд╣реЛрдЧрд╛:



рдХреАрдХреЛрдб : рдмрд╛рдЗрдЯ ; // рджрдмрд╛рдП рдЧрдП рдХреБрдВрдЬреА рдХрд╛ рдХреЛрдб

рд╕реНрдореГрддрд┐ : рд╕рд░рдгреА [ 0 .. 8191 ] рдмрд╛рдЗрдЯ ; // 8 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд░реИрдо, рдлреЛрдВрдЯ рдХреЗ рд╕реНрдерд╛рди рдХреЗ рдХрд╛рд░рдг рдЖрд╡рдВрдЯрд┐рдд

рдвреЗрд░ : рд╢рдмреНрдж рдХреА рд╕рд░рдгреА [ 0 .. 255 ] ; // рдвреЗрд░

рд╕реНрдЯреИрдХрд╛рдЗрдЬрд╝ : рдмрд╛рдЗрдЯ ; // рдХрд░рдВрдЯ рд╕реНрдЯреИрдХ рд╕реНрд╡реАрдк

рд╡рд┐рдбрд┐рдпреЛрд░реЗ : рд╕рд░рдгреА [ 0 .. 2047 ] рдмреВрд▓рд┐рдпрди рдХреА ; // рд╡реАрдбрд┐рдпреЛ рд╕рд░рдгреА

рдореБрдЦреМрдЯрд╛ : рд╕рд░рдгреА [ 0 .. 2047 ] рдмреВрд▓рд┐рдпрди ; // рд╡реАрдбрд┐рдпреЛ рд╕рд░рдгреА рдХрд╛ рдореБрдЦреМрдЯрд╛

Vreg : рд╕рд░рдгреА [ 0 .. 15 ] рдмрд╛рдЗрдЯ рдХреА ; // - рд░рдЬрд┐рд╕реНрдЯрд░ V0..VF

Ireg : рд╢рдмреНрдж ; // 2 рдмрд╛рдЗрдЯ рдПрдбреНрд░реЗрд╕ рд░рдЬрд┐рд╕реНрдЯрд░

рдХреЛрдбрд╕реЗрдВрдбрд░ : рд╢рдмреНрдж ; // рдореЗрдореЛрд░реА рдореЗрдВ рдЕрдЧрд▓реЗ рдУрдкреЛрдб рдХрд╛ рд╕реНрдерд╛рди

рдзреНрд╡рдирд┐ : рдмреВрд▓рд┐рдпрди ; // рдХреНрдпрд╛ рдЕрдм рдзреНрд╡рдирд┐ рдмрдЬ рд░рд╣реА рд╣реИ?




рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдХреЗ рдЕрдиреБрд╕рд╛рд░, рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рд░реИрдо рдХреА рдорд╛рддреНрд░рд╛ рдореЗрдВ рдмрд╛рдХреА рд╕рдм рдХреБрдЫ рдХреЗ рд░реВрдк рдореЗрдВ рд╕реНрдерд┐рдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рд▓рдЧрд╛рддрд╛рд░ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ, рдмрд╛рдЗрдЯреНрд╕ рдХреА рдЬрд╛рдВрдЪ рдХрд░рдиреЗ рдФрд░ рдЙрдирдХрд╛ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдмрд╣реБрдд рд╕рд╛рд░реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдВрд╕рд╛рдзрдиреЛрдВ рдХреЛ рд▓реЗ рдЬрд╛рдПрдЧрд╛ рдФрд░ рдЕрд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдпрд╣ рдорд╛рдирддреЗ рд╣реБрдП рдХрд┐ рдХреБрдЫ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреБрдЫ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рд╡рд╣рд╛рдВ рд╕реЗ рд╕реАрдзреЗ, рдпрджрд┐ рдЙрд╕ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╕реЗ рдкрдврд╝рдирд╛ рд╣реЛрддрд╛ рд╣реИ, рддреЛ рд╣рдо рдмрд╕ рдПрдХ рдЕрддрд┐рд░рд┐рдХреНрдд рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдорд┐рд░рд░рд╡рд┐рдбреЗрдо рдХрд╣ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рдореЗрдВ рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рдХреА рд╡рд░реНрддрдорд╛рди рд╕рд╛рдордЧреНрд░реА рдХреЛ рд▓рд┐рдЦрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╕рдорд╛рдзрд╛рди рдкреНрд░рднрд╛рд╡реА рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдпрд╣ рд░реИрдо рдХреЗ рдереЛрдбрд╝рд╛ рдЕрдзрд┐рдХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдХрд╛рд░рдг рдмрдирддрд╛ рд╣реИред рдорд┐рд░рд░рд╕реНрдЯреИрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╕рдорд╛рди рд╣реИред



рдкреНрд░рдХреНрд░рд┐рдпрд╛ tcpu1802 ред рджрд░реНрдкрдгрд╡рд┐рд╣реАрдирддрд╛ ;

рд╡рд░

i , j : рдкреВрд░реНрдгрд╛рдВрдХ ;

tmp : рдмрд╛рдЗрдЯ ;

рд╢реБрд░реВ рдХрд░рдирд╛

рдЕрдЧрд░ ( Ireg> = $ F00 ) рдФрд░ ( Ireg < = $ FFF ) рддрдм

рд╢реБрд░реВ рдХрд░рдирд╛

i : = 0 рд╕реЗ 255 рдХреЗ рд▓рд┐рдП

рд╢реБрд░реВ рдХрд░рдирд╛

tmp : = 0 ;

j рдХреЗ рд▓рд┐рдП : = 0 рд╕реЗ 7 рдХрд░рддреЗ рд╣реИрдВ

рд╢реБрд░реВ рдХрд░рдирд╛

рдЕрдЧрд░ рд╡рд┐рдбрд┐рдпреЛрд░реЗ [ i * j ] рд╣реИ рддреЛ tmp : = tmp + 1 ;

tmp : = tmp shl 1 ;

рдЕрдВрдд ;

рдореЗрдореЛрд░реА [ $ F00 + i ] : = tmp ;

рдЕрдВрдд ;

рдЕрдВрдд ;

рдЕрдВрдд ;





рдкреНрд░рдХреНрд░рд┐рдпрд╛ tcpu1802 ред рджрд░реНрдкрдг ;

рд╡рд░

рдПрди , рдЖрдИ : рдкреВрд░реНрдгрд╛рдВрдХ ;

рд╢реБрд░реВ рдХрд░рдирд╛

рдЕрдЧрд░ ( Ireg> = $ EA0 ) рдФрд░ ( Ireg < = $ EFF ) рддрдм

рд╢реБрд░реВ рдХрд░рдирд╛

рдЕрдЧрд░ рд╕реНрдЯреИрдХрд╛рдЗрдЬрд╝> резреи рддреЛ рдПрди : = резрез рдФрд░ рдПрди : = рд╕реНрдЯреИрдХрд╛рдЗрдЬрд╝ - рез ;

i рдХреЗ рд▓рд┐рдП : = 0 рд╕реЗ n рдХрд░рдирд╛

рд╢реБрд░реВ рдХрд░рдирд╛

рдореЗрдореЛрд░реА [ $ EFF - i * 2 ] : = рд╕реНрдЯреИрдХ [ i ] div 256 ;

рдореЗрдореЛрд░реА [ $ EFF - i * 2 + 1 ] : = рд╕реНрдЯреИрдХ [ i ] рдореЙрдб 256 ;

рдЕрдВрдд ;

рдЕрдВрдд ;

рдЕрдВрдд ;





рдкреНрд░реЛрд╕реЗрд╕рд░ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдк рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдХрдорд╛рдВрдб рдХреЛ рд╕рд╢рд░реНрдд рд░реВрдк рд╕реЗ 4 рдмрд┐рдЯреНрд╕ рдХреЗ 4 рд╡рд░реНрдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЙрдирдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдУрдкрдХреЛрдб рдбреЗрдЯрд╛ рдкреНрд░рдХрд╛рд░ рдкреЗрд╢ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ (рдЯрд╛рдЗрдк рдУрдкреЛрдб = рд╕рд░рдгреА [рдмрд╛рдЗрдЯ рдХрд╛ 0..3];)ред



рдореИрдВ рдореЗрдореЛрд░реА рд╕реЗ рдЕрдЧрд▓реЗ рдбреЗрдЯрд╛ рдХреЛ рдкрд░рд┐рд╡рд░реНрддрд┐рдд рдХрд░рдиреЗ рдФрд░ рдкрдврд╝рдиреЗ рдкрд░ рдзреНрдпрд╛рди рдХреЗрдВрджреНрд░рд┐рдд рдирд╣реАрдВ рдХрд░реВрдВрдЧрд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдореИрдВ рд░рди рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреА рд╕рдВрд░рдЪрдирд╛ рдкрд░ рдзреНрдпрд╛рди рджреВрдВрдЧрд╛ рдЬреЛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рдЕрдиреБрдХреВрд▓рди рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП, рдпрд╣ "рдпрджрд┐ рдлрд┐рд░ рдирд╣реАрдВ" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди "рдорд╛рдорд▓рд╛", рдФрд░ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдХрдИ рдЖрджреЗрд╢ рдЖрдкрдХреЛ рдЙрдиреНрд╣реЗрдВ рдХреЛрдбрд╛рдВрддрд░рдХ рдХреЗ рд╕рд╛рде рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЬреЛ рдЖрдЧреЗ рдЕрдиреБрдХрд░рдг рдХреЛ рдЧрддрд┐ рдкреНрд░рджрд╛рди рдХрд░рддреЗ рд╣реИрдВред рдпрд╣рд╛рдБ рдЗрд╕ рддрд░рд╣ рдХреЗ рдПрдХ рдЖрджреЗрд╢ рдХрд╛ рдПрдХ рдЙрджрд╛рд╣рд░рдг рд╣реИ:



рдЕрдЧрд░ op [ 3 ] = 1 рддреЛ

рд╢реБрд░реВ рдХрд░рдирд╛

tmp : = Vreg [ op [ 1 ] ] ;

tmp2 : = Vreg [ op [ 2 ] ] ;

рдПрдПрд╕рдПрдо

рдЪрд▓ рдЖрд╣ , [ tmp ]

рдпрд╛ рдЖрд╣ , [ tmp2 ] ;

рдореВрд╡ [ tmp ] , рдЖрд╣ ;

рдЕрдВрдд ;

Vreg [ op [ 1 ] ] : = tmp ;

рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ : = рд╕рдЪ ;

рдХреЛрдбреЗрдВрдбрд░ : = рдХреЛрдбреЗрдВрдбрд░ + 2 ;

рдЕрдВрдд ;




рдЕрдм, рдЕрдиреБрдХрд░рдг рдХреЗ рд╕рднреА рдХреНрд╖рдгреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, рдЖрдк рдЕрдкрдирд╛ CHIP-8 рдЕрдиреБрдХрд░рдг рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВред рдореБрдЭреЗ рдЖрд╢рд╛ рд╣реИ рдХрд┐ рдЖрдкрдХреЛ рдореЗрд░рд╛ рд▓реЗрдЦ рдЕрдЪреНрдЫрд╛ рд▓рдЧрд╛ рд╣реЛрдЧрд╛ рдФрд░ рдпрд╣ рдЙрдкрдпреЛрдЧреА рдерд╛ред рдкрдврд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдзрдиреНрдпрд╡рд╛рджред



рдкреНрд░рдпреБрдХреНрдд рд▓реЗрдЦ:

рдПрдХ CHIP-8 / SCHIP рдПрдореБрд▓реЗрдЯрд░

рдбреЗрд╡рд┐рдб рд╡рд┐рдВрдЯрд░ (HPMANIAC) рджреНрд╡рд╛рд░рд╛

рд╡рд┐рдХрд┐рдкреАрдбрд┐рдпрд╛



рдореЙрдбреНрдпреВрд▓ рд╕реНрд░реЛрдд:

рд╕реНрд░реЛрдд рдХреЛрдб



рдпрд╣ рдЙрд╕рдХреЗ рд▓рд┐рдП рдерд╛ рдХрд┐ рдореБрдЭреЗ рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛ nsinreal рд╕реЗ рдирд┐рдордВрддреНрд░рдг рдорд┐рд▓рд╛, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЙрд╕реЗ рдмрд╣реБрдд рдзрдиреНрдпрд╡рд╛рдж ред



рдЗрд╕ рдЖрд▓реЗрдЦ рдХреЗ рдкреНрд░рдХрд╛рд╢рди рд╕реЗ рдПрдХ рдШрдВрдЯреЗ рдкрд╣рд▓реЗ рдЫрдкреЗ рд▓реЗрдЦ рдХреЛ "рдХреЙрдкреА-рдкреЗрд╕реНрдЯ" рдХреЗ рд░реВрдк рдореЗрдВ рдирд╣реАрдВ рдорд╛рдирдиреЗ рдХрд╛ рдЕрдиреБрд░реЛрдз, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕реЗ рднреЗрдЬрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрд╛ред рдХреГрдкрдпрд╛ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ рдХрд┐ рдореЙрдбреНрдпреВрд▓ рдХреА рд╡рд┐рднрд┐рдиреНрди рд╕рд╛рдордЧреНрд░рд┐рдпреЛрдВ рдФрд░ рдЕрдиреБрдХрд░рдг рдХреЗ рд▓рд┐рдП рдЕрд▓рдЧ-рдЕрд▓рдЧ рджреГрд╖реНрдЯрд┐рдХреЛрдг, рдЕрдЧреНрд░рд┐рдо рдзрдиреНрдпрд╡рд╛рдж рдХреЗ рдХрд╛рд░рдг рд╣рдордиреЗ рдПрдХ-рджреВрд╕рд░реЗ рдХреЗ рд▓реЗрдЦ рдирд╣реАрдВ рджреЗрдЦреЗред



All Articles