flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 11, 2010 10:29:32 GMT -5
Well transferred "dtvtrans_joy1.prg" to "dtv joy1" on a 1571, started it from there. Then I chanced the PC printer port to normal mode.
I then did "dtvtrans -f sync flashfs.bin" and got:
reading current flash memory (2MB). transferring flash helper. going to flash 64k block at $010000 (erase needed)... transferring block data. transferring flash helper program options. flashing block. wait 20 seconds. checking for errors.
But at this point the DTV displayed:
Flash: AT4xbv16xt drive #8 low-mem wp:on no dtvtrans found in ram
ready
Ok I restarted the DTV with Left Button + Reset and it continued until
going to flash 64k block at $1F0000 (erase needed)... transferring block data. transferring flash helper program options. flashing block. wait 20 seconds. checking for errors. everything okay. done.
...and now the DTV is still like before with the same games. What's the problem??
BTW: I tried this flashfs.bin in Vice, it should contain differnet games.
I also tried dtvtrans (instead of plus) but I'm unclear how to use it.
Any recommendations would be nice I'm playing arount with this now for 2 days and didn't have much success flashing the DTV with the DTVTrans cable.
|
|
|
Post by nojoopa on May 12, 2010 5:19:54 GMT -5
Probably the first block ($01xxxx) failed to flash due to that "no dtvtrans found in ram". The first block contains the directory entries, so perhaps it actually managed to flash the others. You could check by reading the Flash back with dtvtrans, but it's not really important.
The unwritten rule #2 of using "sync" is to use joystick port 2 and have the reset wired to that port (pin 9); this is needed so the PC can do the "Left button + Reset" for you (of course, the cable needs that wired too). Rule #3 is using a RAM version of dtvtrans (in other words; if you already have DTVMON flashed, first do "dtvtrans reset + load dtvtrans_joy2.prg + run"). Last but not least, rule #1: always try a simulated run first ("-s").
I'd also suggest doing the "two filename version" of "sync":
dtvtrans -r rd r0x000000-0x200000 current_flash_image.bin dtvtrans sync current_flash_image.bin new_flash_image.bin
You only need to do the first command when the flash has changed, the sync attempts should be much faster and examining the old (partially flashed?) image could be interesting.
If the sync still refuses to work, then split the flash image to two parts ("-2" if you're using dtvmkfs) and flash them manually by writing them (with dtvtrans) to RAM 0x020000, loading tlr's Flash utility ("dtvtrans load flash.prg + run") and manually programming the proper range ($010000 - $100000 for t010000.bin, $100000 - $200000 for t100000.bin).
Good luck.
|
|
flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 12, 2010 7:36:00 GMT -5
Probably the first block ($01xxxx) failed to flash due to that "no dtvtrans found in ram". The first block contains the directory entries, so perhaps it actually managed to flash the others. No I think that nothing was flashed because also the old games worked like before and my flash image should have 2 MB new games. The unwritten rule #2 of using "sync" is to use joystick port 2 and have the reset wired to that port (pin 9); this is needed so the PC can do the "Left button + Reset" for you Yes but it shouldn't be a problem when I do this myself, should it? Rule #3 is using a RAM version of dtvtrans (in other words; if you already have DTVMON flashed, first do "dtvtrans reset + load dtvtrans_joy2.prg + run"). What does RAM-version mean? I dransferred dtvtrans_joy1.prg to the floppy drive and loaded it from there, and started it with "run". This was all I did. I used port 1 because I do not have that reset connectin anyway and I was thinking that port2 could interfere if I move the joystick by mistake.
|
|
|
Post by nojoopa on May 12, 2010 8:37:26 GMT -5
Yes but it shouldn't be a problem when I do this myself, should it? The problem is that when you're pressing the button, you're interfering with dtvtrans. Depending on how the PC side handles the timing, the reset timing might be quite strict (in other words, impossible to do manually). I'd suggest wiring the reset and using port 2, or alternatively doing the flashing manually as (briefly) described in the earlier post. Rule #3 is using a RAM version of dtvtrans (in other words; if you already have DTVMON flashed, first do "dtvtrans reset + load dtvtrans_joy2.prg + run"). What does RAM-version mean? I dransferred dtvtrans_joy1.prg to the floppy drive and loaded it from there, and started it with "run". This was all I did. That would be a RAM version. The only non-RAM version is in DTVMON, and if you haven't flashed that (yet), just ignore the remark; I only added it for completeness, sorry if it confused. As for the "no dtvtrans found in ram" error: this happens in the flash helper program if $02bc != #$78 (see flash_auto.asm in the flash source), and it skips the flashing. The odd thing is that dtvtrans_joyN.prg should set that appopriately. Be sure to use the .prg from this zip, perhaps you used some old version.
|
|
flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 12, 2010 10:04:34 GMT -5
The problem is that when you're pressing the button, you're interfering with dtvtrans. Depending on how the PC side handles the timing, the reset timing might be quite strict DTVTrans+ is going to make a 20 second break, so as far as I understand I can reset within that break, can't i? I got the DTV-Version of Trans64 at www.kahlin.net/daniel/dtv/cable/dtvtrans-1.0.zip - that should be the same I guess.
|
|
|
Post by nojoopa on May 12, 2010 11:02:55 GMT -5
Rechecked: reset shouldn't be needed at all, and the joyport doesn't matter either. Must be mixing this with the autotype function. Sorry about the confusion.
Try to use the dtvtrans_joy1.prg (and the PC side executable) from the DTVTrans+ package linked in the earlier post. It's the most recent version. The "no dtvtrans found in ram" problem (which is the actual issue here) could be caused by this mixing of versions. If it still doesn't work, just do it manually.
|
|
flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 12, 2010 15:39:04 GMT -5
Ok thanks I will try. Both versions of dtvtrans_joy1.prg have the same anmount of bytes, but they seem to be different (I just compared the bits). So I will try it by next chance!
|
|
flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 13, 2010 15:41:04 GMT -5
Hmm.. is it possible that there is something wrong with my cable? I now tried the other version and got a "overflow error". I then read the image I have, you can find it hereold_image.bin is the one that is currently on my stick and it does not look correctly since you cannot run it with vice dtv-emulation. the new image is the one I wanted to flash, it should work fine. so maybe it's the cable, don't know if you can see what screwed the old image.
|
|
|
Post by nojoopa on May 16, 2010 12:38:30 GMT -5
old_image.bin has the $01xxxx sector erased. This sector contains the flash directory and most likely the first actual file (or a few). Perhaps the non-plus dtvtrans server didn't do the "dtvtrans in ram" check before erasing. As for the "overflow error", can't find any reference to it in the DTVTrans+ sources; would help to narrow down the search if you told whether the DTV or the PC said it The cable could indeed be the source of the problem. Try writing and reading back some file to/from DTV RAM multiple times (and comparing the result) to see if it's glitchy.
|
|
flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 16, 2010 16:09:45 GMT -5
old_image.bin has the $01xxxx sector erased. This sector contains the flash directory and most likely the first actual file (or a few). Perhaps the non-plus dtvtrans server didn't do the "dtvtrans in ram" check before erasing. No, for reading the old_image.bin I had the plus-dtvtrans on the Joystick and also the image worked completely fine on the joystick. So if $01xxxx is erased, then it was not transferred correctly. The overflow was on the DTV. Maybe the cable is the problem, but could also the printer port be the problem? I will try on an older computer next time.
|
|
|
Post by 1570 on May 16, 2010 17:08:30 GMT -5
But at this point the DTV displayed: Flash: AT4xbv16xt drive #8 low-mem wp:on no dtvtrans found in ram ready You started DTVTrans on the DTV and the flash helper program got transferred from the PC to the DTV and started. Okay so far. The flash helper then checks whether it really got called by DTVTrans and whether it can restart DTVTrans once it flashed its 64kB block. This failed for some reason. Either you use a incompatible DTVTrans version on the DTV side (starting it, ESC, ?PEEK(700) should result in "120"), the cable is broken (so the flash helper gets garbled on transfer - that would be a bit odd though since AFAIR there should be some basic integrity checks), or the printer port you use is incompatible. I think we had a similar report a while back but we didn't find the issue really. You can check the cable/printer port by just transferring some normal .PRG (for example a game) to the DTV using "dtvtrans wr GAME.PRG" and "dtvtrans run".
|
|
flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 24, 2010 3:30:36 GMT -5
Hmmm I think either the cable is broken or the printer port might be incompatible since the computer is quite new. I will try on an older computer, or maybe I should try with simething different.
Is it possible to split the image into several D64 files which I can upload using an emulated drive on the PC?
|
|
|
Post by 1570 on May 24, 2010 14:21:41 GMT -5
Did you try the ?PEEK(700) thing?
You can also split the flash image and flash it part by part. That's much more troublesome though. AFAIR there's some bits and pieces on it in the DTV wiki.
If you know IRC, we can also try to debug the DTVTrans+ problem online.
|
|
flexman
Newbie
C64 Walkthrough Site
Posts: 33
|
Post by flexman on May 25, 2010 4:31:18 GMT -5
If you know IRC, we can also try to debug the DTVTrans+ problem online. This is a good idea, thanks. What's your nick there? I'm also Flexman. I'm not sure when I have time to try again, but I'll use IRC then.
|
|
|
Post by 1570 on May 27, 2010 5:03:42 GMT -5
See your forum inbox. I'll be in #vice-dev on freenode.
|
|