"рдЪреИрдирд▓ рдПрдл рд╣реЛрдордмреНрд░реЗрд╡ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рдЬрдореНрдкрд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ рд╕реНрдкреНрд░рд╛рдЗрдЯреНрд╕ рдХреА рддрд░рд╣ рд╣реЛрдЧрд╛ ..."
/ рдЪреИрдбрдЯрд╛рд╡рд░, рдЕрдЯрд╛рд░реАрдЬ рдлреЛрд░рдо /
рдлреЗрдпрд░рдЪрд╛рдЗрд▓реНрдб рдЪреИрдирд▓ рдПрдл рдЧреЗрдо рдХрдВрд╕реЛрд▓, рдЬрд┐рд╕реЗ рд╡реАрдИрдПрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рднреА рдЬрд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ, рдирд╡рдВрдмрд░ 1976 рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛ред рдЕрдкрдиреЗ рдкреВрд░реНрд╡рд╡рд░реНрддрд┐рдпреЛрдВ рдХреЗ рд╡рд┐рдкрд░реАрдд, рдЬреИрд╕реЗ рдХрд┐ рдкрд┐рдВрдЧ-рдкреЛрдВрдЧ, рдЯреЗрдирд┐рд╕ (рдПрдХ рд╣реА рдкрдВрдХреНрддрд┐ рдореЗрдВ - рд╕реЛрд╡рд┐рдпрдд "рд╡реАрдбрд┐рдпреЛ рд╕реНрдкреЛрд░реНрдЯ"), рдЗрд╕рдореЗрдВ рдмрд╣реБрдд рдорд╣рддреНрд╡рдкреВрд░реНрдг рдЕрдВрддрд░ рдерд╛ - рдХрд╛рд░реНрдпрдХреНрд░рдореЛрдВ рдХреЗ рд╕рд╛рде рдПрдХ рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░ рдФрд░ рдХрд╛рд░рддреВрд╕ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ред рдЗрд╕рд╕реЗ рдкрд╣рд▓реЗ, рд╕рдЦреНрдд рддрд░реНрдХ рдкрд░ рдХрдВрд╕реЛрд▓ рдореЗрдВ рдЦреЗрд▓ рд▓рд╛рдЧреВ рдХрд┐рдП рдЧрдП рдереЗ - рдХрд╛рд░реНрдпрдХреНрд░рдо, рдЖрдзреБрдирд┐рдХ рдЕрд░реНрдереЛрдВ рдореЗрдВ, рд╡рд╣рд╛рдВ рдЕрдиреБрдкрд╕реНрдерд┐рдд рдерд╛ред
рдлреЗрдпрд░рдЪрд╛рдЗрд▓реНрдб рдЪреИрдирд▓ рдПрдл 1983 рддрдХ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдЗрд╕ рд╕рдордп рдХреЗ рджреМрд░рд╛рди, рдЗрди рдХрдВрд╕реЛрд▓реЛрдВ рдХреЗ рдПрдХ рдорд┐рд▓рд┐рдпрди рд╕реЗ рдЕрдзрд┐рдХ рдПрдХ рдЪреМрдерд╛рдИ рдмреЗрдЪ рджрд┐рдП рдЧрдП рдереЗ рдФрд░ рд▓рдЧрднрдЧ 30-40
рдЦреЗрд▓ рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдереЗ ,
рдЬрд┐рдирдореЗрдВ рд╕реЗ
рдХреБрдЫ 2000 рдХреЗ рджрд╢рдХ рдореЗрдВ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдереЗред
рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдиреЗ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ рд╢реНрд░реЗрд╖реНрдарддрд╛ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмреЛрд▓рддреЗ рд╣реБрдП, рдпрд╣ рдзреНрдпрд╛рди рджреЗрдиреЗ рдпреЛрдЧреНрдп рд╣реИ рдХрд┐ рдЖрд░рд╕реАрдП рд╕реНрдЯреВрдбрд┐рдпреЛ II, рдЬрд┐рд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдореИрдВрдиреЗ рдкрд┐рдЫрд▓реЗ рд▓реЗрдЦ рдореЗрдВ рдмрд╛рдд рдХреА рдереА, рд╡рд╣ рдХреЗрд╡рд▓ рдХреБрдЫ рдорд╣реАрдиреЗ рджреЗрд░ рд╕реЗ рдерд╛, рд▓реЗрдХрд┐рди рдЪреИрдирд▓ рдПрдл рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдХрд╛рдлреА рдХрдордЬреЛрд░ рдирд┐рдХрд▓рд╛, рдпрд╣реА рдХрд╛рд░рдг рд╣реИ рдХрд┐ рдпрд╣ рдмрд┐рдХреНрд░реА рдореЗрдВ рд╡рд┐рдлрд▓ рд░рд╣рд╛ред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЙрдкрд╕реНрдерд┐рддрд┐, рдПрдХ рд╕рд╛рд▓ рд╕реЗ рднреА рдХрдо рд╕рдордп рдХреЗ рдмрд╛рдж, рдЕрдЯрд╛рд░реА рд╡реАрд╕реАрдПрд╕ - рдФрд░ рдмрд╛рдЬрд╛рд░ рд╕реЗ рдЪреИрдирд▓ рдПрдл рдХреА рдЬрдЧрд╣ рд▓реЗ рд▓реАред
рдлреЗрдпрд░рдЪрд╛рдЗрд▓реНрдб_рдЪреИрдирд▓_рдПрдл рдХрд╛ рд╡рд┐рдХрд╛рд╕, рдЬреИрд╕рд╛ рдирд╣реАрдВ рдерд╛ред рд╕рд┐рд╕реНрдЯрдо II рдФрд░ рдХрдИ рдХреНрд▓реЛрдиреЛрдВ рдореЗрдВ, рдЬреИрд╕реЗ рд╕рдмрд╛ рд╡реАрдбрд┐рдпреЛрдкреНрд▓реЗ 2 (1979) рдореЗрдВ, рдЕрдВрддрд░ рдореБрдЦреНрдп рд░реВрдк рд╕реЗ рд╢рд░реАрд░, рдЬреЙрдпрд╕реНрдЯрд┐рдХреНрд╕ рдореЗрдВ рдереЗ (рд╡реИрд╕реЗ, рд╡реЗ рд╕рднреА рд╕рдордЭрддреЗ рдереЗ, рд╕рд╛рдорд╛рдиреНрдп рдкрджреЛрдВ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдШреБрдВрдбреА рдХрд╛ рд░реЛрдЯреЗрд╢рди) рдФрд░ рдЪрд┐рдкреНрд╕ рдХреА рд╕рдВрдЦреНрдпрд╛ред рд╡рд╛рд╕реНрддреБрдХрд▓рд╛ рдореЗрдВ, рд╕рдм рдХреБрдЫ рд▓рдЧрднрдЧ рд╕рдорд╛рди рдерд╛ред
рдЪреИрдирд▓ рдПрдл рдХреНрдпрд╛ рд╣реИ?
рдкреНрд░реЛрд╕реЗрд╕рд░
рдкреНрд░реЛрд╕реЗрд╕рд░, рдпреБрдЧ рдХреА рдкрд░рдВрдкрд░рд╛рдУрдВ рдореЗрдВ, рдПрдХ рд╣реА рдлреЗрдпрд░рдЪрд╛рдЗрд▓реНрдб рдХрдВрдкрдиреА рджреНрд╡рд╛рд░рд╛ рдХрдВрд╕реЛрд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдирд┐рд░реНрдорд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рдФрд░ рдЗрд╕реЗ F8
en.wikipedia.org/wiki/Fairchild_F8 рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред рдпрд╣ 1974 рдХрд╛ 8-рдмрд┐рдЯ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╣реИ, рдЬреЛ 1.8 рдореЗрдЧрд╛рд╣рд░реНрдЯреНрдЬ рдХреА рдЖрд╡реГрддреНрддрд┐ рдкрд░ рдХрд╛рдо рдХрд░ рд░рд╣рд╛ рд╣реИ (рдПрдХ рдирд┐рд░реНрджреЗрд╢ 1 рд╕реЗ 6 рдШрдбрд╝реА рдЪрдХреНрд░реЛрдВ рд╕реЗ рд▓реЗрддрд╛ рд╣реИ)ред

рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЗрд╕реЗ рдХреЗрд╡рд▓ рдПрдХ рдЦрд┐рдВрдЪрд╛рд╡ рдХреЗ рд╕рд╛рде рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╣рд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рдХреНрдпреЛрдВрдХрд┐ рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рджреЛ рдЪрд┐рдкреНрд╕ рд╣реЛрддреЗ рд╣реИрдВ - рдПрдХ 3850CPU рдХрдВрдкреНрдпреВрдЯрд┐рдВрдЧ рдбрд┐рд╡рд╛рдЗрд╕ рдЬрд┐рд╕рдореЗрдВ ALU, рдПрдХ рдмреИрдЯрд░реА, SRAM рдХреЗ 64 рдмрд╛рдЗрдЯреНрд╕, рдирд┐рд░реНрджреЗрд╢ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЖрд╡рд╢реНрдпрдХ рддрд░реНрдХ, рджреЛ рдкреЛрд░реНрдЯ (рдХреЛрдИ рдкрддрд╛ рдмрд╕ рдирд╣реАрдВ рд╣реИ!) рдФрд░ 3851PSU (рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдмрд▓) рд╕реНрдЯреЛрд░реЗрдЬ рдпреВрдирд┐рдЯ), рдЬрд┐рд╕рдореЗрдВ 1kb рд░реЙрдо (BIOS рдХреЗ рд▓рд┐рдП рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ), рдПрдХ рдЗрдВрд╕реНрдЯреНрд░рдХреНрдЯрд░ рдкреЙрдЗрдВрдЯрд░, рдореЗрдореЛрд░реА рдПрдбреНрд░реЗрд╕рд┐рдВрдЧ рд╕реНрдХреАрдо, рдЗрдВрдЯрд░рдкреНрдЯ, рдПрдХ рдЯрд╛рдЗрдорд░ (рдЗрдВрдЯрд░рдкреНрдЯ рдФрд░ рдПрдХ рдЯрд╛рдЗрдорд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪреИрдирд▓ F рдореЗрдВ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ)ред
рдмрд╛рдж рдореЗрдВ, F3859 рдЪрд┐рдк рджрд┐рдЦрд╛рдИ рджреА, рдЬрд┐рд╕рдиреЗ рд╕реАрдкреАрдпреВ рдФрд░ рдкреАрдПрд╕рдпреВ рдХреЛ рдПрдХ рд╣реА рдЪрд┐рдк рдкрд░ рдЬреЛрдбрд╝рд╛ рдФрд░ рдореЛрд╕реНрдЯреЗрдХ 3870 - рдереЛрдбрд╝рд╛ рдмреЗрд╣рддрд░ рд╕рдВрд╕реНрдХрд░рдг, 1990 рдХреЗ рджрд╢рдХ рддрдХ рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ред рд╣рд╛рд▓рд╛рдБрдХрд┐, рдпрд╣ рдПрдХ рдФрд░ рдХрд╣рд╛рдиреА рд╣реИред рджрд┐рд▓рдЪрд╕реНрдк рд╣реИ, рдХрднреА-рдХрднреА F8 рдХреЛ рдорд╛рдЗрдХреНрд░реЛрдХрдВрдЯреНрд░реЛрд▓рд░ (рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдПрдХ рдЯрд╛рдЗрдорд░ рдФрд░ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреА рдЙрдкрд╕реНрдерд┐рддрд┐ рдХреЗ рдХрд╛рд░рдг) рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЗрдВрдЯреЗрд▓ рдПрдорд╕реАрдПрд╕ -48 рдкрд░рд┐рд╡рд╛рд░ (8048) рдХреЗ рдкреВрд░реНрд╡рдЬ рдХреЗ рд░реВрдк рдореЗрдВ рд╕рдВрджрд░реНрднрд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдЪреИрдирд▓ рдПрдл рдХреЗ рдЕрд▓рд╛рд╡рд╛,
рд╡рд┐рдбрд┐рдпреЛрдмреНрд░реЗрди рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рдФрд░
рдХреЙрдореНрдкрдмреБрдХ рд╢рддрд░рдВрдЬ рдХрдВрдкреНрдпреВрдЯрд░ рдореЗрдВ рднреА рдПрдл 8 рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рд╕рд╛рдорд╛рдиреНрдп рддреМрд░ рдкрд░, рдпрд╣ рдЖрд╢реНрдЪрд░реНрдп рдХреА рдмрд╛рдд рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдмрд╣реБрдд рдХрдо рдЬрд╛рдирдХрд╛рд░реА рд╣реИред рдлреЗрдпрд░рдЪрд╛рдЗрд▓реНрдб рдХреЗ рдХреБрдЫ рд╡рд┐рд╡рд░рдг рдФрд░ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдЪреИрдирд▓ рдПрдл рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ рдХрдИ рдЧреЗрдо рдФрд░ рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЗ рд╕реНрд░реЛрдд рдХреЛрдб рдХреЗ рдЕрдкрд╡рд╛рдж рдХреЗ рд╕рд╛рде, рдФрд░ рдХреБрдЫ рдирд╣реАрдВ рд╣реИред рдРрд╕рд╛ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рдкреНрд░реЛрд╕реЗрд╕рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд╣реАрдВ рдФрд░ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдЬреЛ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд▓рдЧрддрд╛ рд╣реИ (рдпрд╣ рджреЗрдЦрддреЗ рд╣реБрдП рдХрд┐ рдЗрд╕рдХреЗ рдЙрдиреНрдирдд рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЛ рдХреБрдЫ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЬрд╛рд░реА рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)ред рдореИрдВ рдпрд╣ рдорд╛рдиреВрдВрдЧрд╛ рдХрд┐ рдЕрдиреНрдп рд╕рднреА рдЙрдкрдХрд░рдг рдЬрд╣рд╛рдВ рдЗрд╕рдХрд╛ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ рд╡реЗ рд╕реИрдиреНрдп рдЙрджреНрджреЗрд╢реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдереЗред
рдЕрдм рдкреНрд░реЛрд╕реЗрд╕рд░ рдХреА рд╡рд┐рд╢реЗрд╖рддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдереЛрдбрд╝рд╛ред рдЗрд╕рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕реЗрдЯ рдФрд░ рдХрд╛рд░реНрдпреЛрдВ рдкрд░ рдЪрд┐рдВрддрди рдХрд░реЗрдВред рдореБрдЭреЗ рд▓рдЧрддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╕рдмрд╕реЗ рднреНрд░рдорд┐рдд рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдореЗрдВ рд╕реЗ рдПрдХ рд╣реИ рдЬреЛ рдЙрд╕ рд╕рдордп рдЕрд╕реНрддрд┐рддреНрд╡ рдореЗрдВ рдерд╛ (рд╢рд╛рдпрдж рдЖрдзреБрдирд┐рдХ рд▓реЛрдЧ рдЦрд┐рдВрдЪрд╛рд╡ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди рддреБрд▓рдирд╛ рдЧрд▓рдд рд╣реЛрдЧреА, рдХреНрдпреЛрдВрдХрд┐ рд╡реЗ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВред рд▓рд┐рд╡рд┐рдВрдЧ рд▓реЛрдЧ F8 рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВ)ред
рдкреНрд░реЛрд╕реЗрд╕рд░ рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реЗ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИрдВред 8-рдмрд┐рдЯ рдмреИрдЯрд░реА рдП рдФрд░ рдлреНрд▓реИрдЧ рд░рдЬрд┐рд╕реНрдЯрд░ рдбрдмреНрд▓реНрдпреВ (рдЖрдИ, рдУ, рдЬреЗрдб, рд╕реА, рдПрд╕) рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдПрдХ "рд╕реНрдХреНрд░реИрдбрдкреИрдб" рднреА рд╣реИ - рд╡рд┐рднрд┐рдиреНрди рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рд╛рде 64 рдЖрда-рдмрд┐рдЯ рд╕реЗрд▓ред
рдкрд╣рд▓реЗ рдиреМ рдХреЛрд╢рд┐рдХрд╛рдУрдВ рдХреЛ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдпреЛрдЬрди рд░рдЬрд┐рд╕реНрдЯрд░ рдХреЗ рд░реВрдк рдореЗрдВ рдЗрд╕реНрддреЗрдорд╛рд▓ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ R0-R8 рдЬреИрд╕реЗ рдХрдорд╛рдВрдбреНрд╕ рдореЗрдВ 'lr a, 7' (рд░рдЬрд┐рд╕реНрдЯрд░ R7 рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рдмреИрдЯрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░реЗрдВ)ред рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рдкрддреНрд░ R рдЗрдВрдЧрд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ - рдХреЗрд╡рд▓ рд░рдЬрд┐рд╕реНрдЯрд░ рд╕рдВрдЦреНрдпрд╛ рд▓рд┐рдЦреА рдЧрдИ рд╣реИред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рд╕рдВрдЦреНрдпрд╛ рдпрд╛ рдорддрд▓рдм рд╣реИред рд╕рдВрдЦреНрдпрд╛ рд╕рдВрджрд░реНрдн рд╕реЗ рд╕реНрдкрд╖реНрдЯ рд╣реЛрдиреА рдЪрд╛рд╣рд┐рдПред рдХрд╣рд┐рдП, lr рдирд┐рд░реНрджреЗрд╢ рдХреЗ рдорд╛рдорд▓реЗ рдореЗрдВ, рдмрд╕ рд╕рдВрдЦреНрдпрд╛рдПрдБ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдФрд░ рдпрджрд┐, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, "li 7" (рдмреИрдЯрд░реА рдореЗрдВ рдПрдХ рд╕реНрдерд┐рд░рд╛рдВрдХ рд▓реЛрдб рдХрд░реЗрдВ), рддреЛ рдпрд╣ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдПрдХ рд╕рдВрдЦреНрдпрд╛ рд╣реИ, рд░рдЬрд┐рд╕реНрдЯрд░ рдирд╣реАрдВред
рдХрдХреНрд╖ 9, 10-11 (рдПрдЪ), 12-13 (рдХреЗ), 14-15 (рдХреНрдпреВ) рд╡рд┐рднрд┐рдиреНрди рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдореЗрдВ рдЕрдиреНрдп рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рдмрдЪрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдбрд┐рдЬрд╝рд╛рдЗрди рдХрд┐рдП рдЧрдП рд╣реИрдВ, рдЬреИрд╕реЗ рдХрд┐ рд╕рдмрдкреНрд░реЛрдЧреНрд░рд╛рдоред
рд░рдЬрд┐рд╕реНрдЯрд░ R16-R63 рдХреЗрд╡рд▓ рдПрдХ рд╡рд┐рд╢реЗрд╖ ISAR рдЗрдВрдбреЗрдХреНрд╕ рд░рдЬрд┐рд╕реНрдЯрд░ (рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд╕реНрдХреНрд░реИрдЪрдкреИрдб рдПрдбреНрд░реЗрд╕ рд░рдЬрд┐рд╕реНрдЯрд░) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╕реБрд▓рдн рд╣реИрдВ, рдЫрд╣ рдЫрд╣-рдмрд╛рдЗрдЯ рдмрдлрд╝рд░реНрд╕ рдХреЗ рд░реВрдк рдореЗрдВ рдЬреЛ 16-23, 24-31, 32-39, 40-47, 48-55, 56-63 рдХреЛрд╢рд┐рдХрд╛рдУрдВ рд╕реЗ рдмрдирддреЗ рд╣реИрдВ ред
рдЫрд╣-рдмрд┐рдЯ ISAR рдХреЛ 3 рдмрд┐рдЯреНрд╕ рдХреЗ рджреЛ рднрд╛рдЧреЛрдВ рдореЗрдВ рд╡рд┐рднрд╛рдЬрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред ISAR рдХреЗ рдПрдХ рд╕реЗ рдмрдврд╝рдиреЗ рдпрд╛ рдШрдЯрдиреЗ рдкрд░, рдХреЗрд╡рд▓ 3 рдирд┐рдЪрд▓реЗ рд╣рд┐рд╕реНрд╕реЗ рдкреНрд░рднрд╛рд╡рд┐рдд рд╣реЛрддреЗ рд╣реИрдВ - рдЕрд░реНрдерд╛рдд рд╕рдВрдмреЛрдзрд┐рдд рдЫрд╣ рдЖрда рдмрд╛рдЗрдЯ рдмрдлрд╝рд░реНрд╕ рдореЗрдВ рд╕реЗ рдПрдХ рдХреЗ рднреАрддрд░ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ (рдПрдХ рд╣реА рд╕рдордп рдореЗрдВ, рдмрдлрд╝рд░ рдХреЗ рдЕрдВрдд рдХреЛ рд╡рд┐рд╢реЗрд╖ br7 рд╕рд╢рд░реНрдд рд╢рд╛рдЦрд╛ рдирд┐рд░реНрджреЗрд╢реЛрдВ рджреНрд╡рд╛рд░рд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ)ред
clr ; 0 -> A ; set ISAR to full address Ox27 (octal 27) lisu 2 ; buffer N2 lisl 7 ; index within buffer N2 loop: lr d,a ; A-> buffer N2[index], than decrement ISAR (27, 26, 25, ... ) br7 loop ; go further if low part of ISAR contains 7 (end of buffer N2). if not, go loop again
рдЗрд╕ рдорд╛рдорд▓реЗ рдореЗрдВ, рдирд┐рд░реНрджреЗрд╢ рдореЗрдВ "рдбреА" "рдПрд▓рдЖрд░ рдбреА", рд░рдЬрд┐рд╕реНрдЯрд░ рдХрд╛ рдирд╛рдо рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдПрдХ рд╕рдВрдХреЗрдд рд╣реИ рдХрд┐ ISAR рдХреЛ рдХрдо рдХрд░рдирд╛ рд╣реЛрдЧрд╛ ("i" - рд╡реГрджреНрдзрд┐, "s" - рдЕрдкрд░рд┐рд╡рд░реНрддрд┐рдд рдЫреЛрдбрд╝ рджреЗрдВ)ред
рдЕрдкреНрд░рддреНрдпрдХреНрд╖ рд░реВрдк рд╕реЗ рд╕рдВрдмреЛрдзрд┐рдд рдХрд░рдиреЗ рдХрд╛ рдПрдХ рдФрд░ рддрд░реАрдХрд╛ рд╣реИ - DC0 рд░рдЬрд┐рд╕реНрдЯрд░ (рдбреЗрдЯрд╛ рдХрд╛рдЙрдВрдЯрд░) рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ:
dci data_addr ; data_addr -> DC0 lm ; [data_addr] -> A, DC0 + 1 -> DC0 ... data_addr: db 0,1,2,3,...
рдпрджрд┐ рдЖрдкрдХреЛ рдПрдХ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рд╕реЗ рджреВрд╕рд░реЗ рдореЗрдВ рдбреЗрдЯрд╛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛ xdc рдХрдорд╛рдВрдб рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬреЛ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ DC0 рдФрд░ DC1 рдХреА рд╕рд╛рдордЧреНрд░реА рдХреЛ рд╕реНрд╡реИрдк рдХрд░рддрд╛ рд╣реИред рдпрд╛рдиреА рд╣рдо DC0 рджреНрд╡рд╛рд░рд╛ рдЗрдВрдЧрд┐рдд рдкрддреЗ рд╕реЗ рдкрдврд╝рддреЗ рд╣реИрдВ, рдлрд┐рд░ xdc рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЙрд╕ рдкрддреЗ рдкрд░ рд▓рд┐рдЦрддреЗ рд╣реИрдВ рдЬреЛ DC1 рдЕрдм рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИред рдлрд┐рд░ рдлрд┐рд░ рд╕реЗ xdc, рдЖрджрд┐ред рдпрд╛рдиреА DC1 DC0 рдХреА рдПрдХ рдкреНрд░рддрд┐ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдкреНрд░рдХрд╛рд░ рдХрд╛ рдЫрд╛рдпрд╛ рд░рдЬрд┐рд╕реНрдЯрд░ рд╣реИред рд╕реАрдзреЗ рдЗрд╕реЗ рдПрдХреНрд╕реЗрд╕ рдХрд░рдирд╛ (рдХрдорд╛рдВрдб xdc рдХреЛ рдЫреЛрдбрд╝рдХрд░) рдЕрд╕рдВрднрд╡ рд╣реИред
рдЙрдкрд░реЛрдХреНрдд рдЙрджрд╛рд╣рд░рдг рд╕рдореНрдмреЛрдзрди рдХреЗ рд╕рдВрджрд░реНрдн рдореЗрдВ рд╕рдВрднрд╛рд╡рдирд╛рдУрдВ рдХреЗ рдХреЗрд╡рд▓ рдПрдХ рд╣рд┐рд╕реНрд╕реЗ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рддреЗ рд╣реИрдВ, рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЙрдирдореЗрдВ рд╕реЗ рдЕрдзрд┐рдХ рд╣реИрдВред
F8 рдореЗрдВ рднреА рдЪрд╛рд░ рдкреЛрд░реНрдЯ рд╣реИрдВ - 0,1,4,5, рдЬрд┐рд╕рдореЗрдВ рдЖрдк рдЖрдЙрдЯ рдХрдорд╛рдВрдб рд╕реЗ рд▓рд┐рдЦ рд╕рдХрддреЗ рд╣реИрдВ рдФрд░ рдХрдорд╛рдВрдб рдореЗрдВ рдкрдврд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЪреИрдирд▓ F рдореЗрдВ, рдкреЛрд░реНрдЯ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рд╕рд╛рдЙрдВрдб, рдФрд░ рдЬреЙрдпрд╕реНрдЯрд┐рдХ рд╕реНрдЯреЗрдЯрд╕ рдХреЛ рдЖрдЙрдЯрдкреБрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдореИрдВ рдЕрдиреНрдп рдирд┐рд░реНрджреЗрд╢реЛрдВ рдЬреИрд╕реЗ рдЕрдВрдХрдЧрдгрд┐рдд, рд╕рдВрдХреНрд░рдордг рдФрд░ рдЗрддрдиреЗ рдкрд░ рдирд╣реАрдВ рд░рд╣реВрдВрдЧрд╛ - рд╡реЗ рдХрд╛рдлреА рдорд╛рдирдХ рд╣реИрдВред рдореИрдВ рдХреЗрд╡рд▓ рдЗрд╕ рдмрд╛рдд рдкрд░ рдзреНрдпрд╛рди рджреЗрддрд╛ рд╣реВрдВ рдХрд┐ рдЬрд┐рд╕ рд░рдЬрд┐рд╕реНрдЯрд░ рдкрд░ рдЖрдк рдХрд╛рд░реНрд░рд╡рд╛рдИ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдЙрд╕рдХреА рдкрд╕рдВрдж рдмрд╣реБрдд рд╕реАрдорд┐рдд рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореВрд▓реНрдпреЛрдВ рдХреЛ рд▓рдЧрд╛рддрд╛рд░ рдЖрдЧреЗ рдкреАрдЫреЗ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдХреЗ рдХрд╛рд░рдг рдХреЛрдб рддреЗрдЬреА рд╕реЗ рдмрдврд╝рддрд╛ рд╣реИред
рдХреЛрдИ рдШрдЯрд╛рд╡ рдирд╣реАрдВ рд╣реИ (рдХреЗрд╡рд▓ рдЬреЛрдбрд╝ рд╣реИ)ред рдкреНрд░рддрд┐ рдпреВрдирд┐рдЯ рдбреАрдХреНрд░рд┐рдореЗрдВрдЯ (рдбреАрдПрд╕) рдФрд░ рдЗрдВрдХреНрд░реАрдореЗрдВрдЯ (рдЗрдВрдХ) рдЕрд╕рдордорд┐рдд рд╣реИрдВред рдбреА рдПрд╕ рдХреЗрд╡рд▓ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ r0-r8, inc - рдХреЗрд╡рд▓ рдмреИрдЯрд░реА рдХреЗ рд╕рд╛рдеред
рдмрд┐рдирд╛ рд╢рд░реНрдд рдХреВрджрдиреЗ рд╕реЗ рдмреИрдЯрд░реА рдЦрд░рд╛рдм рд╣реЛ рдЬрд╛рддреА рд╣реИред
рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рд▓реВрдк рдХрд╛ рдЙрджрд╛рд╣рд░рдг
li 25 ; (r4) number of iterations lr 4,a next: ds 4 ; r4-- bnz next ; until r4 == 0
рд╕рдмрд░реВрдЯреАрдиреНрд╕
рдЪреВрдВрдХрд┐ F8 рдореЗрдВ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрдЯреИрдХ рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдиреЗрд╕реНрдЯреЗрдб рд╕рдмрдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЙрд▓ рдХреЗ рд╕рд╛рде рдХрдард┐рдирд╛рдЗрдпрд╛рдБ рд╣реИрдВред рдПрдХ рд╕рд╛рдорд╛рдиреНрдп рдХреЙрд▓ рдФрд░ рд░рд┐рдЯрд░реНрди рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
; ...code pi sub ; Pushes address of next instruction to PC1 ; address of sub is stored in PC0 (jump to subroutine) ; ...code continues sub: ; ... often used code pop ; Move return address from PC1 to PC0
рдпрд╣рд╛рдБ PC0 рдПрдХ рдирд┐рдпрдорд┐рдд рдирд┐рд░реНрджреЗрд╢ рд╕реВрдЪрдХ рд╣реИред PC1 - рддрдерд╛рдХрдерд┐рдд "рд╕реНрдЯреИрдХ рд░рдЬрд┐рд╕реНрдЯрд░"ред рдЗрд╕рдХрд╛ рд╕реНрдЯреИрдХ рд╕реЗ рдХреЛрдИ рд▓реЗрдирд╛-рджреЗрдирд╛ рдирд╣реАрдВ рд╣реИ, рд╕рдмрд░реВрдЯреАрди рдХрд╣реЗ рдЬрд╛рдиреЗ рдкрд░ рдмрд╕ PC0 рдЗрд╕рдореЗрдВ рдмрдЪ рдЬрд╛рддреА рд╣реИред
рдпрджрд┐ рдЙрдк рд╕реЗ рдПрдХ рдФрд░ рд╕рдмрд░реВрдЯреАрди рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИ, рддреЛ рд╡рд╛рдкрд╕реА рдкрддрд╛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ рдФрд░ рдЗрд╕реЗ рдЬрдЯрд┐рд▓ рдХрд░рдирд╛ рдкрдбрд╝рддрд╛ рд╣реИ (рд░рдЬрд┐рд╕реНрдЯрд░ рдореЗрдВ рдкрд╣рд▓рд╛ рд░рд┐рдЯрд░реНрди рдкрддрд╛ рд╕рд╣реЗрдЬреЗрдВ):
prog: ; ...do something... pi sub1 ; Address of next instruction stored in PC1 ; sub1 is stored in PC0 (jump to subroutine) ; ...do more... sub1: lr k,p ; Copy PC1 to K, original jump address to K ; ...do something... pi sub2 ; Pushes address of next instruction to PC1 ; sub1 is stored in PC0 (jump to subroutine) ; ...do more... pk ; Store address of next instruction in PC1 ; Copy value in K to PC0 (jump back to main) sub2: ; ...do something... pop ; Move return address from PC1 to PC0
рдпрджрд┐ рдЖрдкрдХреЛ рддреАрд╕рд░реЗ рд╕реНрддрд░ рдХреЗ рдШреЛрдВрд╕рд▓реЗ рдХреЗ рд╢рд┐рдХрд╛рд░ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ, рддреЛ рд╕рдм рдХреБрдЫ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдЙрджрд╛рд╕ рд╣реЛ рдЬрд╛рддрд╛ рд╣реИ (рдЗрд╕рдХреЗ рд▓рд┐рдП BIOS рдореЗрдВ рджреЛ рд╡рд┐рд╢реЗрд╖ рд░реВрдЯреАрди рднреА рд╣реИрдВ - рдкреБрд╢рдХ рдФрд░ рдкреЙрдкрдХ)ред
рд╕рд╛рдорд╛рдиреНрдп рд╕рд┐рдлрд╛рд░рд┐рд╢ рдореИрдХреНрд░реЛрдЬрд╝ рдХреЗ рд╕рд╛рде рд╕рдмрд░реВрдЯреАрди рдХреЙрд▓ рдХреЛ рдмрджрд▓рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░рдирд╛ рд╣реИред рдмреЗрд╢рдХ, рдЕрдЧрд░ рдХреЛрдб рдХреЗ рдЖрдХрд╛рд░ рдкрд░ рдХреЛрдИ рд╕рдЦреНрдд рдкреНрд░рддрд┐рдмрдВрдз рдирд╣реАрдВ рд╣реИрдВред
F8 рдореЗрдВ рдХреЛрдИ рд╣рд╛рд░реНрдбрд╡реЗрдпрд░ рд╕реНрдЯреИрдХ рдирд╣реАрдВ рд╣реИред рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдЗрд╕реЗ ISAR рдФрд░ рдмрдлрд╝рд░реНрд╕ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдкреНрд░реЛрдЧреНрд░рд╛рдореЗрдЯрд┐рдХ рд░реВрдк рд╕реЗ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
RAM рдкрд░ рд▓рд┐рдЦрдирд╛ рдмрд╣реБрдд рдкреНрд░рд╛рд╕рдВрдЧрд┐рдХ рдирд╣реАрдВ рд╣реИ (рдПрдХ рдХреА рдХрдореА рдХреЗ рд▓рд┐рдП), рд▓реЗрдХрд┐рди рдпрд╣ рдЗрд╕ рддрд░рд╣ рджрд┐рдЦрддрд╛ рд╣реИ:
li $FF ; set value dci $3800 ; set target address st ; write
рд╕реНрдореГрддрд┐
рд╣рд╛рд▓рд╛рдБрдХрд┐ рдпрд╣ рдереЛрдбрд╝рд╛ рдЕрдЬреАрдм рд▓рдЧрддрд╛ рд╣реИ, рдлреЗрдпрд░рдЪрд╛рдЗрд▓реНрдб рдЪреИрдирд▓ F рдореЗрдВ рдХреЛрдИ RAM рдирд╣реАрдВ рд╣реИред рдореМрдЬреВрджрд╛ рджреЛ рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА (MK4027) рдкрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рдкрдардиреАрдп рдирд╣реАрдВ рд╣реЛрддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЗрдВ рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд▓рд┐рдЦрд╛ рдЬрд╛рддрд╛ рд╣реИред рдорд╛рдЗрдХреНрд░реЛрдкреНрд░реЛрд╕реЗрд╕рд░ рдХреЗ рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ 64 рдХреЗ рд░реВрдк рдореЗрдВ, рд░реИрдо рдХреЗ рд▓рд┐рдП рд╢рд╛рдпрдж рд╣реА рд╕рд╣реА рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛ рд╣рдЯрд╛рдиреЗ рдпреЛрдЧреНрдп ROM рдХрд╛рд░рддреВрд╕ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдЕрдХреНрд╕рд░ 2kb рдХреА рдХреНрд╖рдорддрд╛ рд╣реЛрддреА рд╣реИ (рдХреБрдЫ рдЖрдзреБрдирд┐рдХ рдЧреЗрдо 3k, 4k рдФрд░ 5k рдХрд╛рд░рддреВрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВ)ред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдЗрд╕рдореЗрдВ рдмрд┐рд▓реНрдЯ-рдЗрди рдкреНрд░реЛрд╕реЗрд╕рд░ рдЪрд┐рдк, 1KB ROM ROM рд╣реИ, рдЬрд┐рд╕рдореЗрдВ рдПрдХ рд╕рд╛рдзрд╛рд░рдг рдЧреЗрдо рдЬреИрд╕реЗ рдХрд┐ рдЯреЗрдирд┐рд╕, рдЙрдкрдпреЛрдЧреА рджрд┐рдирдЪрд░реНрдпрд╛ рдХреЗ рдПрдХ рдЬреЛрдбрд╝реЗ рдФрд░ рдХрдИ рдкрд╛рддреНрд░реЛрдВ рдХреА рдЫрд╡рд┐рдпрд╛рдВ рд╣реИрдВред
рдкрддрд╛ рд╕реНрдерд╛рди рдореЗрдВ, BIOS $ 0000 рд╕реЗ $ 07ff, рдХрд╛рд░рддреВрд╕ ROM - $ 0800 рд╕реЗ рд╕реНрдерд┐рдд рд╣реИред
рдЧреНрд░рд╛рдлрд┐рдХреНрд╕
рдЪреИрдирд▓ рдПрдл рдХреА рдЪрд┐рддреНрд░рдордп рдХреНрд╖рдорддрд╛рдПрдВ рдмрд╣реБрдд рд╣реА рдЖрджрд┐рдо рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╣рд╛рдВ рдПрдХ рдЕрд▓рдЧ рдЪрд┐рдк рдХреЗ рд░реВрдк рдореЗрдВ рдмрд╕ рдХреЛрдИ рд╡реАрдбрд┐рдпреЛ рдирд┐рдпрдВрддреНрд░рдХ рдирд╣реАрдВ рд╣реИ - рд╕рдм рдХреБрдЫ рд╕рд╛рдорд╛рдиреНрдп рддрд░реНрдХ рдкрд░ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдЬреИрд╕реЗ рдХрд┐ рд╢рд┐рдлреНрдЯ рд░рдЬрд┐рд╕реНрдЯрд░, рдЧреЗрдЯ рдФрд░ рдСрдкрд░реЗрд╢рдирд▓ рдПрдореНрдкрд▓реАрдлрд╛рдпрд░реЛрдВред рдпрд╣ рдХрд╛рдлреА рдЕрд╕рд╛рдорд╛рдиреНрдп рд╣реИ рдХрд┐ рд╡рд┐рднрд┐рдиреНрди рд╕реНрд░реЛрдд рд╡рд┐рднрд┐рдиреНрди рдкреНрд░рд╕реНрддрд╛рд╡реЛрдВ рдХрд╛ рдЙрд▓реНрд▓реЗрдЦ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдХрдИ рд╡рд┐рдХрд▓реНрдк рд╣реИрдВред рддрдереНрдп рдпрд╣ рд╣реИ рдХрд┐ рдЙрдкрд▓рдмреНрдз 2 рдХрд┐рд▓реЛрдмрд╛рдЗрдЯ рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рдореЗрдВ 128 x 64 рдХрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд╣реИ, рд▓реЗрдХрд┐рди рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рдпрд╣ рдорд╛рдорд▓реЗ рд╕реЗ рдмрд╣реБрдд рджреВрд░ рд╣реИред рд╕рдмрд╕реЗ рдкрд╣рд▓реЗ, рдмрд╣реБрдд рдХреБрдЫ рдЗрд╕ рдмрд╛рдд рдкрд░ рдирд┐рд░реНрднрд░ рдХрд░рддрд╛ рд╣реИ рдХрд┐ рдЗрд╕ рд╡рд┐рд╢реЗрд╖ рдЯреАрд╡реА рдкрд░ рдмрдирд╛рдИ рдЬрд╛ рд░рд╣реА рдЫрд╡рд┐ рдХрд╛ рдХреМрди рд╕рд╛ рдХреНрд╖реЗрддреНрд░ рджрд┐рдЦрд╛рдИ рджреЗ рд░рд╣рд╛ рд╣реИ (рдХреНрдпреЛрдВрдХрд┐ рдкрд╣рд▓реЗ 4 рдХреЙрд▓рдо рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ)ред рджреВрд╕рд░реЗ, рдкреИрд▓реЗрдЯ рдХреЗ рдиреАрдЪреЗ рдЕрдВрддрд┐рдо рдХреБрдЫ рдХреЙрд▓рдо рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рддреАрд╕рд░рд╛, рдореЗрдореЛрд░реА рдХрд╛ рд╣рд┐рд╕реНрд╕рд╛ рдмрд┐рд▓реНрдХреБрд▓ рднреА рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдирддреАрдЬрддрди, рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди рд▓рдЧрднрдЧ 8 рд░рдВрдЧреЛрдВ рдХреЗ рд╕рд╛рде 95 x 58 рдкрд┐рдХреНрд╕рд▓ рдХреЗ рд░реВрдк рдореЗрдВ рдЕрдиреБрдорд╛рдирд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЬреЛ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдкрдиреЗ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж 64x32 рдХреЗ рд╕рд╛рде рдЖрд░рд╕реАрдП рд╕реНрдЯреВрдбрд┐рдпреЛ II рдХреА рддреБрд▓рдирд╛ рдореЗрдВ рдмрд╣реБрдд рдмреЗрд╣рддрд░ рд╣реИ)ред
рдЕрдзрд┐рдХрд╛рдВрд╢ рдХрдВрд╕реЛрд▓ NTSC рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ рдЬрд╛рд░реА рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рд▓реЗрдХрд┐рди PAL рднреА рдореМрдЬреВрдж рд╣реИрдВред рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрдВрддрд░ рдирд╣реАрдВ рд╣реИрдВ, рдЬреИрд╕рд╛ рдХрд┐ рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ (рд▓рд╛рдЗрдиреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рд╕рдорд╛рди рд╣реИ)ред
рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ, рдЗрд╕ рддрд░рд╣ рдХрд╛ рдПрдХ рд╕рд░рд▓ рд▓реЛрд╣рд╛ рдХреЗрд╡рд▓ рдЖрдкрдХреЛ рд╕реНрдХреНрд░реАрди рдкрд░ рдбреЙрдЯреНрд╕ рдЦреАрдВрдЪрдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рдпрджреНрдпрдкрд┐ рдкреНрд░рджрд░реНрд╢рд┐рдд рд░рдВрдЧреЛрдВ рдХреА рдХреБрд▓ рд╕рдВрдЦреНрдпрд╛ 8 рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐, рдХреЗрд╡рд▓ рдЪрд╛рд░ рдХреЛ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ (рдЖрдк рдордирдорд╛рдиреЗ рдврдВрдЧ рд╕реЗ рдЗрд╕ рдкреИрд▓реЗрдЯ рдХреЛ рдХреЙрд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ)ред рдкреИрд▓реЗрдЯ рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рд╡реНрдпрдХреНрддрд┐рдЧрдд рд░реВрдк рд╕реЗ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдПрдХ рдЕрдЬреАрдм рдЬрдЧрд╣ рдореЗрдВ рд╕рдВрдЧреНрд░рд╣реАрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ 125 рдФрд░ 126 рдХреЙрд▓рдо рдореЗрдВ (рдЬреЛ рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ рджреГрд╢реНрдп рдХреНрд╖реЗрддреНрд░ рдХреЗ рдмрд╛рд╣рд░ рд╣реИрдВ)ред рдЗрди рджреЛ рд╕реНрддрдВрднреЛрдВ рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдЦреАрдВрдЪрдХрд░, рдХреНрд░рдорд╢рдГ рдкреИрд▓реЗрдЯ рдХреЛ рдмрджрд▓рдирд╛ рд╣реИред

(рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рдХреНрд╖реЗрддреНрд░ рдЬреЛ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╕реНрдХреНрд░реАрди рдкрд░ рджрд┐рдЦрд╛рдИ рджреЗрддрд╛ рд╣реИ рдФрд░ рд╡рд╣ рдХреНрд╖реЗрддреНрд░ рдЬрд╣рд╛рдВ рдкреИрд▓реЗрдЯ рд╕реЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдкреАрд▓реЗ рд░рдВрдЧ рдореЗрдВ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ)
рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдЙрд▓реНрд▓реЗрдЦ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рд╡реАрдЖрд░рдПрдПрдо рдХреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рдХрд╛ рдХреЗрд╡рд▓ рдПрдХ рд╣реА рддрд░реАрдХрд╛ рд╣реИред рдпрд╣ рд░рдВрдЧ, рд╕реНрддрдВрдн, рдкрдВрдХреНрддрд┐ рдХреЛ рдЗрдВрдЧрд┐рдд рдХрд░рддрд╛ рд╣реИ:
X рдХреЛ рдкреЛрд░реНрдЯ 4, Y рд╕реЗ рдкреЛрд░реНрдЯ 5, рдкреЛрд░реНрдЯ 1 рдХреЗ рд▓рд┐рдП рд░рдВрдЧ рдХреЗ рд▓рд┐рдП рд▓рд┐рдЦрд╛ рдЧрдпрд╛ рд╣реИ, рдЬрд┐рд╕рдХреЗ рдмрд╛рдж рдкреЛрд░реНрдЯ 1 рдХреЗ рд▓рд┐рдП рдПрдХ рдирд┐рд░рдВрддрд░ рд▓рд┐рдЦрдХрд░ рдбреЗрдЯрд╛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ:
; set color (2 bit per pixel) li $00 ; color ($00 = green, $40 = red, $80 = blue, $C0 = background) outs 1 li 104 ; X com outs 4 ; set the row li 61 ; Y com outs 5 ; transfer data to VRAM li $60 outs 0 li $50 outs 0 ; wait for update lis 6 delay: ai $ff bnz delay
рдПрдХ рджреЗрд░реА рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╕рдм рдХреБрдЫ рд░рд┐рдХреЙрд░реНрдб рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХреЗ, рдЕрдиреНрдпрдерд╛ рдЕрдЧрд▓реЗ рдмрд┐рдВрджреБ рдХреЛ рдЦреАрдВрдЪрд╛ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, 4 рдХреЛ рдЕрднреА рднреА рдХреЙрд▓рдо рдФрд░ рдкрдВрдХреНрддрд┐ рдореЗрдВ рдЬреЛрдбрд╝рд╛ рдЧрдпрд╛ рд╣реИ (рд╕рд╛рджрдЧреА рдХреЗ рд▓рд┐рдП рдЫреЛрдбрд╝рд╛ рдЧрдпрд╛)
рдкреВрд░реА рд╕реНрдХреНрд░реАрди рдХреЛ рдбреЙрдЯреНрд╕ (рд▓реВрдк рдореЗрдВ) рд╕реЗ рднрд░рдирд╛ рдЗрд╕ рдкреНрд░рдХрд╛рд░ рд▓рдЧрднрдЧ рдПрдХ рд╕реЗрдХрдВрдб рд▓рдЧрддрд╛ рд╣реИред рдпрд╣ рдзреНрдпрд╛рди рд░рдЦрдирд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рд╣реИ рдХрд┐ рдмреЗрд╣рдж рдзреАрдореА рд╕реНрдХреНрд░реАрди рдЕрдкрдбреЗрдЯ рдХреЗ рдЕрд▓рд╛рд╡рд╛, рдпрд╣ рднреА рддрдереНрдп рд╣реИ рдХрд┐ рдлрд╝реНрд░реЗрдо рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдмреАрдо рдХреЗ рд▓реМрдЯрдиреЗ рдХрд╛ рдЗрдВрддрдЬрд╛рд░ рдХрд░рдиреЗ рдХрд╛ рдХреЛрдИ рддрд░реАрдХрд╛ рдирд╣реАрдВ рд╣реИред рддрджрдиреБрд╕рд╛рд░, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдПрдХ рдЫреЛрдЯреЗ рд╕реЗ рд▓рд╛рд▓ рд░рдВрдЧ рдЕрдирд┐рд╡рд╛рд░реНрдп рд░реВрдк рд╕реЗ рдПрдХ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХреЗ рд╕рд╛рде рд╣реЛрддрд╛ рд╣реИред
рдЕрдм рдкреИрд▓реЗрдЯ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВред рд╕рдЦреНрддреА рд╕реЗ рдмреЛрд▓рдирд╛, рдкреНрд░рддреНрдпреЗрдХ рдкрдВрдХреНрддрд┐ рдХреЗ рд▓рд┐рдП рджреЛ рдореЛрдб рд╣реИрдВ - рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж (рдЬрдм рдкреГрд╖реНрдарднреВрдорд┐ рдХрд╛рд▓реА рд╣реИ рдФрд░ рдЕрдЧреНрд░рднреВрдорд┐ рдХреЗрд╡рд▓ рд╕рдлреЗрдж рд╣реИ, рдХреЛрдИ рдлрд░реНрдХ рдирд╣реАрдВ рдкрдбрд╝рддрд╛ рдХрд┐ рдкрд┐рдХреНрд╕реЗрд▓ рдХреНрдпрд╛ рд╣реИ) рдФрд░ рд░рдВрдЧред
рдЕрдЧреНрд░рднреВрдорд┐ рд░рдВрдЧ рдореЛрдб рдореЗрдВ, рд╣рдореЗрд╢рд╛ рддреАрди рд╣реЛрддреЗ рд╣реИрдВ - рд▓рд╛рд▓, рд╣рд░рд╛, рдиреАрд▓рд╛ (рдЖрд░рдЬреАрдмреА)ред рдкреНрд▓рд╕ рддреАрди рдкреГрд╖реНрдарднреВрдорд┐ рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ - рдЧреНрд░реЗ, рд╣рд▓реНрдХрд╛ рдиреАрд▓рд╛, рд╣рд▓реНрдХрд╛ рд╣рд░рд╛ред
рдкреИрд▓реЗрдЯ рдХреЛ 125 рдФрд░ 126 рдХреЙрд▓рдо рдореЗрдВ рд╕реЗрдЯ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдирд┐рдореНрди рдорд╛рди рд▓рд┐рдЦреЗрдВ:
x=125 x=126 palette --------------------------------------------------------------------- 00 00 COLOR: rgb, light green bg 00 ff COLOR: rgb, light blue bg ff 00 COLOR: rgb, gray bg ff ff B/W: www, black bg
рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦреЗрд▓реЛрдВ рдореЗрдВ, рд╡реЗ рдЖрдорддреМрд░ рдкрд░ рдРрд╕рд╛ рдХрд░рддреЗ рд╣реИрдВ: рдкрд╣рд▓реЗ рд╡реЗ рдПрдХ рдирд┐рд╢реНрдЪрд┐рдд рд╕рд╛рдорд╛рдиреНрдп рдкреГрд╖реНрдарднреВрдорд┐ рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ, рдЬрд┐рд╕рдХреЗ рд▓рд┐рдП рдЖрдк рддреИрдпрд╛рд░ BIOS рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ:
li $c6 ; $21 - b/w palette, fill with black. $c6 - color palette, fill with gray lr 3, A pi clrscrn ; clrscrn BIOS call
рдлрд┐рд░, рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдПрдХ рдХрд╛рд▓реЗ рдФрд░ рд╕рдлреЗрдж рдкреИрд▓реЗрдЯ рдХреЗ рд╕рд╛рде рдПрдХ рдкрдЯреНрдЯреА рдмрдирд╛рдПрдВ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рдХрд╛рд▓реЗ рд░рдВрдЧ рдХреА рдкреГрд╖реНрдарднреВрдорд┐ рдкрд░ рд╕рдлреЗрдж рд╕рдВрдЦреНрдпрд╛рдУрдВ рдХреЗ рд╕рд╛рде рдЧреЗрдо рд╕реНрдХреЛрд░ рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП)
рдФрд░ рдлрд┐рд░ рд╡реЗ рддреАрди рд░рдВрдЧреЛрдВ рдореЗрдВ рд╕реЗ рдПрдХ рдореЗрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдбрд╛рд▓рддреЗ рд╣реИрдВ (рдпрджрд┐ рдкреГрд╖реНрдарднреВрдорд┐ рдХреНрд░рдорд╢рдГ рдЧреНрд░реЗ рд╣реИ - рдЖрд░, рдЬреА, рдмреА)ред рдирддреАрдЬрддрди, рдмреЗрд╢рдХ 8 рд░рдВрдЧ рд╣реИрдВ, рд▓реЗрдХрд┐рди рдПрдХ рд╡рд┐рд╢рд┐рд╖реНрдЯ рд╕реНрдерд╛рди рдкрд░ рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдордирдорд╛рдирд╛ рд░рдВрдЧ рдХрд╛ рдПрдХ рдмрд┐рдВрджреБ рдЗрддрдирд╛ рдЖрд╕рд╛рди рд╣реИ - рдпрд╣ рдЕрд╕рдВрднрд╡ рд╣реИред
рдпрд╣рд╛рдВ рдЪрд┐рддреНрд░реЛрдВ рдХрд╛ рдПрдХ рд╕реЗрдЯ рд╣реИ рдЬреЛ рд░рдВрдЧреЛрдВ рдФрд░ рдЙрдирдХреЗ рд╕рдВрдпреЛрдЬрди рдХрд╛ рдХреБрдЫ рд╡рд┐рдЪрд╛рд░ рджреЗрддрд╛ рд╣реИред
рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рдкрд░ рд╕рднреА рдЧреНрд░рд╛рдлрд┐рдХреНрд╕, рдЬреИрд╕реЗ, рдЕрдВрдд - рд╡рд╣ рд╕рдм рдХреБрдЫ рдЬреЛ рдЖрдк рдХрд░рдирд╛ рдЪрд╛рд╣рддреЗ рд╣реИрдВ рд╡рд╣ рдкрд┐рдХреНрд╕реЗрд▓ рдбреНрд░рд╛рдЗрдВрдЧ рдФрд░ рдореИрдиреНрдпреБрдЕрд▓ рд░реВрдк рд╕реЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдЙрдкрдпреЛрдЧреА рджрд┐рдирдЪрд░реНрдпрд╛ рд╕реЗ, BIOS рдореЗрдВ рдЪрд░рд┐рддреНрд░ рдЖрдЙрдЯрдкреБрдЯ рд╣реЛрддрд╛ рд╣реИред рд╣рд╛рд▓рд╛рдВрдХрд┐, рдЕрдВрддрд░рд┐рдХреНрд╖ рдХреА рдмрдЪрдд рдХреЗ рдХрд╛рд░рдгреЛрдВ рдХреЗ рд▓рд┐рдП, рд░реЛрдо рдореЗрдВ рд╕рдВрдЦреНрдпрд╛ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рд╡рд░реНрдгреЛрдВ рдХреА рдХреЗрд╡рд▓ рдЫрд╡рд┐рдпрд╛рдВ рд╣реИрдВ, рдЖрдХрд╛рд░ рдореЗрдВ 5x8 рдкрд┐рдХреНрд╕реЗрд▓:
рд╣рд╛рд▓рд╛рдБрдХрд┐, рдЙрдирдХреА рд╡рд╛рдкрд╕реА рдХреА рдкреНрд░рдХреНрд░рд┐рдпрд╛ рдЙрдкрдпреЛрдЧреА рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд┐рдореНрдирд╛рдиреБрд╕рд╛рд░ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ:
li 25 ; column lr 1,a li 25 ; row lr 2,a li %11000000 ; eg $c0 - green "0" lr 0,a ; a -> r0 pi drawchar ; call subroutine
рдЙрдкрд░реЛрдХреНрдд рд╕рдВрд╕реНрдХрд░рдг рдореЗрдВ, рд░рдЬрд┐рд╕реНрдЯрд░ r0 рдореЗрдВ рдКрдкрд░реА рджреЛ рдЕрдВрдХ рд░рдВрдЧ (10 - рд▓рд╛рд▓, 11 - рд╣рд░рд╛, 01 - рдиреАрд▓рд╛, 00 - рдкрд╛рд░рджрд░реНрд╢реА), рдмрд╛рдХреА - рдЪрд░рд┐рддреНрд░ рдХреЗ рд╕реАрд░рд┐рдпрд▓ рдирдВрдмрд░ (0 1 2 3 4 5 6 7 8 9 G? T SPACE MX рдирд┐рд░реНрдзрд╛рд░рд┐рдд рдХрд░рддреЗ рд╣реИрдВ? рдмреНрд▓реЙрдХ: - рдХреЗрдВрджреНрд░ || рд╡рд╛рдо ||,), рд╢реВрдиреНрдп рд╕реЗ рд╢реБрд░реВред рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ r1 рдФрд░ r2 рдХреЛ рдХреНрд░рдорд╢рдГ, рдПрдХ рдХреЙрд▓рдо рдФрд░ рдПрдХ рдкрдВрдХреНрддрд┐ рдореЗрдВ рд░рдЦрд╛ рдЧрдпрд╛ рд╣реИред
рдмрд┐рдЯреНрд╕ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рд╕реЛрдЪрдиреЗ рдХрд╛ рдЕрдзрд┐рдХ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рд╡рд┐рдХрд▓реНрдк рдирд╣реАрдВ рд╣реИ:
li 20 ; x lr 1,a ; a -> r1 li 10 ; y lr 2,a ; a -> r2 li $40 ; char color in bits 6,7: $80 (%10000000) - red, $c0 (%11000000) - green, $40 (%01000000) - blue, $00 (%00000000) - transparent oi 1 ; index of char ( eg 3 for "3" ) lr 0,a ; combined color + char index -> r0 pi drawchar ; call subroutine
рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╣рд╕реВрд╕ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ
рдХреИрдУрд╕ рдХрдВрд╕реНрдЯреНрд░рдХреНрд╢рдВрд╕'2019 рдореЗрдВ рдЫреЛрдЯреЗ рдЗрдВрдЯреНрд░реЛ рдкреНрд░рддрд┐рдпреЛрдЧрд┐рддрд╛ рдХреЗ рд▓рд┐рдП
256-рдмрд╛рдЗрдЯ рдЗрдВрдЯреНрд░реЛ рд▓рд┐рдЦрд╛ред рдХреБрдЫ рднреА рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди рдзреНрдпрд╛рди рджреЗрдВ рдХрд┐ рд▓рд╛рдЗрди-рдмрд╛рдп-рд▓рд╛рдЗрди рдкреИрд▓реЗрдЯ рдкрд░рд┐рд╡рд░реНрддрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХреНрдпреЛрдВ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдПрдХ рд░реЗрдВрдЧрдиреЗ рд╡рд╛рд▓реА рдХреНрд╖реИрддрд┐рдЬ рдкрдЯреНрдЯреА, рдЬреИрд╕рд╛ рдХрд┐ рдпрд╣ рдерд╛, рдЗрд╕рдХреЗ рддрд╣рдд рдЖрдиреЗ рд╡рд╛рд▓реА рд░реЗрдЦрд╛ рдХреЛ рд╣рд╛рдЗрд▓рд╛рдЗрдЯ рдХрд░рддрд╛ рд╣реИ, рдкреВрд░реА рддрд░рд╣ рд╕реЗ рдХрд╛рд▓реЗ рд░рдВрдЧ рдХреЗ рд╕рд╛рде рдкреВрд░реА рдкреГрд╖реНрдарднреВрдорд┐ рдХреА рдЬрдЧрд╣, рдФрд░ рд╕рдлреЗрдж рдХреЗ рд╕рд╛рде рд╕рднреА рдкрд┐рдХреНрд╕реЗрд▓ред рдЪреВрдВрдХрд┐ рдЖрдкрдХреЛ рд╕реНрд╡рдпрдВ рдкрд┐рдХреНрд╕реЗрд▓ рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ (рдФрд░ рдмрд╛рдж рдореЗрдВ рдЙрдиреНрд╣реЗрдВ рдкреБрдирд░реНрд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ), рдЖрдк рдЗрд╕ рддрд░рд╣ рдХреЗ "рдмреИрдХрд▓рд╛рдЗрдЯ" рдХреЛ рдмрд╣реБрдд рддреЗрдЬ рдФрд░ рдмрд┐рдирд╛ рдЭрд┐рд▓рдорд┐рд▓рд╛рд╣рдЯ рдХреЗ рдмрдирд╛ рд╕рдХрддреЗ рд╣реИрдВред
рджреВрд╕рд░рд╛ рдмрд┐рдВрджреБ "рд╕реАрд╕реА" рдЕрдХреНрд╖рд░ рд╣реИрдВред рдЪреВрдБрдХрд┐ "C" рдЕрдХреНрд╖рд░ BIOS рдореЗрдВ рдирд╣реАрдВ рд╣реИрдВ, рдЗрд╕рд▓рд┐рдП GG рдФрд░ рд╕рдВрдЦреНрдпрд╛ 1 рдХреЗ рдЕрдХреНрд╖рд░реЛрдВ рдХрд╛ рдУрд╡рд░рд▓реИрдкрд┐рдВрдЧ рдХрд╛ рдЙрдкрдпреЛрдЧ рдЙрд▓рдЯрд╛ "CC" рдкреНрд░рд╛рдкреНрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред
рдзреНрд╡рдирд┐
рдЖрд╡рд╛рдЬ рдЦрд░рд╛рдм рд╣реИред рдЖрдзрд┐рдХрд╛рд░рд┐рдХ рддреМрд░ рдкрд░, рддреАрди рдзреНрд╡рдирд┐рдпрд╛рдБ рд╣реИрдВ - 120Hz, 500 Hz рдФрд░ 1 KHzред рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдХреНрд▓рд┐рдХ рдХреЗ рдЕрд▓рд╛рд╡рд╛ рдХреБрдЫ рдФрд░ рдПрдХ рдШреБрдЯрд╛ рд╣реБрдЖ рдЪреАрдЦрд╝ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рд╕рдорд╕реНрдпрд╛рдЧреНрд░рд╕реНрдд рд╣реИред рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡реЗ рдХрд╣рддреЗ рд╣реИрдВ рдХрд┐ PAL рдФрд░ NTSC рдорд╢реАрдиреЛрдВ, рд╕рд╛рде рд╣реА рдкреБрд░рд╛рдиреЗ рдФрд░ рдирдП рд╕рдВрд╕реНрдХрд░рдгреЛрдВ рдХреЗ рдмреАрдЪ, рдзреНрд╡рдирд┐ рднреА рдЕрд▓рдЧ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЦреЗрд▓реЛрдВ рдХреЗ рд▓рд┐рдП - рдпрд╣ рдкрд░реНрдпрд╛рдкреНрдд рд╣реИред рдмрдВрджрд░рдЧрд╛рд╣реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдФрд░ рдкрд░ рдзреНрд╡рдирд┐:
li %01000000 ; 1khz beep $40 outs 5 li %10000000 ; 500hz beep $80 outs 5 li %11000000 ; 120hz beep $c0 outs 5 ; some pause clr outs 5 ; turn off sound
рд▓реЛрдЧреЛрдВ рдХреЛ рд╕рдВрдЧреАрдд рдмрдЬрд╛рдиреЗ рдореЗрдВ рднреА рдордЬрд╝рд╛ рдЖрддрд╛ рдерд╛ред
рд╕рдмрд╕реЗ рдЕрдЪреНрдЫреЗ рдирдореВрдиреЗ рджреВрд░ рд╕реЗ рдкреАрд╕реА-рд╕реНрдкреАрдХрд░ рд╕реЗ рдорд┐рд▓рддреЗ рдЬреБрд▓рддреЗ рд╣реИрдВред рд╕рдЪ рд╣реИ, рд╡реИрд╕реЗ рднреА рдХреЛрдИ рд╡реНрдпрд╛рд╡рд╣рд╛рд░рд┐рдХ рдЕрд░реНрде рдирд╣реАрдВ рд╣реИ - рд╕рднреА рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕рдВрд╕рд╛рдзрди рд╕рдВрдЧреАрдд рдореЗрдВ рдЬрд╛рддреЗ рд╣реИрдВ, рдХреБрдЫ рднреА рд╡рд┐рд╢реЗрд╖ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред
рд╡рд┐рдХрд╛рд╕ рдХреЗ рдЙрдкрдХрд░рдг
рд╡рд░реНрддрдорд╛рди рдореЗрдВ, "рд╡рд┐рдХрд╛рд╕ рдкреИрдХ" рдирд╛рдордХ рдЖрд╡рд╢реНрдпрдХ рд╕реЙрдлрд╝реНрдЯрд╡реЗрдпрд░ рдХрд╛ рдПрдХ
рддреИрдпрд╛рд░-рдЪрдпрди рд╣реИ ред
рдЗрд╕рдореЗрдВ DASM рдХреЛрдбрд╛рдВрддрд░рдХ, рдбрд┐рд╕реНрд╕реЗрдореНрдмрд▓рд░, MESS рдПрдореБрд▓реЗрдЯрд░ (рдбреАрдмрдЧрд░ рдХреЗ рд╕рд╛рде) рд╢рд╛рдорд┐рд▓ рд╣реИрдВред рдпрд╣ рд╕рдм рдХрдо рд╕реЗ рдХрдо рд╡рд┐рдВрдбреЛрдЬ 7 рдХреЗ рддрд╣рдд рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреЗ рдмрд┐рдирд╛ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
рд╡рд┐рдзрд╛рдирд╕рднрд╛ рдФрд░ рд╕реНрдЯрд╛рд░реНрдЯрдЕрдк рдХреЗ рд▓рд┐рдП рдкреИрд░рд╛рдореАрдЯрд░:
dasm.exe test.asm -f3 -otest.bin messd channelf -cartridge %cartPath%\test.bin -w -effect sharp -r 640x480 -ka
рдПрдореБрд▓реЗрдЯрд░ рдХрд╛рдлреА рдЕрдЪреНрдЫрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡рд╣рд╛рдВ рдореМрдЬреВрдж рдбрд┐рдмрдЧрд░ рдмреЗрд╣рдж рдЕрдЬреАрдм рд╣реИред рдореИрдВ MAME / MESS рдХреЗ рдирдП рд╕рдВрд╕реНрдХрд░рдг рдХреЛ рддреБрд░рдВрдд рдХреЙрдиреНрдлрд╝рд┐рдЧрд░ рдирд╣реАрдВ рдХрд░ рд╕рдХрд╛ (рдореИрдВрдиреЗ рджреЗрдЦрд╛ рдХрд┐ MAME рдХреЛ рдПрдХ рдЕрд▓реЛрдХрдкреНрд░рд┐рдп рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХреЗ рд▓рд┐рдП рд╕реЗрдЯ рдХрд░рдирд╛ рдЬреЛ рдЗрд╕реЗ рдорд╛рдирд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рдпрд╣ рд╣рд░ рдмрд╛рд░ рдПрдХ рдЧреИрд░-рддреБрдЪреНрдЫ рдХрд╛рд░реНрдп рд╣реИ)ред
рдПрдореБрд▓реЗрдЯрд░ рдорд╛рдирддрд╛ рд╣реИ рдХрд┐ рджреГрд╢реНрдп рдХреНрд╖реЗрддреНрд░ рдХрд╛ рд░рд┐рдЬрд╝реЙрд▓реНрдпреВрд╢рди minx = 5, minY = 5, maxX = 105, maxx = 61 рд╕реЗ рдореЗрд▓ рдЦрд╛рддрд╛ рд╣реИ
рдЪреВрдВрдХрд┐ рдкрд░рд┐рдгрд╛рдо рд▓рд╛рдЗрд╡ рдХрд╛ рдкрд░реАрдХреНрд╖рдг рдХрд┐рдП рдмрд┐рдирд╛ рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рддрд╣рдд рдХреБрдЫ рд▓рд┐рдЦрдиреЗ рдореЗрдВ рдХреЛрдИ рдЖрдирдВрдж рдирд╣реАрдВ рд╣реИ, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ ROM рдПрдореБрд▓реЗрдЯрд░ рдХреЗ рд╕рд╛рде рд╕рдорд╕реНрдпрд╛ рдХреЛ рд╣рд▓ рдХрд░рдирд╛ рдкрдбрд╝рд╛ред рдореЗрд░реЗ рдЕрдиреБрд░реЛрдз рдкрд░,
tnt23 рдиреЗ рдПрдХ рд╡рд┐рд╢реЗрд╖ рдХрд╛рд░рддреВрд╕ рдмрдирд╛рдпрд╛ (рдЕрд▓реЗрдХреНрдЬреЗрдВрдбрд░
рдиреЛрд╡реЛрдЬрд╝рд┐рд▓реЛрд╡ рдиреЗ рдЗрд╕рдХреЗ рд▓рд┐рдП рдПрдХ рдорд╛рдорд▓рд╛ рдЫрд╛рдкрд╛) рдЬрд┐рд╕рдореЗрдВ EEPROM 28C16A рдбрд╛рд▓рд╛ рдЧрдпрд╛ рд╣реИред F8 рд╕рдВрдмреЛрдзрди рдХреА рдЦрд╝рд╛рд╕рд┐рдпрдд рдХреЗ рдХрд╛рд░рдг, рдореБрдЭреЗ рдЕрднреА рднреА рдИрдмреЗ рдкрд░ рдПрдХ рдкреНрд░рд╛рдЪреАрди рдлреЗрдпрд░рдЪрд╛рдЗрд▓реНрдб 3853 рдЪрд┐рдк рдЦрд░реАрджрдиреА рдереАред рдирддреАрдЬрддрди, рдпрд╣ рджреЗрдЦрдиреЗ рдХреЗ рд▓рд┐рдП EEPROM рдХреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХрд░рдирд╛ рд╕рдВрднрд╡ рдерд╛ рдХрд┐ рдХреЛрдб рдПрдХ рд▓рд╛рдЗрд╡ рдорд╢реАрди рдкрд░ рдХреИрд╕реЗ рджрд┐рдЦрддрд╛ рд╣реИред

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