Hello Gábor, * On Fri, Apr 13, 2012 at 08:21:36PM +0200 Gábor Lénárt wrote: > The binary memory transfer, you wrote about :) And in general: it seems > monitor features of VICE evolving quickly recently, but hardly documents > exist on it (at least AFAIK). Here is the documentation (at least, all that exists): 21:55 <@s3cal> cpow: Ready for the protocol description? ;) 21:55 <@s3cal> The binary remote monitor commands are injected into the "normal" commands. 21:55 <@s3cal> The remote monitor detects a binary command because it starts with ASCII STX (0x02) 21:56 <@s3cal> After this, there is one byte telling the length of the command. The next byte describes the command. Currently, only 0x01 is implemented which is "memdump". 21:56 <@s3cal> Note that the command length byte (the one after STX) does *not* count the STX, the command length nor the command byte. 21:57 <@s3cal> For the memdump command, the next bytes are as follows: 21:57 <@s3cal> 1. start address low 21:57 <@s3cal> 2. start address high 21:57 <@s3cal> 3. end address low 21:57 <@s3cal> 4. end address high 21:57 <@s3cal> 5. memspace 21:57 <@s3cal> That's it. 21:57 <@s3cal> The memspace describes which part of the computer you want to read: 21:57 <@s3cal> 0 --> the computer (C64), 1 --> drive 8, 2 --> drive 9, 3 --> drive 10, 4 --> drive 11 21:58 <@s3cal> So, for a memdump of 0xa0fe to 0xa123, you have to issue the bytes (in this order): 21:59 < cpow> ok thanks 21:59 <@s3cal> 0x02 (STX), 0x05 (command length), 0x01 (command: memdump), 0xfe (SA low), 0xa0 (SA high), 0x23 (EA low), 0xa1 (EA high), 0x00 (computer memspace) 21:59 <@s3cal> The answer looks as follows: 21:59 < cpow> is there a termination character? 21:59 <@s3cal> No, no termination character. The command length acts as synchronisation point., 22:00 <@s3cal> Ok, comming to the answer: 22:00 <@s3cal> byte 0: STX (0x02) 22:00 <@s3cal> byte 1: answer length low 22:00 <@s3cal> byte 2: answer length (bits 8-15) 22:00 <@s3cal> byte 3: answer length (bits 16-23) 22:00 <@s3cal> byte 4: answer length (bits 24-31, that is, high) 22:01 <@s3cal> byte 5: error code 22:01 <@s3cal> byte 6 - (answer length+6): the binary answer [...] 22:01 <@s3cal> Error codes are currently: 22:02 <@s3cal> 0x00: ok, everything worked 22:02 <@s3cal> 0x80: command length is not long enough for this specific command 22:02 <@s3cal> 0x81: an invalid parameter occurred 22:02 <@s3cal> If an error stats but "ok" occurs, then VICE will output more details for the reason into its log. [...] 22:05 <@s3cal> Ok. Tell me about problems. It has not been tested extensively yet. 22:06 <@s3cal> (I am not completely sure if everything works when switching between binary and text commands, for example. There might be some errors). There is nothing more currently. The code is in since 2012-04-01, r25520. Note, however, that after I wrote this, I left the VICE team. So, no further updates from me. In fact, I expect the code to be removed quite soon. It seems people did not like it, because of its prototype state. Hey, I came up with a quick and dirty solution to solve a problem and help Christopher - that's all. Regards, Spiro. -- Spiro R. Trikaliotis http://www.trikaliotis.net/ ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo@musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.Received on Fri Apr 13 21:04:17 2012
This archive was generated by hypermail 2.1.8 : 2012-04-13 21:04:20 CEST