Page 4 of 5

Re: Memory maps, chip documentation

Posted: Tue Feb 12, 2013 4:19 pm
by carlsson
I am afraid not, but I can rewrite it or even put together some more formal developer's documentation that eventually can be hosted on the main site instead of sprinkled in the forum threads. A wiki perhaps, with limited editing options to not get a lot of garbage and disruption?

Re: Memory maps, chip documentation

Posted: Tue Feb 12, 2013 10:33 pm
by carlsson
I had another go at documenting the $10 - $1F range, see attached Zip archive which contains both PDF and MS Word files. If possible, please double check my work. I think I got most of it right, but I'm not entirely sure about the non-alphanumeric parts of the keyboard and how they relate to the joysticks. It also struck me that the joysticks are 16-way, while the registers $18 and $1A may only register eight of those directions. I really should burn myself an EPROM and try some code on a real Creativision soon.

Re: Memory maps, chip documentation

Posted: Tue Feb 12, 2013 10:54 pm
by MADrigal
carlsson wrote:I am afraid not, but I can rewrite it or even put together some more formal developer's documentation that eventually can be hosted on the main site instead of sprinkled in the forum threads. A wiki perhaps, with limited editing options to not get a lot of garbage and disruption?
I',m not too familiar with Wiki, but I'm planning a new "homebrew" section on the CreatiVEmu website, it would be a great place to store tutorials, code sniplets, etc.

By the way I really wish you'll release the source code to Reversi, that would be a GREAT help for wannabe ASM programmers (including me) :-)

Re: Memory maps, chip documentation

Posted: Wed Feb 13, 2013 2:59 pm
by carlsson
Sure, I will release the source code when I've got it all working. More specifically I think my set of helper routines are of general interest, but you'll get access to all of it.

Re: Memory maps, chip documentation

Posted: Wed Feb 13, 2013 3:56 pm
by MADrigal
This is great news. :-)

In what manner could I help you "double check" the infos you put on these docs? Please tell me...

PS: you don't have a Diagnosticart, do you?

Well the Diagnosticart contains the "Keyboard test" which actually gets inputs from all 16 directions. In fact if you put the joy in a middle position between (for example) N and NW, the diagnostic program returns the "N-NW" position as active.

This means that the 16 directions *are* caught by the PIA. Simply, the games make no use of these "middle" directions.

Re: Memory maps, chip documentation

Posted: Wed Feb 13, 2013 4:25 pm
by carlsson
Yes, I've got a Diagnosticart but never considered that there already would be a keyboard/joystick tester included. It means the code for that program could be analyzed to see if it reads the same memory locations.

Double checking would mostly consist of running the keys.bin posted above and check the readings vs what I documented in the controllers.pdf, in case I mixed up some values. Mainly the different joystick buttons - which one is Fire 1 and 2, which one is left or right fire buttons - tend to confuse me a little.

Re: Memory maps, chip documentation

Posted: Thu Feb 14, 2013 4:20 pm
by MADrigal
Hi,

I checked your doc and found it mostly correct, except a few mistakes I marked in "yellow".

Please read the attached doc with my fixes. Maybe something is still missing, but it's correct as for the "function" keys and the buttons.

Re: Memory maps, chip documentation

Posted: Thu Feb 14, 2013 5:05 pm
by carlsson
MADrigal wrote:Afaik, the memory expansion module for CV was never actually released.
I read the manual for the Wizzard parallel I/O interface, and it says that if you've got the memory expansion module, it needs to be connected to the Creativision and then the I/O interface into the memory expansion and any additional cartridge into the I/O interface. While the memory expansion mostly might be vaporware, it is an interesting notion to have in the manual for another product.

Thanks for the corrections to the document, I'll have a closer look later.

Re: Memory maps, chip documentation

Posted: Fri Feb 15, 2013 12:59 pm
by MADrigal
Well the memory expansion module is also mentioned on the back of the Addit. Keyboard box

Re: Memory maps, chip documentation

Posted: Mon Aug 26, 2013 9:25 am
by carlsson
The rest of you who program for the Creativision, how do you treat the 1K RAM?

$0000 - $00ff : Obviously zeropage with all its benefits and limitations
$0100 - $01ff : Stack, but perhaps we don't need all of it?
$0200 - $02ff : Empty RAM, or is part of it used by the BIOS?
$0300 - $03ff : Empty RAM, this is the area I've mainly been using

Basically I wonder if the 256 bytes at $0200 are safe to use or if they will mess up running with interrupts enabled. I also realize the stack pointer can be lowered, but one would have to watch out with all those PHA, JSR etc so the stack isn't used up.

Perhaps it is time to clear up all the wizzdom (pun intended) in this thread and make a sticky out of it, just like we did regarding VDP programming and general 6502 knowledge. I can see some PSG programming sticky as well, although it was fairly straightforward once reading about it. One just needs to know which base frequency the real console uses, and that emulation doesn't quite seem to get that right?