рдЧреЗрдордмреЙрдп рдПрдореБрд▓реЗрдЯрд░ рд▓рд┐рдЦрдирд╛, рднрд╛рдЧ 1

рдЖрдкрдХрд╛ рд╕реНрд╡рд╛рдЧрдд рд╣реИ!

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

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

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

рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ, рд╣рдо рдЧреЗрдордмреЙрдп рдХреЛ рдЬрд╛рдиреЗрдВрдЧреЗ рдФрд░ рдЗрд╕рдХреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдореЗрдореЛрд░реА рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рдХреЗ рд╢реБрд░реВ рдХрд░реЗрдВрдЧреЗред

рдЧреЗрдордмреЙрдп рдПрдореБрд▓реЗрдЯрд░ рд▓рд┐рдЦрдирд╛, рднрд╛рдЧ 1
рдЧреЗрдордмреЙрдп рдПрдореБрд▓реЗрдЯрд░ рд▓рд┐рдЦрдирд╛, рднрд╛рдЧ 2
рдПрдХ рдЧреЗрдордмреЙрдп рдПрдореБрд▓реЗрдЯрд░ рд▓рд┐рдЦрдирд╛, рднрд╛рдЧ 3

рд╕рд╛рдордЧреНрд░реА рдХреА рддрд╛рд▓рд┐рдХрд╛

рдкрд░рд┐рдЪрдп
рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░
рдкреНрд░реЛрд╕реЗрд╕рд░
рдмреАрдЪ рдореЗрдВ рдЖрддрд╛ рд╣реИ
рд╕реНрдореГрддрд┐
рдирд┐рд╖реНрдХрд░реНрд╖

рдкрд░рд┐рдЪрдп


рдЧреЗрдордмреЙрдп рдПрдХ рдирд┐рдиреНрдЯреЗрдВрдбреЛ рд╣реИрдВрдбрд╣реЗрд▓реНрдб рдХрдВрд╕реЛрд▓ рд╣реИ рдЬрд┐рд╕реЗ 1989 рдореЗрдВ рд▓реЙрдиреНрдЪ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрд╣ рдореВрд▓ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рдЧреЗрдордмреЙрдп рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╣реЛрдЧрд╛ред рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рдЬрд┐рдиреНрд╣реЗрдВ рд╣рдо рдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдВрдЧреЗ, рдХреЛрдб рдирд╛рдо рдЧреЗрдордмреЙрдп рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдбреАрдПрдордЬреА (рдбреЙрдЯ рдореИрдЯреНрд░рд┐рдХреНрд╕ рдЧреЗрдо)ред рдЖрдЧреЗ рдореИрдВ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реВрдВрдЧрд╛ред

рд╢реБрд░реВ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдЖрдкрдХреЛ рдЦреБрдж рдХреЛ DMG рдХреА рддрдХрдиреАрдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рдХрд░рдирд╛ рд╣реЛрдЧрд╛:

рдкреНрд░реЛрд╕реЗрд╕рд░8-рдмрд┐рдЯ рд╢рд╛рд░реНрдк LR35902 4.19 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ
рдмрд┐рдирд╛ рд╕реЛрдЪреЗ рд╕рдордЭреЗ рдпрд╛рдж рдХрд░рдирд╛8 рдХреЗрдмреА
рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА8 рдХреЗрдмреА
рд╕реНрдХреНрд░реАрди рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди160x144
рд▓рдВрдмрд╡рдд рдЖрд╡реГрддреНрддрд┐59.73 рд╣рд░реНрдЯреНрдЬ
рдзреНрд╡рдирд┐4 рдЪреИрдирд▓, рд╕реНрдЯреАрд░рд┐рдпреЛ рд╕рд╛рдЙрдВрдб


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

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

рдореИрдВ рддреБрд░рдВрдд рдЪреЗрддрд╛рд╡рдиреА рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рддреНрд░реБрдЯрд┐рдпрд╛рдВ рд╣реЛрдВрдЧреА, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рднреАред рд▓реЗрдЦреЛрдВ рдХреА рдЗрд╕ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдХреЗ рджреМрд░рд╛рди, рдореИрдВ рд╡рд┐рднрд┐рдиреНрди рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдХреА рдЙрди рд╕рднреА рдХрдорд┐рдпреЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдБрдЧрд╛ рдЬреЛ рдореБрдЭреЗ рдорд┐рд▓ рд╕рдХрддреА рд╣реИрдВ (рдпрд╛рдж)ред рдореИрдВ рдХрдИ рдЕрдВрддрд░рд╛рд▓реЛрдВ рдХреЛ рднрд░рдиреЗ рдХреА рднреА рдХреЛрд╢рд┐рд╢ рдХрд░реВрдВрдЧрд╛ред рд▓рдмреНрдмреЛрд▓реБрдЖрдм рдпрд╣ рд╣реИ рдХрд┐ рдбреАрдПрдордЬреА рдХреЗ рд▓рд┐рдП рдХреЛрдИ рд╡реНрдпрд╛рдкрдХ рд╡рд┐рд╡рд░рдг рдирд╣реАрдВ рд╣реИред рдЙрдкрд▓рдмреНрдз рд╕рд╛рдордЧреНрд░реА рдХреЗрд╡рд▓ рдХрдИ рдХрдВрд╕реЛрд▓ рдиреЛрдбреНрд╕ рдХреЗ рдХрд╛рдо рдХрд╛ рдПрдХ рд╕рддрд╣реА рд╡рд┐рдЪрд╛рд░ рджреЗрддреА рд╣реИред рдпрджрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рдХреЛ рдЗрд╕ рддрд░рд╣ рдХреЗ "рдиреБрдХрд╕рд╛рди" рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдкрддрд╛ рдирд╣реАрдВ рд╣реИ, рддреЛ рдПрдХ рдПрдореБрд▓реЗрдЯрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдмрд╣реБрдд рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рд╣реЛ рдЬрд╛рдПрдЧрд╛ рдЬрд┐рддрдирд╛ рдХрд┐ рдпрд╣ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред DMG рдкрд░реНрдпрд╛рдкреНрдд рд╕рд░рд▓ рд╣реИ рдЬрдм рдЖрдкрдХреЗ рдкрд╛рд╕ рд╣рд╛рде рдкрд░ рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдФрд░ рд╡рд┐рд╕реНрддреГрдд рдЬрд╛рдирдХрд╛рд░реА рд╣реЛрддреА рд╣реИред рдФрд░ рд╕рдорд╕реНрдпрд╛ рдпрд╣ рд╣реИ рдХрд┐ рдХрдИ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдХреЗрд╡рд▓ рдЕрдиреНрдп рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рд╕реЗ рд╕реАрдЦреЗ рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдЬреЛ рд╣рд╛рд▓рд╛рдВрдХрд┐, рд╣рдорд╛рд░реЗ рдХрд╛рд░реНрдп рдХреЛ рдЖрд╕рд╛рди рдирд╣реАрдВ рдмрдирд╛рддрд╛ рд╣реИред рдЬрд╛рдиреЗ-рдорд╛рдиреЗ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдХреЛрдб рдпрд╛ рддреЛ рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд╣реИ (рдЧреИрдореНрдмреЗрдЯ), рдпрд╛ рдпрд╣ рдПрдХ рднрдпрд╛рдирдХ рдвреЗрд░, рдЕрд╣рдо, рдХрдо-рдЧреБрдгрд╡рддреНрддрд╛ рд╡рд╛рд▓рд╛ рдХреЛрдб (рд╡рд┐рдЬрд╝реБрдЕрд▓ рдмреЙрдп рдПрдбрд╡рд╛рдВрд╕ - рдЖрдк рдЖрдБрд╕реВ рдХреЗ рдмрд┐рдирд╛ рдЗрд╕рдХреЗ рдХреЛрдб рдХреЛ рдирд╣реАрдВ рджреЗрдЦ рд╕рдХрддреЗ рд╣реИрдВ)ред

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

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

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

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

рддреЛ рдЪрд▓рд┐рдП рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред

рдкреНрд░реЛрд╕реЗрд╕рд░

DMG рдореЗрдВ 4194304 рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдЪрд▓рдиреЗ рд╡рд╛рд▓рд╛ 8-рдмрд┐рдЯ рд╢рд╛рд░реНрдк LR35902 рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ (рдРрд╕реА рд╕рдЯреАрдХрддрд╛ рдкрд░ рдЖрд╢реНрдЪрд░реНрдп рди рдХрд░реЗрдВ - рд╣рдореЗрдВ рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЗрд╕ рдирдВрдмрд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА)ред рдЗрд╕реЗ рдЬрд╝рд┐рд▓реЙрдЧ рдЬрд╝реЗрдб 80 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рд╕рд░рд▓реАрдХреГрдд рд╕рдВрд╕реНрдХрд░рдг рдорд╛рдирд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдЬреЛ рдмрджрд▓реЗ рдореЗрдВ рдЗрдВрдЯреЗрд▓ 8080 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИред рдЬрд╝реЗрдб 80 рдХреА рддреБрд▓рдирд╛ рдореЗрдВ, рдХреБрдЫ рд░рдЬрд┐рд╕реНрдЯрд░ рдФрд░ рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╕реЗрдЯ рдЧрд╛рдпрдм рд╣реИрдВред

рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдЖрда 8-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░ рдП, рдмреА, рд╕реА, рдбреА, рдИ, рдПрдл, рдПрдЪ, рдПрд▓ рдФрд░ рджреЛ 16-рдмрд┐рдЯ рд╡рд┐рд╢реЗрд╖ рдЙрджреНрджреЗрд╢реНрдп рд░рдЬрд┐рд╕реНрдЯрд░ - рдкреАрд╕реА рдФрд░ рдПрд╕рдкреА рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢ рдЖрдкрдХреЛ 8-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рд╕рдВрдпреЛрдЬрд┐рдд рдХрд░рдиреЗ рдФрд░ 16-рдмрд┐рдЯ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддреЗ рд╣реИрдВ, рдЕрд░реНрдерд╛рддреН рд╡рд╛рдпреБрд╕реЗрдирд╛, рдмреАрд╕реА, рдбреАрдИ, рдПрдЪрдПрд▓ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмреАрд╕реА рд░рдЬрд┐рд╕реНрдЯрд░ "рд╕рд░реЗрд╕ рд╕реЗ рдЬреЛрдбрд╝рд╛ рд╣реБрдЖ" рдмреА рдФрд░ рд╕реА рдХреЛ рдкрдВрдЬреАрдХреГрдд рдХрд░рддрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд╕реА рд░рдЬрд┐рд╕реНрдЯрд░ рдХрдо рдмрд╛рдЗрдЯ рдФрд░ рдмреА рдЙрдЪреНрдЪ рдХреЗ рд░реВрдк рдореЗрдВ рдХрд╛рд░реНрдп рдХрд░рддрд╛ рд╣реИред
рд░рдЬрд┐рд╕реНрдЯрд░ рдП, рдмреА, рд╕реА, рдбреА, рдИ, рдПрдЪ, рдПрд▓ рд╕рд╛рдорд╛рдиреНрдп рдЙрджреНрджреЗрд╢реНрдп рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВред рд░рдЬрд┐рд╕реНрдЯрд░ рдП рднреА рдПрдХ рдмреИрдЯрд░реА рд╣реИред рд░рдЬрд┐рд╕реНрдЯрд░ рдПрдл рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдЭрдВрдбреЗ рд╣реЛрддреЗ рд╣реИрдВ рдФрд░ рдпрд╣ рд╕реАрдзреЗ рдкрд╣реБрдВрдЪ рдпреЛрдЧреНрдп рдирд╣реАрдВ рд╣реЛрддрд╛ рд╣реИред рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдПрдХ рд░рдЬрд┐рд╕реНрдЯрд░ рд░реВрдкрд░реЗрдЦрд╛ рд╣реИред 3 рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдмрд┐рдЯ76543210
рдЭрдВрдбрд╛рдЬреЗрдбрдПрдирдПрдЪрд╕реА0000

рдЭрдВрдбреЗ рдХрд╛ рдЙрджреНрджреЗрд╢реНрдп:

рд░рдЬрд┐рд╕реНрдЯрд░ рдкреАрд╕реА (рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд╛рдЙрдВрдЯрд░), рдЬреИрд╕рд╛ рдХрд┐ рдЖрдк рдЕрдиреБрдорд╛рди рд▓рдЧрд╛ рд╕рдХрддреЗ рд╣реИрдВ, рдПрдХ рдирд┐рд░реНрджреЗрд╢ рдХрд╛рдЙрдВрдЯрд░ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ рдЕрдЧрд▓реЗ рдирд┐рд░реНрджреЗрд╢ рдХрд╛ рдкрддрд╛ рд╣реИред

рдХреНрд░рдорд╢рдГ рдПрд╕рдкреА рд░рдЬрд┐рд╕реНрдЯрд░ (рд╕реНрдЯреИрдХ рдкреЙрдЗрдВрдЯрд░), рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдкрд░ рдПрдХ рдкреЙрдЗрдВрдЯрд░ рд╣реИред рдЬреЛ рд▓реЛрдЧ рдЬрд╛рдирддреЗ рдирд╣реАрдВ рд╣реИрдВ, рдЙрдирдХреЗ рд▓рд┐рдП рд╕реНрдЯреИрдХ рдПрдХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╣реИ рдЬрд┐рд╕рдореЗрдВ рд╡реЗрд░рд┐рдПрдмрд▓реНрд╕, рд░рд┐рдЯрд░реНрди рдПрдбреНрд░реЗрд╕ рдЖрджрд┐ рдХреЗ рдорд╛рди рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВред рдПрд╕рдкреА рдореЗрдВ рд╕реНрдЯреИрдХ рдХреЗ рд╢реАрд░реНрд╖ рдХрд╛ рдкрддрд╛ рд╣реЛрддрд╛ рд╣реИ - рд╕реНрдЯреИрдХ рдиреАрдЪреЗ рд╕реЗ рдЙрдЪреНрдЪ рддрдХ рдмрдврд╝рддрд╛ рд╣реИред рдЙрд╕рдХреЗ рд▓рд┐рдП, рд╣рдореЗрд╢рд╛ рдХрдо рд╕реЗ рдХрдо рджреЛ рдСрдкрд░реЗрд╢рди рд╣реЛрддреЗ рд╣реИрдВред PUSH рдЖрдкрдХреЛ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рдорд╛рди рд╕рдореНрдорд┐рд▓рд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдкрд╣рд▓реЗ, SP рд░рдЬрд┐рд╕реНрдЯрд░ рдХрдо рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрдХ рдирдпрд╛ рдорд╛рди рдбрд╛рд▓рд╛ рдЬрд╛рддрд╛ рд╣реИред рдкреАрдУрдкреА рдЖрдкрдХреЛ рдореВрд▓реНрдп рдХреЛ рдкреБрдирдГ рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ - рдкрд╣рд▓реЗ, рдкрддреЗ рдкрд░ рдПрд╕рдкреА, рдорд╛рди рдХреЛ рдореЗрдореЛрд░реА рд╕реЗ рдкреБрдирд░реНрдкреНрд░рд╛рдкреНрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдПрд╕рдкреА рдХреЛ рдмрдврд╝рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рддрдерд╛рдХрдерд┐рдд IME (рдЗрдВрдЯрд░рдкреНрдЯ рдорд╛рд╕реНрдЯрд░ рд╕рдХреНрд╖рдо) рднреА рд╢рд╛рдорд┐рд▓ рд╣реИ - рдПрдХ рдЭрдВрдбрд╛ рдЬреЛ рдмрд╛рдзрд┐рдд рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрд╣ рдХреНрд░рдорд╢рдГ рджреЛ рдорд╛рди рд▓реЗрддрд╛ рд╣реИ - рдЕрдХреНрд╖рдо (0) рдФрд░ рд╕рдХреНрд╖рдо (1)ред

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

union WordRegister { struct { BYTE L; BYTE H; } bytes; WORD word; }; 


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

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

 BYTE opcode = MMC.Read(PC); PC++; switch (opcode) { case 0x00: break; } 


рд╕рднреА рдСрдкрдХреЛрдб рдХреА рд▓рдВрдмрд╛рдИ 1 рдмрд╛рдЗрдЯ рд╣реИ, рд▓реЗрдХрд┐рди рдХреБрдЫ рдирд┐рд░реНрджреЗрд╢ рддрдерд╛рдХрдерд┐рдд рдЙрдкрд╕рд░реНрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ - рдкрд╣рд▓рд╛ рдмрд╛рдЗрдЯ рдирд┐рд░реНрджреЗрд╢ рд╕реЗрдЯ рдХрд╛ рдЙрдкрд╕рд░реНрдЧ рд╣реИ (рд╣рдорд╛рд░реЗ рд▓рд┐рдП, рдПрдХрдорд╛рддреНрд░ рдЙрдкрд╕рд░реНрдЧ 0xCB рд╣реИ), рджреВрд╕рд░рд╛ рдмрд╛рдЗрдЯ рдЗрд╕ рд╕реЗрдЯ рд╕реЗ рдУрдкрдХреЛрдб рд╣реИред рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдкреНрд░рд╛рдердорд┐рдХ рд╣реИ - рдЬреИрд╕реЗ рд╣реА рд╣рдо 0xCB рдкрд░ рдареЛрдХрд░ рдЦрд╛рдИ, рд╣рдо рдПрдХ рдФрд░ рдмрд╛рдЗрдЯ рдкрдврд╝рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реЗ рдПрдХ рдиреЗрдХреНрдб рд╕реНрд╡рд┐рдЪ рдХреЗ рд╕рд╛рде рдбрд┐рдХреЛрдб рдХрд░рддреЗ рд╣реИрдВред

