trunk/src/emu/machine/jvshost.c
| r243218 | r243219 | |
| 116 | 116 | if(!size) |
| 117 | 117 | return; |
| 118 | 118 | UINT32 add = 1; |
| 119 | UINT8 sum = 0; |
| 119 | 120 | for(UINT32 i=0; i<size; i++) |
| 121 | sum += buffer[i]; |
| 122 | buffer[size++] = sum; |
| 123 | for(UINT32 i=0; i<size; i++) |
| 120 | 124 | if(buffer[i] == 0xd0 || buffer[i] == 0xe0) |
| 121 | 125 | add++; |
| 122 | | UINT32 nsize = size+add; |
| 123 | 126 | for(UINT32 i=size; i; i--) { |
| 124 | 127 | UINT8 t = buffer[i-1]; |
| 125 | 128 | if(t == 0xd0 || t == 0xe0) { |
| r243218 | r243219 | |
| 130 | 133 | buffer[i+add-1] = t; |
| 131 | 134 | } |
| 132 | 135 | buffer[0] = 0xe0; |
| 133 | | UINT8 sum = 0; |
| 134 | | for(UINT32 i=1; i<nsize; i++) |
| 135 | | sum += buffer[i]; |
| 136 | | buffer[nsize++] = sum; |
| 137 | | size = nsize; |
| 136 | size += add; |
| 138 | 137 | } |
| 139 | 138 | |
| 140 | 139 | void jvs_host::decode(UINT8 *buffer, UINT32 &size) |