Assembly 如何在VASM Z80组件中为32K MSX-1盒带存储ROM盒带?
这个问题是关于旧MSX计算机上的z80和盒式ROM存储 我正在PC上制作一个MSX游戏,并使用openMSX进行仿真和测试。我正在制作一个32K ROM盒带。MSX标准将此32 ROM内存划分为两个16K页。我的基本问题是如何在MSX-1计算机上使用ROM盒带存储?-MSX插槽扩展和内存存储描述很复杂-我只想在我的盒带场景中使用一个简单的示例。基本上,我想使用ROM银行画两个不同的图像在MSX屏幕2从墨盒每个图像约12K,所以每个图像需要一个16K的ROM银行自己的墨盒 我现在将更详细地描述这个问题。我想使用链接中的位图模拟代码,取自chibiakumas.com网站,它使用屏幕2中的所有3个瓷砖库,让MSX 1为一个游戏加载多个背景屏幕。我想这只是一个简单的直接扩展。我将描述一个简单的扩展,我尝试过-但它不工作-我认为,因为ROM需要使用16K的银行 使用的文件是 起点是chibiakumas.com程序末尾附近给出的原始代码行,我刚刚给出了下面的相关行,而不是整个程序(尽管链接中有)以供清晰阅读。使用的屏幕图像是chibiakumas.com上的图像) 我扩展了上面的原始代码(我指的是chibiakumas.com上的原始代码),在上面的原始代码行之后添加了下面的代码行Assembly 如何在VASM Z80组件中为32K MSX-1盒带存储ROM盒带?,assembly,z80,cartridge,Assembly,Z80,Cartridge,这个问题是关于旧MSX计算机上的z80和盒式ROM存储 我正在PC上制作一个MSX游戏,并使用openMSX进行仿真和测试。我正在制作一个32K ROM盒带。MSX标准将此32 ROM内存划分为两个16K页。我的基本问题是如何在MSX-1计算机上使用ROM盒带存储?-MSX插槽扩展和内存存储描述很复杂-我只想在我的盒带场景中使用一个简单的示例。基本上,我想使用ROM银行画两个不同的图像在MSX屏幕2从墨盒每个图像约12K,所以每个图像需要一个16K的ROM银行自己的墨盒 我现在将更详细地描述这个
TestSprite2:
incbin "C:\screens\MSX1Screen.RAW"
TestSprite2End:
TestSprite2Palette:
incbin "C:\screens\MSX1Screen.RAW.COL"
TestSprite2Palette_End:
此代码有效,并显示代码的屏幕截图(“WorkingCode-Sprite2codeafteroriginalcode.png的屏幕截图”)并显示预期的图像
连同asm代码(“工作代码-Sprite2codeafteroriginalcode”)
但是,当我做了一个非常简单的改变,交换代码的顺序,这样sprite 2代码就不会出现在后面,如下所示-代码不会加载屏幕(它是相同的屏幕或预期的图像),请参见屏幕截图(“非工作代码的屏幕截图-Sprite2code not afteroriginalcode”)及其代码(“非工作代码-Sprite2codeNOTafteroriginalcode”)
两个屏幕/图像都相同(但如果代码确实起作用,则只需更换其中一个屏幕,通过交换代码顺序加载两个不同的屏幕)
我认为它不起作用,因为要使用ROM银行。在这个问题上,你可能会有更好的运气。
TestSprite2:
incbin "C:\screens\MSX1Screen.RAW"
TestSprite2End:
TestSprite2Palette:
incbin "C:\screens\MSX1Screen.RAW.COL"
TestSprite2Palette_End:
TestSprite2:
incbin "C:\screens\MSX1Screen.RAW"
TestSprite2End:
TestSprite2Palette:
incbin "C:\screens\MSX1Screen.RAW.COL"
TestSprite2Palette_End:
TestSprite:
incbin "C:\screens\MSX1Screen.RAW"
TestSpriteEnd:
TestSpritePalette:
incbin "C:\screens\MSX1Screen.RAW.COL"
TestSpritePalette_End: