| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
DTV coding using VicePlus and KickAssembler
I'm doing my DTV-development in KickAssembler and testing in VicePlus (sure saves a lot of time not having to transfer to the DTV every time).
However, there's still the issue with getting data in the >64k memory areas. As it is now, I have to generate a piece of code that fits in the low 64k, and then unpacks/moves it to higher mem. It's a bit of a pain, since for example to get 256k data, you have to split into 5 pieces and load each separately in the emulator, run the code that moves it to the right place, repeat etc.
I'm thinking that it could be possible to add support for a new .PRG format, but with 32-bit load address instead?
Even better would then be if KickAssembler had support for assembling to this new format, then I could do stuff like:
.pc=$40000
.pseudopc=$4000
(put code that is runtime segmapped to $4000 here)
..
and then assemble all that to one big nice DTVPRG-file and test in emulator.
Or is there a clever way to accomplish something similar with existing versions of VicePlus and KickAssembler? |
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
The current viceplus development version supports long loads in the monitor (i.e >64Kb).
It also has virtual device traps for the flash file system (which can load large files in the stock DTV).
A ".prg" format could be useful. I had an idea of a simple chunk based "prg" format for dtvtrans. Never got around to it.
It would allow several memory segments, arbitrarily large. |
| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
How does a DTVTrans file look now exactly (I don't have any DTVTrans equipment, so I've never looked into it)? Is it just pure binary, and then you specify the load address when you run DTVTrans?
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
dtvtrans accepts .prg's or raw .bin's.
For bin's a target address can be specified on the command line.
I don't remember if you can relocate .prg's too, but if you can't you can at least load it as .bin, 2 bytes lower. |
| |
Slammer
Registered: Feb 2004 Posts: 416 |
So what is the max memory address for DTV?
|
| |
tlr
Registered: Sep 2003 Posts: 1790 |
For the DTV ASIC $3fffff. Only $000000-$1fffff is physical memory though.
The CPU can only execute from the low 64Kb which can be mapped in four 16Kb blocks to any 16Kb blocks of the physical memory.
i.e addresses >64Kb is only useful in conjunction with .pseudopc.
|
| |
Shadow Account closed
Registered: Apr 2002 Posts: 355 |
I think I have found a way to do this now (in the offhand chance that someone should be interested) - using the snapshots of VicePlus!
I assemble the parts separately, and then I programmed a little utility to put these files together to a .vsf of the whole memory. Now I'm able to do quick testing in Vice+. Seems to work just fine! |