рдПрдореБрд▓реЗрд╢рди рдХрдореЛрдбреЛрд░ 65

рдЫрд╡рд┐

рдЖрдк рдХрднреА рдирд╣реАрдВ рдЬрд╛рдирддреЗ рдХрд┐ рдЕрдЬреНрдЮрд╛рдд рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЖрдк рдХрдм, рдХрд╣рд╛рдБ рдФрд░ рдХрд┐рд╕ рд╕рдордп рд╕реАрдЦрддреЗ рд╣реИрдВред

рдЗрд╕ рдмрд╛рд░ рдпрд╣ рдЖрд╕рд╛рди рд╣реЛ рдЧрдпрд╛ред

рдореИрдВрдиреЗ MOS 6502 рдкрд░ рдЖрдзрд╛рд░рд┐рдд рдХрдВрдкреНрдпреВрдЯрд░реЛрдВ рдХреА рдПрдХ рд╕реВрдЪреА рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХреА рдФрд░ 656402 рдкрд░ рдЖрдзрд╛рд░рд┐рдд C64Dx (рдпрд╛ C65) рдХреЗ рдЙрд▓реНрд▓реЗрдЦ рдХреЗ рд╕рд╛рде рдЖрдпрд╛ - 1990-1991 рдореЗрдВ рдХрдореЛрдбреЛрд░ рдмрд┐рдЬрдиреЗрд╕ рдорд╢реАрди рдореЗрдВ рдмрдирд╛рдП рдЧрдП рдХрдВрдкреНрдпреВрдЯрд░ рдХрд╛ рдПрдХ рдкреНрд░реЛрдЯреЛрдЯрд╛рдЗрдкред рдпрд╣ рдХрдореЛрдбреЛрд░ 64 рдХрд╛ рдПрдХ рдЙрдиреНрдирдд рд╕рдВрд╕реНрдХрд░рдг рд╣реИ, рдФрд░ рдпрд╣ рдПрдХ рдкреБрд░рд╛рдиреЗ рдХрдВрдкреНрдпреВрдЯрд░ рдХреЗ рд╕рд╛рде рдкреАрдЫреЗ рдХреА рдУрд░ рд╕рдВрдЧрдд рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП рдерд╛, рдЬрдмрдХрд┐ рдЕрднреА рднреА рдЕрдореАрдЧрд╛ рдХреЗ рдХрд░реАрдм рдХрдИ рдЙрдиреНрдирдд рд╕реБрд╡рд┐рдзрд╛рдПрдБ рдкреНрд░рджрд╛рди рдХрд░ рд░рд╣рд╛ рд╣реИред рдЬрд╛рд░реА рдХрд┐рдП рдЧрдП рдореЙрдбрд▓ рдХреА рд╕рдВрдЦреНрдпрд╛ рдЗрддрдиреА рдирд╣реАрдВ рд╣реИ, рд▓реЗрдХрд┐рди C65 рдХреА рдЦрд░реАрдж рдкрд░ рдШреЛрд╖рд┐рдд рдХреАрдорддреЛрдВ рдХреА рд╕реВрдЪреА рдкреНрд░рднрд╛рд╡рд╢рд╛рд▓реА рд╣реИред

рдореИрдВрдиреЗ MEGA65 рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рднреА рдкрдврд╝рд╛ - C64 / C65 рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд рдХрдВрдкреНрдпреВрдЯрд░ред рд╕рдм рдХреБрдЫ, рдореИрдВ рддреБрдорд╕реЗ рдорд┐рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░рд┐рдкрдХреНрд╡ рд╣реЛ рдЧрдпрд╛ рд╣реВрдВред

рд╡реАрдбрд┐рдпреЛ рдореЛрдб


рдирдИ VIC III рдЪрд┐рдк рдирд┐рдореНрдирд▓рд┐рдЦрд┐рдд рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ рдкреНрд░рджрд╛рди рдХрд░рддреА рд╣реИ:

  • рдкрд╛рда рдореЛрдб 40/80 x25
  • 320x200x256
  • 640 ├Ч 200 ├Ч 16
  • 1280 ├Ч 200 ├Ч 4
  • 320 ├Ч 400 ├Ч 256
  • 640 ├Ч 400 ├Ч 16
  • 1280 ├Ч 400 ├Ч 4

рдЙрдкрд▓рдмреНрдз рд╡реАрдбрд┐рдпреЛ рдореЛрдб VIC II

DMA рдХрдВрдЯреНрд░реЛрд▓рд░
128K ROM
128K рд░реИрдо рдХреЗ рд╕рд╛рде рд╕рдВрдЧрдд , 1M
рджреЛ рд╕рд╛рдЙрдВрдб рдЪрд┐рдкреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╕реНрддрд╛рд░ рдпреЛрдЧреНрдп
рд╣реИ BASIC 10.0 рдХрд╛ рдирдпрд╛ рд╕рдВрд╕реНрдХрд░рдг 10.0

рдЕрдм рдПрдХ рдПрдореБрд▓реЗрдЯрд░ред

Hi65 рдиреЗ рдХрд╛рдо рдирд╣реАрдВ рдХрд┐рдпрд╛, рдЧреНрд░рд╛рдлрд┐рдХреНрд╕ рд╕реЗ рдкрд░рд┐рдЪрд┐рдд рд╣реЛрдиреЗ рдХреЗ рд▓рд┐рдП рдХреЗрд╡рд▓ BASIC рдЙрджрд╛рд╣рд░рдгреЛрдВ рдХреЛ рдЫреЛрдбрд╝ рджрд┐рдпрд╛ред

рдореИрдВрдиреЗ рдПрдХ рдФрд░ рд▓рд┐рдпрд╛ ред рдЖрдкрдХреЛ рдлрд╝рд╛рдЗрд▓ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдиреЗ рдФрд░ рдЗрд╕реЗ c65-system.rom рдкрд░ рдирд╛рдо рдмрджрд▓рдиреЗ рдХреЗ

рд▓рд┐рдП рдПрдореБрд▓реЗрдЯрд░ рдЪрд▓рд╛рдирд╛ рд╣реЛрдЧрд╛:

xc65.exe -8 diskimage.d81

рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, рдореИрдВрдиреЗ рдХреНрд░реЙрд╕-рдЯреВрд▓реНрд╕ рдХреА рддрд▓рд╛рд╢ рд╢реБрд░реВ рдХреА:

- рдЕрд╕реЗрдВрдмрд▓рд░ 64tass рдХреЗ рдмрд╛рдж рд╕реЗ 65CE02
- cc1541 V3.1 рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ - рдЙрдкрдпреЛрдЧрд┐рддрд╛ .d81 рдЫрд╡рд┐рдпрд╛рдВ рдмрдирд╛рддреА рд╣реИ рдФрд░ рдлрд╛рдЗрд▓реЗрдВ рдЬреЛрдбрд╝рддреА рд╣реИред рдЗрд╕рд▓рд┐рдП рдирд┐рд░реНрдорд╛рдг рдХреЗ рд╕рдордп

рдЫрд╡рд┐

DirMaster v3.1.5 / рд╕реНрдЯрд╛рдЗрд▓ рдХрд╛ рд╡рд░реНрдгрди рдХрд░рдирд╛ рдЕрдзрд┐рдХ рд╕реБрд╡рд┐рдзрд╛рдЬрдирдХ рд╣реИ ред рд╣реЛрдирд╛ рдЖрд╡рд╢реНрдпрдХ рд╣реИред

рдкрд╣рд▓рд╛ рд▓рдХреНрд╖реНрдп рдПрдХ рдХрд╛рд░реНрдпрдХреНрд░рдо рд▓рд┐рдЦрдирд╛ рдерд╛ рдЬреЛ "рд╣реИрд▓реЛ, рд╡рд░реНрд▓реНрдб!" рдкреНрд░рджрд░реНрд╢рд┐рдд рдХрд░рддрд╛ рд╣реИред рдордВрдЪреЛрдВ рдкрд░ рд╡рд┐рд╖рдпреЛрдВ рдХреЛ рдкрдврд╝рдХрд░ рд╕рдорд╛рдзрд╛рди рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ рдЧрдпрд╛:

