Re: [GXemul-users] copying files into/out of emulated m88k machine
Status: Alpha
Brought to you by:
gavare
From: Vince W. <vi...@cs...> - 2009-01-22 05:31:44
|
> I usually use the disk image approach (like cdrom, but writable): > > http://gavare.se/gxemul/gxemul-stable/doc/misc.html#filexfer > > (The long term goal is to implement Lance VME ethernet glue, but for > now, disk images will have to suffice.) Ah, I should have looked closer at the documentation. The disk image approach worked for me. I cheated and on the host linux side set up a loopback device /dev/loop0 to point to the disk image. That way I could just use "tar" to copy files to the disk image and then use tar on the inside to get them back out. With the right number of "sync" commands on either side it ended up being transparent to move files back and forth while emulation was ongoing. A few comments. One, it might be nice to make illegal instructions not cause a fatal error that kills the emulator. I had to endure a few disk checks because of this. The most common cause was my own fault, bad assembly causing the program to go off into the 0 padding which is: to_be_translated(): TODO: unimplemented instruction: u00001028: 00000000 - ld.d x0,r0,0 You can also get the following if you do an "info as", space, space under OpenBSD: Unimplemented fdiv combination 0x0. to_be_translated(): TODO: unimplemented instruction: u0001bcd0: 8484700d fdiv.sss r4,r4,r13 And if the emulator sits overnight it dies with: Unimplemented fadd combination 0x5. to_be_translated(): TODO: unimplemented instruction: u0001455c: 849928a4 (d) fadd.dsd r4,r25,r4 And again, stupid assembly error on my part (not using subu) can get: to_be_translated(): TODO: unimplemented instruction: u000011c4: f54e7412 sub r10,r14,r18 Overall though the simulator worked great. I finished my project, which was to translate a program of mine into yet another assembly language ( http://deater.net/weave/vmwprod/asm/ll/ll.html ) Thanks again Vince |