рдпрд╣ рдХреЛрдб рд╢реВрдиреНрдп рдЪрд░рдг () рдлрд╝рдВрдХреНрд╢рди рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдПрдХ рдХреЙрд▓ рдореЗрдВ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИ рдФрд░ рдЕрдиреНрдп рдЖрд╡рд╢реНрдпрдХ рд╕рдВрдЪрд╛рд▓рди рдХрд░рддрд╛ рд╣реИред

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╕реНрдореГрддрд┐ рдХреЛ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдореЗрдВ рдПрдХ рдФрд░ рд╡рд░реНрдЧ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ - рдХреБрдХреАрдмреЙрдп :: рдореЗрдореЛрд░реА, рдЬрд┐рд╕рдХреА рд╡рд╕реНрддреБ рдХреЛ "рдПрдордПрдорд╕реА" рдирд╛рдо рд╕реЗ рдКрдкрд░ рджреЗрдЦрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рд╕реНрддрд░ рдкрд░, рдмреБрдирд┐рдпрд╛рджреА рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдЯрдмреНрд╕ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИрдВ:

 class Memory { public: void Write(WORD addr, BYTE value); BYTE Read(WORD addr); }; 


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

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

рдЗрд╕ рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╛рдлреА рд╕рд░рд▓ рд╣реИред рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣рдорд╛рд░реЗ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдХреЗрдВрджреНрд░реАрдп рд▓рд┐рдВрдХ рд╣реИред рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкрд╛рд▓рди рдХрд░рддреЗ рд╣реБрдП, рд╣рдо рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╕рднреА рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЪрдХреНрд░реЛрдВ рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВ SYNC_WITH_CPU рдореИрдХреНрд░реЛ (рдХреНрд▓реЙрдХрдбреЗрд▓реНрдЯрд╛) рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реВрдВ, рдЬреЛ рдЕрдиреБрджреЗрд╢ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдкрд░ рдкреНрд░реЛрд╕реЗрд╕рд░ рджреНрд╡рд╛рд░рд╛ рдЦрд░реНрдЪ рдХрд┐рдП рдЧрдП рд╕рдордп рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд╢реЗрд╖ рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рддрд╛ рд╣реИред рд╕рд┐рдВрдХреНрд░реЛрдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреА рд╕рдорд╕реНрдпрд╛ рдХрд╛ рд╣рд▓ рдЖрд╕рд╛рдиреА рд╕реЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд╡рд░реНрдЧ рд╕реЗ рдкрд░реЗ рд▓реЗ рдЬрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдпрджрд┐ рдПрдХ рдХреЗ рд▓рд┐рдП рдирд╣реАрдВред

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

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

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

рдЕрдм рд╕рд▓рд╛рдЦреЛрдВ рдХреЗ рд╕рд╛рде рд╕реНрдерд┐рддрд┐ рдХреЛ рд╕реНрдкрд╖реНрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдереЛрдбрд╝рд╛ рдЦреБрджрд╛рдИ рдХрд░рддреЗ рд╣реИрдВред рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд▓реЗрдЦрди рдореЗрдВ рднреНрд░рдо рдХреА рд╕реНрдерд┐рддрд┐ рд╣реИред рдХреБрдЫ рджрд╕реНрддрд╛рд╡реЗрдЬ рдРрд╕реЗ рдирдВрдмрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдирдУрдкреА рдХреА рдЕрд╡рдзрд┐ 4 рдЙрдкрд╛рдп рд╣реИ, рдЕрдиреНрдп - 1 рдЙрдкрд╛рдп (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдпрд╣ рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рдирд┐рдирдЯреЗрдВрдбреЛ рджрд╕реНрддрд╛рд╡реЗрдЬ рдореЗрдВ рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ)ред рдХрд╛рд░рдг рдХреЛ рд╕рдордЭрдиреЗ рдХреЗ рд▓рд┐рдП рдпрд╣ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдереЛрдбрд╝рд╛ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИред

рдХрд┐рд╕реА рднреА рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢ рдХреА рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЕрд╡рдзрд┐ рд╣реЛрддреА рд╣реИ, рдЬрд┐рд╕реЗ рд╣рдо рдПрдХ рдорд╢реАрди рдЪрдХреНрд░ рдХрд╣рддреЗ рд╣реИрдВред рдПрдХ рдорд╢реАрди рдЪрдХреНрд░ рдореЗрдВ, рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рд╕реЗ рдПрдХ рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдПрдХ рдУрдкрдХреЛрдб рдкрдврд╝рдирд╛, рдЗрд╕реЗ рдбрд┐рдХреЛрдб рдХрд░рдирд╛ рдФрд░ рдПрдХ рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдирд╛; рд╕реНрдореГрддрд┐ рдореЗрдВ рдкрдврд╝рдирд╛ рдпрд╛ рд▓рд┐рдЦрдирд╛ред рдмрджрд▓реЗ рдореЗрдВ, рдПрдХ рдорд╢реАрди рдЪрдХреНрд░ рдореЗрдВ рдорд╢реАрди рдЪрдХреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рдПрдХ рдкреНрд░реЛрд╕реЗрд╕рд░ рдПрдХ рдорд╢реАрди рдЪрдХреНрд░ рдореЗрдВ рдХрдИ рдСрдкрд░реЗрд╢рди рдХрд░ рд╕рдХрддрд╛ рд╣реИред рдФрд░ рдЗрд╕рд▓рд┐рдП рд╣рдо рдЕрдкрдиреЗ рдкреНрд░реЛрд╕реЗрд╕рд░ рдкрд░ рдЖрддреЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рдПрдирдУрдкреА 4 рдЪрдХреНрд░реЛрдВ рддрдХ рд░рд╣рддрд╛ рд╣реИ, рддреЛ рд╣рдо рдорд╢реАрди рдЪрдХреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдЕрдЧрд░ рд╣рдо рдПрдирдУрдкреА рдХреЗ рд▓рд┐рдП 1 рдШрдбрд╝реА рдЪрдХреНрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВ, рддреЛ рд╣рдо рдорд╢реАрди рдЪрдХреНрд░реЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╛рдд рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдпрд╣ рдареАрдХ рдЙрд╕реА рдкреНрд░рдХрд╛рд░ рд╣реИ рдЬреИрд╕реЗ DMG рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ - рдЗрд╕рдХрд╛ рдорд╢реАрди рдЪрдХреНрд░ 4 рдорд╢реАрди рдЪрдХреНрд░ рддрдХ рд░рд╣рддрд╛ рд╣реИ рдФрд░ рдХрдИ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдореЗрдВ рдареАрдХ 4 рдЪрдХреНрд░ рдпрд╛ 1 рдорд╢реАрди рдЪрдХреНрд░ рд╣реЛрддрд╛ рд╣реИ - DMG рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдореЛрд░реА рд╕реЗ рдУрдкрдХреЛрдб рдХреЛ рдкрдврд╝рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реЛрддрд╛ рд╣реИ, рдЗрд╕реЗ рдбрд┐рдХреЛрдб рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЗрд╡рд▓ 4 рдорд╢реАрди рдЪрдХреНрд░ рдореЗрдВ рдирд┐рд░реНрджреЗрд╢ рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рддрд╛ рд╣реИред

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

рдЗрд╕ рд╕реНрддрд░ рдкрд░, рд╕рднреА рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХрд╛ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЕрдиреБрдХрд░рдг рдХрд░рдирд╛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рдВрднрд╡ рд╣реИред рдЕрд▓рдЧ рд╕реЗ, рдпрд╣ рдЙрдирдореЗрдВ рд╕реЗ рдХреБрдЫ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдпреЛрдЧреНрдп рд╣реИ:



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

opcodesрд╕рдВрдХреНрд░рдордг рдирд╣реАрдВ рд╣реБрдЖрд╕рдВрдХреНрд░рдордг рд╣реБрдЖ рд╣реИ
0xC2, 0xCA, 0xD2, 0xDA1216
0x20, 0x28, 0x30, 0x38812
0xC4, 0xCC, 0xD4, 0xDC1224
0xC0, 0xC8, 0xD0, 0xD8820


рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд▓рд┐рдП RST n (opcodes 0xC7, 0xCF, 0xD7, 0xDF, 0xE7, 0xEF, 0xF7, 0xFF) рдЧрд▓рдд рдЕрд╡рдзрд┐ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рд╕рд╣реА рдорд╛рди 16 рдЙрдкрд╛рдп рд╣реИред

рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЗрд╕ рд╕рдордп, рд╣рдорд╛рд░рд╛ "рдкреНрд░реЛрд╕реЗрд╕рд░" рдореЗрдореЛрд░реА рд╕реЗ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЛ рдкрдврд╝рдиреЗ, рдЙрдиреНрд╣реЗрдВ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдФрд░ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЛ рдЕрдкрдиреЗ рд╕рд╛рде рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ (рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ рдпреЗ рд╕рднреА рдбрдореА рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВ)ред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдореЗрдВ рдпрд╣ рдЬрд╛рдВрдЪрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдХрд┐ рд╕рднреА рдХрд╛рд░реНрдп рдХрд┐рдП рдЬрд╛рдиреЗ рдХреЗ рдмрд╛рдж рдХреЛрдИ рд░реБрдХрд╛рд╡рдЯ рдереА рдпрд╛ рдирд╣реАрдВред

рдмреАрдЪ рдореЗрдВ рдЖрддрд╛ рд╣реИ

рдЗрдВрдЯрд░рдкреНрдЯ рдПрдХ рдРрд╕реА рдШрдЯрдирд╛ рд╣реИ рдЬреЛ рд╡рд░реНрддрдорд╛рди рдкреНрд░реЛрд╕реЗрд╕рд░ рдирд┐рд░реНрджреЗрд╢реЛрдВ рдХреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рд░реЛрдХрддреА рд╣реИ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рд╣реИрдВрдбрд▓рд░ рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рддреА рд╣реИред рдбреАрдПрдордЬреА рдЗрд╕ рд╕рд┐рджреНрдзрд╛рдВрдд рдкрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред

рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рдХреЗ рджреМрд░рд╛рди, рд╣рдо рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рдЕрдиреНрдп рдШрдЯрдХреЛрдВ рдХреЗ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝реЗрд╢рди рддрд░реАрдХреЛрдВ рдХреЛ рдХрд╣рддреЗ рд╣реИрдВ, рдЬреЛ рдПрдХ рдмрд╛рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред DMG рдореЗрдВ, рдпрд╣ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рджреЛ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВ (рдЬрд╣рд╛рдВ рд╡реЗ рд╕реНрдерд┐рдд рд╣реИрдВ, рдмрд╛рдж рдореЗрдВ рдЪрд░реНрдЪрд╛ рдХреА рдЬрд╛рдПрдЧреА) - рдЖрдИрдПрдл (рдмреАрдЪ рдореЗрдВ рдЭрдВрдбреЗ) рдФрд░ рдЖрдИрдИ (рдмрд╛рдзрд╛ рд╕рдХреНрд╖рдо)ред рдЙрдирдХреЗ рдмрд┐рдЯреНрд╕ рдХрд╛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЙрджреНрджреЗрд╢реНрдп рд╣реИ, рдЬреЛ рджреЛрдиреЛрдВ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд╕рдорд╛рди рд╣реИ:

рдмрд┐рдЯрд╡реНрдпрд╡рдзрд╛рди
4joypad
3рд╕реАрд░рд┐рдпрд▓ I / O рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдкреВрд░реНрдг
2рдЕрдзрд┐рдХ рд╕рдордп рддрдХ рдмрд╣рдирд╛
1LCDC
0рд╡рд┐ рд░рд┐рдХреНрдд


IF рд░рдЬрд┐рд╕реНрдЯрд░ рдмрд┐рдЯреНрд╕ рд╕рдВрдХреЗрдд рдХрд░рддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рд╡реНрдпрд╡рдзрд╛рди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдпрджрд┐ рдмрд┐рдЯ рд╕реЗрдЯ рд╣реИ, рддреЛ рдПрдХ рдмрд╛рдзрд╛ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдг рдпрд╣ рд╣реИ рдХрд┐ рдмрд╛рдзрд╛ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╢рдЯрдбрд╛рдЙрди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рд▓реЗ рдЬрд╛рддреА рд╣реИ рдЬреЛ рдХрд┐ HALT рдпрд╛ STOP рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рдкрд░рд┐рдгрд╛рдорд╕реНрд╡рд░реВрдк рд╣реБрдИред рдФрд░ рдпрд╣рд╛рдБ рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЬрд┐рд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рдмрд╛рдзрд┐рдд рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдЬрд╛рдВрдЪ рдХреА рдЬрд╛рддреА рд╣реИ, рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИред рдПрд▓реНрдЧреЛрд░рд┐рдереНрдо рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд╣реИ:
  1. рдЬрд╛рдВрдЪреЗрдВ рдХрд┐ рдХреНрдпрд╛ рдХреЛрдИ рд╡реНрдпрд╡рдзрд╛рди рд╣реИ рдЬреЛ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдпрд╣ IE рдФрд░ IF рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдмреАрдЪ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд, рдпрд╣ рд╕рдВрднрд╡ рдХрдЪрд░рд╛ рдирд┐рдХрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдгрд╛рдо рдФрд░ рд╕рдВрдЦреНрдпрд╛ 0x1F рдХреЗ рд╕рд╛рде рдПрдХ рддрд╛рд░реНрдХрд┐рдХ рдФрд░ рдСрдкрд░реЗрд╢рди рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рджреЛрдиреЛрдВ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рд╕рдмрд╕реЗ рдорд╣рддреНрд╡рдкреВрд░реНрдг рддреАрди рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
  2. рдпрджрд┐ рдРрд╕реА рдХреЛрдИ рд░реБрдХрд╛рд╡рдЯ рдирд╣реАрдВ рд╣реИрдВ, рддреЛ рд╣рдо рдлрд╝рдВрдХреНрд╢рди рд╕реЗ рдмрд╛рд╣рд░ рдирд┐рдХрд▓рддреЗ рд╣реИрдВред рдпрджрд┐ рд╡реЗ рд╣реИрдВ, рддреЛ рдЕрднреА рд╣рдореЗрдВ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЛ рд╢рдЯрдбрд╛рдЙрди рд╕реНрдерд┐рддрд┐ рд╕реЗ рдмрд╛рд╣рд░ рд▓рд╛рдирд╛ рд╣реЛрдЧрд╛ред
  3. рдЕрдм рд╣рдо рдмреАрдЪ-рдмреАрдЪ рдореЗрдВ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рд╢реБрд░реВ рдХрд░ рд░рд╣реЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╣рдо рдЬрд╛рдБрдЪрддреЗ рд╣реИрдВ рдХрд┐ рдХреНрдпрд╛ IME рдзреНрд╡рдЬ рдЙрдирдХреЗ рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░рддрд╛ рд╣реИред рдпрджрд┐ рдирд╣реАрдВ, рддреЛ:
    1. рд╢реВрдиреНрдп IME;
    2. рд╕реНрдЯреИрдХ рдкрд░ рдкреАрд╕реА рд░рдЬрд┐рд╕реНрдЯрд░ рд▓реЛрдб рдХрд░реЗрдВ;
    3. рд╣рдо рдореЗрдореЛрд░реА рдореЗрдВ рд╣реИрдВрдбрд▓рд░ рдХреЗ рдкрддреЗ рдкрд░ рдкреАрд╕реА рд░рдЬрд┐рд╕реНрдЯрд░ рд╕реЗрдЯ рдХрд░рдХреЗ рдЗрдВрдЯрд░рдкреНрдЯ рд╣реИрдВрдбрд▓рд░ рдХрд╣рддреЗ рд╣реИрдВ;
    4. рд╕рдВрд╕рд╛рдзрд┐рдд рд╡реНрдпрд╡рдзрд╛рди рдХреЗ рд▓рд┐рдП IF рд░рдЬрд┐рд╕реНрдЯрд░ рдмрд┐рдЯ рд╕реЗрдЯ рдХрд░реЗрдВред

рд╡реНрдпрд╡рдзрд╛рдиреЛрдВ рдХреЛ рдПрдХ рдмрд╛рд░ рдореЗрдВ рдФрд░ рдПрдХ рд╕рдЦреНрддреА рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХреНрд░рдо рдореЗрдВ рд╕рдВрд╕рд╛рдзрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╣реИрдВрдбрд▓рд░ рдХреА рдкреНрд░рд╛рдердорд┐рдХрддрд╛рдУрдВ рдФрд░ рдкрддреЗ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕рднреА рдЬрд╛рдирдХрд╛рд░реА рд╕реАрдкреАрдпреВ рдореИрдиреБрдЕрд▓ рдореЗрдВ рдЗрдВрдЧрд┐рдд рдХреА рдЧрдИ рд╣реИред

рдПрдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╡рд░рдгред рдлрд┐рд░, рдХрд┐рд╕реА рдиреЗ рд╕реЛрдЪрд╛ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ: рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдирд╛ рдПрдХ рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреЗ рд╕рдорд╛рди рд╣реИ, рдФрд░ рдЗрд╕рд▓рд┐рдП рдХреБрдЫ рд╕рдордп рд▓реЗрдирд╛ рдЪрд╛рд╣рд┐рдПред рдпрд╣ рд╕рдЪ рд╣реИ рдФрд░ рдЗрд╕рдореЗрдВ 20 рдЙрдкрд╛рдп рд╣реИрдВред рдХрд┐рд╕реА рдХрд╛рд░рдг рд╕реЗ, рдпрд╣ рдмрд┐рдВрджреБ DMG рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдиреЗ рд╡рд╛рд▓реЗ рджрд╕реНрддрд╛рд╡реЗрдЬреЛрдВ рдореЗрдВ рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИред

рдЕрдм рд╣рдо рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВред рдХреБрдХреА :: рд╡реНрдпрд╡рдзрд╛рди рд╡рд░реНрдЧ рд╣рдорд╛рд░реЗ рд╕рд╛рде рд╡реНрдпрд╡рд╣рд╛рд░ рдХрд░реЗрдЧрд╛ред рд╣рдо рдЗрд╕рдореЗрдВ IE рдФрд░ IF рд░рдЬрд┐рд╕реНрдЯрд░ рдбрд╛рд▓рддреЗ рд╣реИрдВ рдФрд░ рдЗрди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рдПрдХреНрд╕реЗрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рдВрдХреНрд╢рди рдХреА рдШреЛрд╖рдгрд╛ рдХрд░рддреЗ рд╣реИрдВ (рд╣рдореЗрдВ рдмрд╛рдж рдореЗрдВ рдЗрдирдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрдЧреА), рд╕рд╛рде рд╣реА рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдЬреЛ рдЖрдкрдХреЛ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реБрдХрд╛рд╡рдЯ рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИ (рд╣рдо рдХрд┐рд╕реА рднреА рддрд░рд╣ рдХреЗ рд╡реНрдпрд╡рдзрд╛рди рдХрд╛ рдЕрдиреБрд░реЛрдз рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╣рд░ рдмрд╛рд░ рдмрд┐рдЯ рдореЗрдВ рд╣реЗрд░рдлреЗрд░ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред ред рд╣рдореЗрдВ рдПрдХ рдлрд╝рдВрдХреНрд╢рди рдХреА рднреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рдЬреЛ рдпрд╣ рдЬрд╛рдВрдЪ рдХрд░реЗрдЧрд╛ рдХрд┐ рдХреМрди рд╕реЗ рд╡реНрдпрд╡рдзрд╛рди рдкреНрд░рд╕рдВрд╕реНрдХрд░рдг рдХреЗ рд▓рд╛рдпрдХ рд╣реИрдВред рд╣рдо рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдЪрд░рдг рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдВрдд рдореЗрдВ рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдХреЙрд▓ рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕рдХреЗ рдЕрддрд┐рд░рд┐рдХреНрдд рдШрдЯрдХреЛрдВ рдХреЛ рд╕рд┐рдВрдХреНрд░рдирд╛рдЗрдЬрд╝ рдХрд░рддреЗ рд╣реИрдВред

рдЗрдВрдЯрд░рдкреНрдЯ рд░рд┐рдХреНрд╡реЗрд╕реНрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ред рдпрд╣ IF рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╕рдВрдмрдВрдзрд┐рдд рдмрд┐рдЯреНрд╕ рд╕реЗрдЯ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реНрдерд╛рдкрдирд╛ рд╕реЗ рдкрд╣рд▓реЗ, IE рдХреЗрд╕ рд╕рддреНрдпрд╛рдкрди рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рднрд▓реЗ рд╣реА рдЗрд╕рдореЗрдВ рдмрд┐рдЯреНрд╕ рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд░реБрдХрд╛рд╡рдЯ рдХреЛ рд░реЛрдХрддреЗ рд╣реИрдВ, рдлрд┐рд░ рднреА рд╣рдо рдмрд┐рдЯреНрд╕ рдХреЛ рдЗрд╕ рд░реБрдХрд╛рд╡рдЯ рдХреЗ рд▓рд┐рдП IF рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рд╕реЗрдЯ рдХрд░рддреЗ рд╣реИрдВред

рдпрджрд┐ рдЖрдкрдиреЗ рдХреБрдХреАрдмреЙрдп рдХреЗ рдореЗрд░реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЛ рджреЗрдЦрд╛: рд░реБрдХрд╛рд╡рдЯ рд╣реИ, рддреЛ рдЖрдк рдиреЛрдЯрд┐рд╕ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдореИрдВ IE рдФрд░ IF рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рдореВрд▓реНрдп рдХреЛ рд╡рд╛рдкрд╕ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдХреНрдпреЛрдВрдХрд┐ рдореИрдВрдиреЗ рдЙрди рд╕рднреА рдмрд┐рдЯреНрд╕ рдХреЛ рдПрдХ рдореЗрдВ рд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рд╣реИ (рдпрд╛ рдорд╛рди 0-0E0 рдХреЗ рд╕рд╛рде рдСрдкрд░реЗрд╢рди)ред рдореИрдВ рдЗрд╕реЗ рдПрдХ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХрд░рддрд╛ рд╣реВрдВред I / O рдкреЛрд░реНрдЯреНрд╕ (рдЙрд╕ рдкрд░ рдЕрдзрд┐рдХ) рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рд╕рднреА рдмрд┐рдЯреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ, рджреВрд╕рд░реЛрдВ рдиреЗ рдХреБрдЫ рдмрд┐рдЯреНрд╕ рдпрд╛ рдкреВрд░реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рддрдХ рдПрдХ рд╣реА рдмрд╛рд░ рдореЗрдВ рдкрд╣реБрдВрдЪ рдХреЛ рдкреНрд░рддрд┐рдмрдВрдзрд┐рдд рдХрд░ рджрд┐рдпрд╛ рд╣реИред рдЗрд╕реЗ рднреА рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП - рдЗрд╕рдХреЗ рд▓рд┐рдП, рдЕрдкреНрд░рдпреБрдХреНрдд рдФрд░ рдирд┐рд╖рд┐рджреНрдз рдмрд┐рдЯреНрд╕ рдХреЛ рдкрдврд╝рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд▓реМрдЯрдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдПред

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

рд╕реНрдореГрддрд┐

рд╣рдо рдПрдХ рд╢рдмреНрдж рдХреЛ рдЕрдЧреНрд░рд┐рдо рд░реВрдк рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддреЗ рд╣реИрдВ - рдПрдХ рдореЗрдореЛрд░реА рдмреИрдВрдХред рдЗрд╕рдХреЗ рджреНрд╡рд╛рд░рд╛ рд╣рдо рдХрдбрд╝рд╛рдИ рд╕реЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдЖрдХрд╛рд░ рдХреЗ рдПрдХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХрд╛ рдорддрд▓рдм рд╣реИред рджреЛ рдкреНрд░рдХрд╛рд░ рдХреЗ рдмреИрдВрдХ рд╣реИрдВ - 0x4000 рдмрд╛рдЗрдЯ рдХреА рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ ROM рдмреИрдВрдХ, рдФрд░ 0x2000 рдХреА рд▓рдВрдмрд╛рдИ рд╡рд╛рд▓реЗ рд░реИрдо рдмреИрдВрдХ (рдПрдХ рдмрд╛рд░ рдЬрдм рдЖрдк рд╣реЗрдХреНрд╕рд╛рдбреЗрд╕рд┐рдорд▓ рдирдВрдмрд░ рд╕рд┐рд╕реНрдЯрдо рдХреЗ рдЕрднреНрдпрд╕реНрдд рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рддреЛ рдпрд╣ рдореЗрд░реЗ рдФрд░ рдЖрдкрдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рд╣реЛрдЧрд╛)ред рдЗрд╕рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреНрдпреЛрдВ рд╣реИ? DMG рдкреНрд░реЛрд╕реЗрд╕рд░ 16-рдмрд┐рдЯ рдкрддреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдореЗрдВ рд╕рдХреНрд╖рдо рд╣реИ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдкрддрд╛ рд╕реНрдерд╛рди 0x10000 рдмрд╛рдЗрдЯреНрд╕ рддрдХ рд╕реАрдорд┐рдд рд╣реИред рдЗрдирдореЗрдВ рд╕реЗ, рдХреЗрд╡рд▓ 0x8000 рдмрд╛рдЗрдЯреНрд╕ рдЦреЗрд▓ рдХреА рдЫрд╡рд┐ рдХреЗ рд▓рд┐рдП рдЖрд░рдХреНрд╖рд┐рдд рд╣реИрдВред рдЬреНрдпрд╛рджрд╛рддрд░ рдорд╛рдорд▓реЛрдВ рдореЗрдВ, рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рдирд╣реАрдВ рд╣реИ рдФрд░ рдореЗрдореЛрд░реА рдмреИрдВрдХ рдЦреЗрд▓рдиреЗ рдореЗрдВ рдЖрддреЗ рд╣реИрдВред

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

рдпрд╣ рд╕рдм рдЗрд╕рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рд╣реИ рддрд╛рдХрд┐ рд╣рдорд╛рд░рд╛ DMG рдЧреЗрдо рдЗрдореЗрдЬ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХреЗ рдЬреЛ рдЕрдм рддрдХ рди рдХреЗрд╡рд▓ 0x8000 рдмрд╛рдЗрдЯ рдХреЛ рдкрд╛рд░ рдХрд░рддрд╛ рд╣реИ, рдмрд▓реНрдХрд┐ рдкреВрд░реЗ рдПрдбреНрд░реЗрд╕ рд╕реНрдкреЗрд╕ рдХреЛ рднреАред рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдпрд╣ рд╕рдм рдмрд╣реБрдд рдЬрдЯрд┐рд▓ рд▓рдЧ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдХреЗ рджреМрд░рд╛рди рдпрд╣ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдЧрд╛ рдХрд┐ рдпреЗ рдмреЗрд╣рдж рдкреНрд░рд╛рдердорд┐рдХ рдЪреАрдЬреЗрдВ рд╣реИрдВ рдЬреЛ рд╕рдордЭрд╛рдиреЗ рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╕рд╛рди рдФрд░ рддреЗрдЬрд╝ рд╣реИрдВред

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

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

рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдо ROM рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмрджрд▓ рдирд╣реАрдВ рд╕рдХрддреЗред MBC рдХреЗ рд▓рд┐рдП рдирд┐рдпрдВрддреНрд░рдг рдХрдорд╛рдВрдб рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд╕реАрдкреАрдпреВ рдореИрдиреБрдЕрд▓ рдореЗрдВ, рдЖрдк рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдХрд┐ рдХреМрди рд╕реЗ рдкрддреЗ рдХрд┐рди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ рд╣реИрдВред рдЗрд╕ рдкреНрд░рдХрд╛рд░, рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкрддреЗ рдкрд░ 9 рдирдВрдмрд░ рд▓рд┐рдЦрд╛ рд╣реБрдЖ рд╣реИ, рд╣рдо рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ рд╣рдо рдмреИрдВрдХ 9 рдХрд╛ рдЪрдпрди рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВред рдЙрд╕рдХреЗ рдмрд╛рдж, рд╣рдо рдЗрд╕рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ 0x4000-0x7FFF рдкрд░ рд╕рдВрдкрд░реНрдХ рдХрд░рдХреЗ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред

рдиреАрдЪреЗ рджрд┐рдпрд╛ рдЧрдпрд╛ рдЖрдВрдХрдбрд╝рд╛ рд╕рдмрд╕реЗ рд╕рд░рд▓ рдПрдордмреАрд╕реА рдСрдкрд░реЗрд╢рди рдпреЛрдЬрдирд╛ рдХреЛ рджрд░реНрд╢рд╛рддрд╛ рд╣реИред рдпрд╣рд╛рдБ, рдХреНрд╖реЗрддреНрд░ 0x0000-0x3FFF рдХреЛ рд╣рдореЗрд╢рд╛ рдХреБрдЫ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдирд┐рдпрдВрддреНрд░рдХреЛрдВ рдХреЗ рд░реВрдк рдореЗрдВ рдмреИрдВрдХ 0 рдкрд░ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдХреНрд╖реЗрддреНрд░ 0x4000-0x7FFF рдХреЛ рд╡рд░реНрддрдорд╛рди рдмреИрдВрдХ рдореЗрдВ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

DMG рдкрддрд╛ рд╕реНрдерд╛рди рдпреЛрдЬрдирд╛ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реЗрдВ:

рдореЗрдореЛрд░реА рдЕрдиреБрднрд╛рдЧрдкрддрд╛ рд╢реБрд░реВ рдХрд░реЗрдВрдЕрдВрдд рдХрд╛ рдкрддрд╛
рд░реЙрдо рдмреИрдВрдХ 00x00000x3FFF
рд╕реНрд╡рд┐рдЪ рдХрд░рдиреЗ рдпреЛрдЧреНрдп ROM рдмреИрдВрдХ0x40000x7FFF
рд╡реАрдбрд┐рдпреЛ рд░рд╛рдо0x80000x9FFF
рд╕реНрд╡рд╛рдЗрдк рд░рд╛рдо рдмреИрдВрдХ0xA0000xBFFF
рдЖрдВрддрд░рд┐рдХ RAM рез0xC0000xDFFF
рдЗрдВрдЯрд░рдирд▓ рд░реИрдо 1 рдХреА рдЧреВрдВрдЬ0xE0000xFDFF
OAM0xFE000xFE9F
рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛0xFEA00xFEFF
рдореИрдВ / рд╣реЗ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ0xFF000xFF4B
рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛0xFF4C0xFF7F
рдЖрдВрддрд░рд┐рдХ RAM 20xFF800xFFFE
рдмрд╛рдзрд╛ рд╕рдХреНрд╖рдо рд░рдЬрд┐рд╕реНрдЯрд░0xFFFF0xFFFF


рдкреНрд░рддреНрдпреЗрдХ рдЕрдиреБрднрд╛рдЧ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЕрдзрд┐рдХ рдЬрд╛рдирдХрд╛рд░реА:



рдЪреВрдВрдХрд┐ рдПрдореБрд▓реЗрдЯрд░ рдХрд╛ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рдкреНрд░рддреНрдпреЗрдХ рдбреАрдПрдордЬреА рдШрдЯрдХ рдХрд╛ рдЕрдкрдирд╛ рд╡рд░реНрдЧ рд╣реЛрдЧрд╛, рдХреБрдХреАрдмреЙрдп :: рдореЗрдореЛрд░реА рдХреНрд▓рд╛рд╕, рдЬреЛ рдореЗрдореЛрд░реА рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИ, рдЗрд╕рдореЗрдВ рдХреЗрд╡рд▓ рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╢рд╛рдорд┐рд▓ рд╣реЛрдВрдЧреЗ - ROM рдмреИрдВрдХ, рдЖрдВрддрд░рд┐рдХ рд░реИрдо 1, рдЗрдХреЛ рдХреА рдЖрдВрддрд░рд┐рдХ рд░реИрдо 1, рд╕реНрд╡реИрдЪреЗрдмрд▓ рд░реИрдо рдмреИрдВрдХ, рдЖрдВрддрд░рд┐рдХ рд░реИрдо 2. рдЬрдм рдЕрдиреНрдп рд╕рднреА рдХреНрд╖реЗрддреНрд░реЛрдВ рдореЗрдВ рдкреНрд░рд╡реЗрд╢ рдХрд░рддреЗ рд╣реИрдВ, рддреЛ рд╕рдВрдмрдВрдзрд┐рдд рд╡рд░реНрдЧреЛрдВ рдХреА рдкрд╣реБрдВрдЪ рд╡рд┐рдзрд┐рдпреЛрдВ рдХреЛ рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рдПрдЧрд╛ред

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

 switch (addr & 0xF000) { case 0x8000: case 0x9000: //    break; } 


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

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

рдЖрд░рдВрдн рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдЗрдП рдЖрдзрд╛рд░ рд╡рд░реНрдЧ MBC рдкреНрд░рд╛рдкреНрдд рдХрд░реЗрдВред рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦреЗрдЧрд╛:

 const int ROMBankSize = 0x4000; const int RAMBankSize = 0x2000; class MBC { public: virtual void Write(WORD addr, BYTE value) = 0; virtual BYTE Read(WORD addr) = 0; virtual bool SaveRAM(const char *path, DWORD RAMSize); virtual bool LoadRAM(const char *path, DWORD RAMSize); protected: MBC(BYTE *ROM, DWORD ROMSize, BYTE *RAMBanks, DWORD RAMSize) : ROM(ROM), ROMSize(ROMSize), RAMBanks(RAMBanks), RAMSize(RAMSize) {} BYTE *ROM; BYTE *RAMBanks; DWORD ROMOffset; DWORD RAMOffset; DWORD ROMSize; DWORD RAMSize; }; 


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



рдмреЗрд╕ рдХреНрд▓рд╛рд╕ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИ, рдЕрдм рдЪрд▓рд┐рдП рдЙрд╕ рдХреНрд▓рд╛рд╕ рдХреЛ рд▓рд╛рдЧреВ рдХрд░рдирд╛ рд╢реБрд░реВ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ MBC2 рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд░рддрд╛ рд╣реИред рдЖрдЗрдП рдХреЛрдб рдХреЛ рддреБрд░рдВрдд рджреЗрдЦреЗрдВ, рдФрд░ рдлрд┐рд░ рд╣рдо рдпрд╣ рдкрддрд╛ рд▓рдЧрд╛рдПрдВрдЧреЗ рдХрд┐ рдпрд╣ рдирд┐рдпрдВрддреНрд░рдХ рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ:

 class MBC2 : public MBC { public: MBC2(BYTE *ROM, DWORD ROMSize, BYTE *RAMBanks, DWORD RAMSize) : MBC(ROM, ROMSize, RAMBanks, RAMSize) { ROMOffset = ROMBankSize; RAMOffset = 0; } virtual void Write(WORD addr, BYTE value) { switch (addr & 0xF000) { //ROM bank switching case 0x2000: case 0x3000: ROMOffset = value & 0xF; ROMOffset %= ROMSize; if (ROMOffset == 0) { ROMOffset = 1; } ROMOffset *= ROMBankSize; break; //RAM bank 0 case 0xA000: case 0xB000: RAMBanks[addr - 0xA000] = value & 0xF; break; } } virtual BYTE Read(WORD addr) { switch (addr & 0xF000) { //ROM bank 0 case 0x0000: case 0x1000: case 0x2000: case 0x3000: return ROM[addr]; //ROM bank 1 case 0x4000: case 0x5000: case 0x6000: case 0x7000: return ROM[ROMOffset + (addr - 0x4000)]; //RAM bank 0 case 0xA000: case 0xB000: return RAMBanks[addr - 0xA000] & 0xF; } return 0xFF; } }; 


рдкрдврд╝рдирд╛ рдЖрд╕рд╛рди рд╣реИред ROMOffset рдХреЛ рд╡рд░реНрддрдорд╛рди ROM рдмреИрдВрдХ рддрдХ рдкрд╣реБрдБрдЪрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдСрдлрд╕реЗрдЯ рдХреЗ рд░реВрдк рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рд░реИрдо рдХреЗ рд╕рд╛рде рдПрдХ рд╡рд┐рд╡рд░рдг рд╣реИред MBC2 рдореЗрдВ 512 4-рдмрд┐рдЯ рд░реИрдо рдмреНрд▓реЙрдХ рд╣реИрдВред рдмреЗрд╢рдХ, рд╣рдо рд╕рднреА 512 рдмрд╛рдЗрдЯреНрд╕ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдмрд╕ рд╕рдВрдЪрд╛рд▓рди рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдФрд░ рдорд╛рдиреЛрдВ рдХреЛ рдХрдо рд╕реЗ рдХрдо 4 рдорд╣рддреНрд╡рдкреВрд░реНрдг рдмрд┐рдЯреНрд╕ рддрдХ рдХрд╛рдЯрддреЗ рд╣реИрдВред

рдЕрдм рд░рд┐рдХреЙрд░реНрдбрд┐рдВрдЧ рд╕рдорд╛рд░реЛрд╣ред рдпрд╣ рд╡рд╣ рдЬрдЧрд╣ рд╣реИ рдЬрд╣рд╛рдБ MBC рддрд░реНрдХ рдХрд╛ рдЕрдиреБрдХрд░рдг рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред MBC2 рдХреЗрд╡рд▓ ROM рдмреИрдВрдХреЛрдВ рдХреЛ рдмрджрд▓рдиреЗ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рд╡реЗ рдкрддрд╛ рдХреНрд╖реЗрддреНрд░ 0x2000-0x3FFF рдореЗрдВ 4 рдмрд┐рдЯреНрд╕ рдХреА рд▓рдВрдмрд╛рдИ рдХреЗ рд╕рд╛рде рдПрдХ рдмреИрдВрдХ рдирдВрдмрд░ рд▓рд┐рдЦрдХрд░ рдмрджрд▓рддреЗ рд╣реИрдВред рдЖрдк рдПрдХ рд╢реВрдиреНрдп рдмреИрдВрдХ рдХрд╛ рдЪрдпрди рдирд╣реАрдВ рдХрд░ рд╕рдХрддреЗ, рдХреНрдпреЛрдВрдХрд┐ рдпрд╣ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА 0x0000-0x3FFF рдкрд░ рд╣реИред рдпрд╣ ROM рдХреА рд╕реАрдорд╛рдУрдВ рдХреА рдЬрд╛рдБрдЪ рдХрд░рдиреЗ рдХреЗ рд▓рд╛рдпрдХ рднреА рд╣реИред рдЕрдирд┐рд░реНрджрд┐рд╖реНрдЯ рдХрд╛рд░рдг рдХреЗ рд▓рд┐рдП рдХреБрдЫ рдЧреЗрдо, рдПрдХ рдРрд╕реЗ рдмреИрдВрдХ рдХреЛ рдЪреБрдирдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рддреЗ рд╣реИрдВ рдЬреЛ рдореМрдЬреВрдж рдирд╣реАрдВ рд╣реИред рдпрд╣ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рдПрдХ рддреНрд░реБрдЯрд┐ рдХреА рдУрд░ рдЬрд╛рддрд╛ рд╣реИред рдЦреЗрд▓ рд╕рддреНрдпрд╛рдкрди рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ, рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред рдРрд╕рд╛ рд╣реА рдПрдХ рдЧреЗрдо рд╣реИ WordZapред рд╢рд╛рдпрдж рдпреЗ рдЧрд▓рдд рдПрдореБрд▓реЗрд╢рди рдХреЗ рдкрд░рд┐рдгрд╛рдо рд╣реИрдВ (рдореИрдВ рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╣реА рдбреАрдПрдордЬреА рдПрдореНрдпреВрд▓реЗрд╢рди рдХрд╛ рдирд╛рдЯрдХ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реВрдВ), рд▓реЗрдХрд┐рди рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдЪреЗрдХ рдХреЛ рдЪреЛрдЯ рдирд╣реАрдВ рдкрд╣реБрдВрдЪреЗрдЧреАред

рд╣рд╛рдВ, 0xFF рдЧрд▓рддреА рд╕реЗ рдирд╣реАрдВ рд▓реМрдЯрд╛ рд╣реИ - DMG рдкрд░ рдпрд╣ рдорд╛рди рддрдм рд▓реМрдЯрд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬрдм рд╕рд╛рдордЧреНрд░реА рдкрд░рд┐рднрд╛рд╖рд┐рдд рдирд╣реАрдВ рд╣реЛрддреА рд╣реИред

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

 class MBC_MMM01 : public MBC { public: enum MMM01ModesEnum { MMM01MODE_ROMONLY = 0, MMM01MODE_BANKING = 1 }; MBC_MMM01(BYTE *ROM, DWORD ROMSize, BYTE *RAMBanks, DWORD RAMSize) : MBC(ROM, ROMSize, RAMBanks, RAMSize) { ROMOffset = ROMBankSize; RAMOffset = 0; RAMEnabled = false; Mode = MMM01MODE_ROMONLY; ROMBase = 0x0; } virtual void Write(WORD addr, BYTE value) { switch (addr & 0xF000) { //Modes switching case 0x0000: case 0x1000: if (Mode == MMM01MODE_ROMONLY) { Mode = MMM01MODE_BANKING; } else { RAMEnabled = (value & 0x0F) == 0x0A; } break; //ROM bank switching case 0x2000: case 0x3000: if (Mode == MMM01MODE_ROMONLY) { ROMBase = value & 0x3F; ROMBase %= ROMSize - 2; ROMBase *= ROMBankSize; } else { if (value + ROMBase / ROMBankSize > ROMSize - 3) { value = (ROMSize - 3 - ROMBase / ROMBankSize) & 0xFF; } ROMOffset = value * ROMBankSize; } break; //RAM bank switching in banking mode case 0x4000: case 0x5000: if (Mode == MMM01MODE_BANKING) { value %= RAMSize; RAMOffset = value * RAMBankSize; } break; //Switchable RAM bank case 0xA000: case 0xB000: if (RAMEnabled) { RAMBanks[RAMOffset + (addr - 0xA000)] = value; } break; } } virtual BYTE Read(WORD addr) { if (Mode == MMM01MODE_ROMONLY) { switch (addr & 0xF000) { //ROM bank 0 case 0x0000: case 0x1000: case 0x2000: case 0x3000: //ROM bank 1 case 0x4000: case 0x5000: case 0x6000: case 0x7000: return ROM[addr]; //Switchable RAM bank case 0xA000: case 0xB000: if (RAMEnabled) { return RAMBanks[RAMOffset + (addr - 0xA000)]; } } } else { switch (addr & 0xF000) { //ROM bank 0 case 0x0000: case 0x1000: case 0x2000: case 0x3000: return ROM[ROMBankSize * 2 + ROMBase + addr]; //ROM bank 1 case 0x4000: case 0x5000: case 0x6000: case 0x7000: return ROM[ROMBankSize * 2 + ROMBase + ROMOffset + (addr - 0x4000)]; //Switchable RAM bank case 0xA000: case 0xB000: if (RAMEnabled) { return RAMBanks[RAMOffset + (addr - 0xA000)]; } } } return 0xFF; } private: bool RAMEnabled; MMM01ModesEnum Mode; DWORD ROMBase; }; 


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

рдореЗрдореЛрд░реА рдПрдореБрд▓реЗрд╢рди рдкрд░ рд▓реМрдЯрдирд╛, рдпрд╣ рдЖрдИ / рдУ рдкреЛрд░реНрдЯреНрд╕ рдирд╛рдордХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдХреЗ рдереЛрдбрд╝реЗ рд╕реЗ рд╕реНрдкрд╖реНрдЯреАрдХрд░рдг рдХреЗ рд▓рд╛рдпрдХ рд╣реИред рдХреНрдпреЛрдВрдХрд┐DMG рдореЗрдВ рд╡рд┐рднрд┐рдиреНрди рдШрдЯрдХ рд╣реЛрддреЗ рд╣реИрдВ, рдЕрдЪреНрдЫрд╛ рд╣реЛрдЧрд╛ рдХрд┐ рд╡реЗ рдХрд┐рд╕реА рддрд░рд╣ рдЕрдкрдиреЗ рдХрд╛рдо рдХреЛ рдкреНрд░рднрд╛рд╡рд┐рдд рдХрд░ рд╕рдХреЗрдВ рдФрд░ рдирд┐рдпрдВрддреНрд░рдг рднреА рдХрд░ рд╕рдХреЗрдВред рдЗрд╕рдХреЗ рд▓рд┐рдП, I / O рдкреЛрд░реНрдЯреНрд╕ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ, рд╣рдорд╛рд░реЗ рдкрд╛рд╕ рдЕрдиреНрдп рд╕рднреА DMG рдШрдЯрдХреЛрдВ рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рддрдХ рдкрд╣реБрдВрдЪ рд╣реИ: рд╕реНрдХреНрд░реАрди рдирд┐рдпрдВрддреНрд░рдХ, рдзреНрд╡рдирд┐, рдЯрд╛рдЗрдорд░, рдирд┐рдпрдВрддреНрд░рдг, рдЖрджрд┐ред рд╕реНрд╡рд╛рднрд╛рд╡рд┐рдХ рд░реВрдк рд╕реЗ, рд╣рдорд╛рд░реЗ рдПрдореБрд▓реЗрдЯрд░ рдореЗрдВ рдпреЗ рд╕рднреА рд░рдЬрд┐рд╕реНрдЯрд░ рд╕рдВрдмрдВрдзрд┐рдд рдХрдХреНрд╖рд╛рдУрдВ рдореЗрдВ рд╣реЛрдВрдЧреЗ, рдЬрд┐рд╕рдХрд╛ рдорддрд▓рдм рд╣реИ рдХрд┐ рдХреБрдХреАрдмреЙрдп :: рдореЗрдореЛрд░реА рдХреЗрд╡рд▓ рдЙрди рд╕рднреА рдХрд╛рд░реНрдпреЛрдВ рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░реЗрдЧреАред рд╕реАрдкреАрдпреВ рдореИрдиреБрдЕрд▓ рдореЗрдВ рд╕рднреА рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдФрд░ рдЙрджреНрджреЗрд╢реНрдп рдкрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрд╡рд╢реНрдпрдХрддрд╛ рдкрдбрд╝рдиреЗ рдкрд░ рдореИрдВ рднреА рдЙрди рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░реВрдВрдЧрд╛ред рд╡реИрд╕реЗ, рд╣рдордиреЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдЙрдирдореЗрдВ рд╕реЗ рдПрдХ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд┐рдпрд╛ рд╣реИ - рдЖрдИрдПрдлред рдпрд╣ рд░рдЬрд┐рд╕реНрдЯрд░ рдЗрд╕ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдореЗрдВ рдЙрдкрд▓рдмреНрдз рд╣реИ, рдЗрд╕рд▓рд┐рдП рдЖрдкрдХреЛ рдХреБрдХреАрдмреЙрдп :: рд╡реНрдпрд╡рдзрд╛рди рд╡рд░реНрдЧ рдореЗрдВ рдкрдврд╝рдиреЗ рдФрд░ рд▓рд┐рдЦрдиреЗ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЛ рдкреБрдирд░реНрдирд┐рд░реНрджреЗрд╢рд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИред рд╣рдо рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдРрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХреНрдпреЛрдВрдХрд┐ рд░реБрдХрд╛рд╡рдЯреЛрдВ рдкрд░ рд╡рд┐рдЪрд╛рд░ рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ рдЗрд╕ рдмрд╛рд░реЗ рдореЗрдВ рдЪрд┐рдВрддрд┐рдд рд╣реИрдВред

рд╕рдордп рдПрдХ рдФрд░ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╡рд┐рд╢реЗрд╖рддрд╛ рдХреЗ рд▓рд┐рдП рдЖ рдЧрдпрд╛ рд╣реИ - рдПрдХ рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд░реЙрдо рд▓реЛрдб рдХрд░рдирд╛ред рдЫрд╡рд┐ рдХреЛ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ, рдпрд╣ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рд╣реИ рдХрд┐ рдЬрдм рдЖрдк рдбреАрдПрдордЬреА рдЪрд╛рд▓реВ рдХрд░рддреЗ рд╣реИрдВ рддреЛ рдХреНрдпрд╛ рд╣реЛрддрд╛ рд╣реИред

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

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

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

рдирд┐рд╢реНрдЪрд┐рдд рд░реВрдк рд╕реЗ, рдореИрдВ рд╣рд░ рдмрд╛рд░ рдЗрд╕ рдЫрд╡рд┐ рдХреЛ рд▓реЙрдиреНрдЪ рдирд╣реАрдВ рдХрд░рдирд╛ рдЪрд╛рд╣реВрдВрдЧрд╛ред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЖрдк рдирд┐рдореНрди рдХрд╛рд░реНрдп рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдкреАрд╕реА рд░рдЬрд┐рд╕реНрдЯрд░ 0x100 рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП - рдпрд╣ рд╡рд╣ рдкрддрд╛ рд╣реИ рдЬрд╣рд╛рдВ рдЦреЗрд▓ рдХреА рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рдкрд╣рд▓реА рдЯреАрдо рд╕реНрдерд┐рдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╕рднреА рдкреНрд░реЛрд╕реЗрд╕рд░ рд░рдЬрд┐рд╕реНрдЯрд░ рдФрд░ I / O рдкреЛрд░реНрдЯ рдореЗрдореЛрд░реА рдПрд░рд┐рдпрд╛ рдХреЛ рдЙрди рдорд╛рдиреЛрдВ рдХреЗ рд╕рд╛рде рдЖрд░рдВрднреАрдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рдирд╛ рдЪрд╛рд╣рд┐рдП рдЬреЛ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд░реЛрдо рдХреЛ рдкреАрдЫреЗ рдЫреЛрдбрд╝рддреЗ рд╣реИрдВ - рдпреЗ рдорд╛рди CPU рдореИрдиреБрдЕрд▓ рдореЗрдВ рдкрд╛рдП рдЬрд╛ рд╕рдХрддреЗ рд╣реИрдВред рд╕рднреА рдЦреЗрд▓ рдЕрдкрдиреЗ рдЖрдк рд╣реА рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдореВрд▓реНрдпреЛрдВ рдХреЛ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдЪреНрдЫреА рддрд░рд╣ рд╕реЗ рдирд╣реАрдВ рд▓рд┐рдЦреЗ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреБрдЫ рдмреВрдЯрд╕реНрдЯреНрд░реИрдк рд░реЛрдо рдЪрд▓рд╛рдиреЗ рдХреЗ рдмрд╛рдж рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдореВрд▓реНрдпреЛрдВ рдкрд░ рднрд░реЛрд╕рд╛ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдРрд╕рд╛ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рд╕рднреА рдШрдЯрдХреЛрдВ рдореЗрдВ EmulateBIOS рдлрд╝рдВрдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕рднреА рдЖрд╡рд╢реНрдпрдХ рдорд╛рди рд╕реЗрдЯ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред

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

 BYTE Complement = 0; for (int i = 0x134; i <= 0x14C; i++) { Complement = Complement - ROM[i] - 1; } if (Complement != ROM[0x14D]) { //   } 


рдпрджрд┐ рдЪреЗрдХ рдкрд╛рд╕ рд╣реЛ рдЧрдП рд╣реИрдВ, рддреЛ рд╣рдо рдХрд╛рд░рддреВрд╕ рдХреА рд░реИрдо рдХреЗ рд▓рд┐рдП рдЬрдЧрд╣ рдЖрд╡рдВрдЯрд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЗрд╕реА рдПрдордмреАрд╕реА рдЪрд┐рдк рдХрд╛ рдПрдХ рдСрдмреНрдЬреЗрдХреНрдЯ рдмрдирд╛рддреЗ рд╣реИрдВред

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

рд╕реНрдореГрддрд┐ рдХреЗ рд╕рд╛рде рд╕рдм рдХреБрдЫ рдЦрддреНрдо рд╣реЛ рдЧрдпрд╛ рд╣реИред

рдирд┐рд╖реНрдХрд░реНрд╖

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

Source: https://habr.com/ru/post/In154901/


All Articles