sikthehedgehog / indigo

Indigo operating system
zlib License
57 stars 4 forks source link

Make OS_LOADPATTERNS work across 128KB boundaries #2

Closed sikthehedgehog closed 7 years ago

sikthehedgehog commented 7 years ago

Completely forgot about finishing this one X_X

LoadPatterns (and hence OS_LOADPATTERNS) uses DMA to load the patterns into VRAM, but DMA doesn't work properly across 128KB boundaries. Not an issue so far since the ROM isn't that large, but we definitely need to fix this. The idea is that it detects if a boundary is crossed and splits it into two if so. The detection is there, the splitting is not :O)

sikthehedgehog commented 7 years ago

Commited a change to make this work, still gotta confirm that it actually does what it's intended though.

murgatroid79 commented 7 years ago

Hello, Sik. I really liked your work on indigo OS. I have a SegaMD clone "Magister 16", which is a computer. It has FDD + MOUSE + KEYBOARD+COM+LPT ... Memory is increased in comparison with MD. System cartridge I dumped. I think you will be interested to see this OS. http://www.nedopc.org/forum/viewtopic.php?f=71&t=9360 http://zx-pk.ru/threads/12541-magistr-16-(sega-fdd-mouse-keyboard-).html http://pscd.ru/games/smd/msmd/1253-magistr-16.html

Sorry if I wrote the wrong place

sikthehedgehog commented 7 years ago

Yeah probably wrong place, just opened a new issue for that instead: #6

sikthehedgehog commented 7 years ago

Finally managed to make the ROM large enough to run into this and yeah, the second DMA transfer was botched. Fixed it on my end now, bugfix will come in the next commit (confirmed working now).