*=$0FFE
.byte $00, $10
  ldx #$0
cycle  lda hworld,x
       cmp #0
       beq exit
       sta $0800,x
; sta $D800,x
       inx
       jmp cycle
exit   rts
hworld .text 'hello world!',0

рдЫрд╡рд┐

рдХреБрдЫ рдЧрд▓рдд рд╣реЛ рдЧрдпрд╛? рдмрд╕ рдПрдиреНрдХреЛрдбрд┐рдВрдЧ рдЕрд▓рдЧ рд╣реИ:

рдЫрд╡рд┐

рдЗрд╕рд▓рд┐рдП, рдкрд╛рда рдмрджрд▓ рдЧрдпрд╛ рд╣реИ:

hworld .byte 8,5,$0C,$0C,$0F,$20,$17,$0F,$12,$0C,4,$21,0

рдЫрд╡рд┐

рдЗрд╕рдХреЗ рдмрд╛рдж, рдореБрдЭреЗ рдХрдореЛрдбреЛрд░ 64 рдкреНрд░реЛрдЧреНрд░рд╛рдорд░ рд░реЗрдлрд░реЗрдВрд╕ рдЧрд╛рдЗрдб рдбреЙрдХреНрдпреВрдореЗрдВрдЯреЗрд╢рди рдФрд░ рдПрдХ рдЕрдиреНрдп рд╕рдВрдЧреНрд░рд╣ рдорд┐рд▓рд╛ рдЬрд┐рд╕рдореЗрдВ рдмрд╣реБрдд рд╕рд╛рд░реА рдЕрдЪреНрдЫрд╛рдЗрдпрд╛рдБ рдорд┐рд▓реАрдВред C64- рдкреНрд░реЛрдЧреНрд░рд╛рдорд░реНрд╕_рд╕реИрдВрдлрд░_рдЧрд╛рдЗрдб-03-рдкреНрд░реЛрдЧреНрд░рд╛рдорд┐рдВрдЧ_рдЧреНрд░рд╛рдлрд┐рдХреНрд╕.рдкреАрдбреЙрдХ

рдбреЙрдХ рдХреЛ рдкрдврд╝рдХрд░ рдПрдХрд▓ рдкреНрд░рднрд╛рд╡ рдХреЗ рд╡рд┐рдЪрд╛рд░ рдХрд╛ рд╕реБрдЭрд╛рд╡ рджрд┐рдпрд╛ред рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП

	lda #$62
	sta $D018

$ 1800 рдкрд░ рд╡реАрдбрд┐рдпреЛ рдореЗрдореЛрд░реА рдФрд░ $ 800 рдкрд░ рдЪрд░рд┐рддреНрд░ рдбреЗрдЯрд╛ рд░рдЦреЗрдВред C65manual.txt рдХреЛ рдкрдврд╝рддреЗ рд╣реБрдП , рдореБрдЭреЗ рд░рдВрдЧреЛрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдХрд╛рд░реА рдорд┐рд▓реА:

$ D100, $ D200, D300 $ - R, G, рдмреЗрдб рдФрд░ рд░рдВрдЧ рдорд╛рди (0-15)
$ D800- $ DBFFF - рд░рдВрдЧ рдкрд╛рда рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдБ (рдпрд╛ рдпреВрдБ рдХрд╣реЗрдВ, рд╕рднреА рд░рдВрдЧ рдкрддреЗ рдкрд░ рд╕рдВрдЧреНрд░рд╣реАрдд рд╣реИрдВ $ 1F800- $ 1FFFF)ред

рдХреЛрдб рдХреЗ рдХреБрдЫ рдирдореВрдиреЗ, рдореБрдЭреЗ рдПрдХ рддреИрдпрд╛рд░ рдЪрд░рд┐рддреНрд░ рд╕реЗрдЯ рдФрд░ рд╕рд░рд▓ рд░рдВрдЧ рдорд┐рд▓рд╛ред рдореИрдВ рд╕рд┐рд░реНрдл рдореЗрдореЛрд░реА рдХреЗ рджреЛ рд╕реЗрдХреНрд╢рди рдХреЛ рдЯреНрд░рд╛рдВрд╕рдлрд░ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП DMAgic рдЪрд┐рдк рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рдерд╛ред

рдореИрдВрдиреЗ рд▓рдВрдб рдкрдврдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛ ред

рдирд┐рдпрдВрддреНрд░рдХ 4 рдореЛрдб рдореЗрдВ рд╕рдВрдЪрд╛рд▓рд┐рдд рд╣реЛрддрд╛ рд╣реИ:

COPY -
SWAP рдореЗрдореЛрд░реА рдХреЗ рдПрдХ рд╕реЗрдХреНрд╢рди рдХреА рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рдмрдирд╛рдирд╛ -
FILL рд╕реЗрдХреНрд╢рди рдХреЗ рд▓рд┐рдП рдбреЗрдЯрд╛ рдХрд╛ рдЖрджрд╛рди-рдкреНрд░рджрд╛рди рдХрд░рдирд╛ - рдбреЗрдЯрд╛ рдкрд░ рдореЗрдореЛрд░реА рд╕реЗрдХреНрд╢рди рднрд░рдирд╛
MIX - рд╕реНрд░реЛрдд рдФрд░ рд░рд┐рд╕реАрд╡рд░ рдкрд░ рдПрдХ рдмреВрд▓рд┐рдпрди рдорд┐рдиреНрдЯрд░рдо рдорд┐рд╢реНрд░рдг рдХрд░рддрд╛ рд╣реИ (рдореБрдЭреЗ рдорд╛рд░ рдбрд╛рд▓реЛ, рдореБрдЭреЗ рдирд╣реАрдВ рдкрддрд╛ рдХрд┐ рдХреИрд╕реЗ рд▓рд┐рдЦрдирд╛ рд╣реИ)

рдФрд░ рдлрд┐рд░ рдореИрдВ рдкреВрд░реА рддрд░рд╣ рд╕реЗ рднреНрд░рдорд┐рдд рд╣реЛ рдЧрдпрд╛, рдореИрдВрдиреЗ рдХреЗрд╡рд▓ рдХрд╛рдо рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд рдХреЛ рд╕рдордЭрд╛ред рд╕реБрд╡рд┐рдзрд╛ рдХреЗ рд▓рд┐рдП, DMAT рддрд╛рд▓рд┐рдХрд╛рдУрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд░рдЬрд┐рд╕реНрдЯрд░реЛрдВ рдХреЛ рдбреЗрдЯрд╛ рд▓рд┐рдЦрдиреЗ рд╕реЗ рдСрдкрд░реЗрд╢рди рд╣реЛрдЧрд╛:

		lda #0	;the bank (0-15) where the list is
		sta $d702
		lda #>address	;the high byte of the list address
		sta $d701
		lda #<address
		sta $d700	;the low byte of the list address
				;this also triggers the dma operation,
				;and the cpu is suspended

loop:	bit $d703	;check status (in case irq/nmi enabled)
		bmi loop	;	busy
		jmp doplas
; DMA 3, 2000, ASC("+"), 0, DEC("800"), 0        Fill screen with '+'
; DMA 0, 2000, DEC("800"), 0, DEC("8000"), 1     Copy screen to $18000
address:
	.byte 0 ;command
	.word 80*25; copy size
	.word $C000 ; 800+80 ; src adr
	.byte 1 ; bank
	.word $1800 ; dst adr
	.byte 0 ; bank
	.word 0 ; modulo n/u

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

рдЫрд╡рд┐

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

pouet

All Articles