仿真准将65

图片

您永远不会知道您在何时何地了解未知计算机。

这次事实证明比较容易。

我开始寻找基于MOS 6502的计算机列表,并提到了基于65CE02的C64Dx(或C65),后者是1990-1991年在Commodore Business Machines中创建的原型计算机。这是Commodore 64的改进版本,应该可以与旧计算机向后兼容,同时仍提供与Amiga接近的许多高级功能。发布的型号数量不多,但是购买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 RAM,最大可扩展到1M
两个声音芯片SID
BASIC 10.0的新版本

现在是仿真器。

Hi65无法正常工作,只留下了一些BASIC示例来熟悉这些图形。

我又拿了一个。您还需要下载文件并将其重命名为c65-system.rom。

运行模拟器:

xc65.exe -8 diskimage.d81

为了方便起见,我开始寻找十字工具:

-汇编器64tass,因为 支持65CE02
- cc1541 V3.1-该实用程序创建.d81图像并添加文件。因此,在构建时

图片

描述DirMaster v3.1.5 /样式更方便一定有。

第一个目标是编写一个显示“ Hello,world!”的程序。在论坛上阅读主题可以提出一种解决方案:

*=$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

图片

接下来,我找到了《Commodore 64程序员参考指南》文档以及另一个发现很多好处的档案

阅读c64-programmers_reference_guide-03-programming_graphics.pdf扩展坞提出了单一效果的想法。例如

	lda #$62
	sta $D018

将视频存储器放在$ 1800,字符数据放在$ 800。阅读c65manual.txt,我发现了有关颜色的信息:

$ D100,$ D200,D300 $-R,G,Bed和颜色值(0-15)
$ D800- $ DBFFF-颜色文本属性(或者,所有颜色都存储在地址中$ 1F800- $ 1FFFF)。

通过一些代码示例,我得到了现成的字符集和简单的颜色。我只是想使用DMAgic芯片来传输两段内存。

我开始阅读码头

控制器以4种模式运行:

COPY-复制
SWAP 存储器的一部分-交换
FILL 部分的数据-用数据填充存储部分
MIX-在源和接收器上执行布尔布尔值Minterm混合(杀死我,我不知道如何写)

,然后我完全感到困惑,我只了解工作原理。为了方便起见,使用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

同时,在扩展坞中,我读到可以使用DMA。我写了一个程序,却不知道该语言:

图片

现在主干已经准备好了,我知道了必要的数据,是时候进一步编写代码了。但是,第二天,我在等待一个完整的任务-我找不到可用的内存,也不了解内存操作的工作方式。论坛建议原因在于kemu仿真器,并提出了一些程序。另外,某些信息对我来说是难以理解的。但是,我希望有一天我能接触到现实生活并发现所有有趣的东西,并且我可以编写程序。好吧,这不是一种快乐吗?

诗人

All Articles