Kiwi Posted December 6, 2013 Share Posted December 6, 2013 This is the decompression result on the real Colecovision. The emulator show the compression working correctly and the graphic is perfect. On the real Colecovision, it seems it been interrupted or not complete the routine. The graphic loading routine is nested with the nmi enable/disable, so the pletter routine is running with nmi disabled. Does Pletter need the nmi enable to work properly? The decompression show different results every time it load the graphics. Anybody has this issue? I tried bitbuster, didn't load the sprite graphic correctly. I read about Dan0 routine and I didn't understand how to encode graphics into Dan0. Any help appreciated. Thanks. Quote Link to comment Share on other sites More sharing options...
+nanochess Posted December 6, 2013 Share Posted December 6, 2013 (edited) In real hardware the VDP TMS9928 has strict time limits between successive input/output access. After a data write to VDP you should wait at least 29 T-states (Z80 clock cycles) before starting a write to VDP address registers for another write/read. Before a data read you should wait at least 29 T-states after setting VDP address and wait another 29 T-states before changing address again. The NOP instruction takes 4 T-states, so you can make your calculations and/or insert instructions from other parts of routine to better maximize speed. BTW: If you're using MSX routines I should remember you that the Colecovision is one cycle faster for every instruction. That is a NOP in MSX uses 5 T-states. Edited December 6, 2013 by nanochess 3 Quote Link to comment Share on other sites More sharing options...
youki Posted December 6, 2013 Share Posted December 6, 2013 Concerning Dan0 , it is what i use generally at the end of my projects. Generally i use RLE , i do my game with it and when i reach the limit of the 32k . I know i have to stop to add feature. I switch to Dan0 that usually give me enough fresh air to complete the project and do the polishing. Dan0 format is really only useful at the end of a project when you are sure you won't modify the graphics anymore. To encode in Dan0 format, ask Daniel , he provided me few year ago a Java source code i have to modify with the data i want compress It is not very convinient to use , but it does the work. I'm not sure if i'm allowed to distribute the file. May be now , he has better tool. I don't know. Quote Link to comment Share on other sites More sharing options...
Kiwi Posted December 6, 2013 Author Share Posted December 6, 2013 Nanochess, you saved my project. I thank you wholeheartly. I went in to pletter_dan.s and added 5 more nop's after the single nop to all the nop's it that compressor. It build the graphics perfectly on the real Colecovision. Out of desperation, I wrote a graphic generation that takes a series of sprites byte and flips and write to the vram. It is used for the Sport Deluxe sprites. So now I have space for title screen. 5 Quote Link to comment Share on other sites More sharing options...
retroillucid Posted December 6, 2013 Share Posted December 6, 2013 nanochess is a programing wizard! just take a look at his webpage and see by yourself he programing since his youth! Thanks Oscar! 4 Quote Link to comment Share on other sites More sharing options...
newcoleco Posted December 9, 2013 Share Posted December 9, 2013 I don't have better tools for my DAN0 format, but my interest switched to ZX7 format and I'm planning to create at least one tool programmed in Java with a simple GUI. Quote Link to comment Share on other sites More sharing options...
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.