tty2oled Soft&Hardware Add-On (Shows Core based Pictures on a Display)

Showcase builds, discuss cases, embedding MiSTer into existing computer cases.
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

Update
I have uploaded the 93 Text-Based XBM Pictures from Jukk@M to the Github Repository.

To keep the "Normal" Graphic-Pictures and the Text-Pictures a bit separated,
the Text Pictures got their own folder "XBM_Text" in the Repo, and their own List in the Translation List (still working on).

With the new INI Option "USETEXTPICTURE" you can enable the download of these Text-Pictures files.
Text-Pictures will be downloaded/updated before the "Normal" XBM Files.
Means the "Normal" XBM's have Priority if there is a file with the same name in both XBM Folders.

Minor: The folder "XBM_SD" was renamed to "XBM".

We have now Text or Graphic Pictures for 259 Cores/Arcades.

Cheers :)

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

This is a great project. I'm finally getting around to putting my MiSTER into a case and have adapted this to a Hobby Components 128x64 screen paired with a TTGO T8. No soldering required as everying (including the FTDI board) can be connected using dupont wires.

Any logo over 128 pixels wide get scaled horizontally by an integer of 2 so the existing logos are all usable. Main problem I had was having to rewrite all the string handling code from String to cstring as for some reason the String lib for ESP under Sketch just caused random crashes.

Thanks for creating this project, just need the last bits for my case to arrive so I can put it all together.

Dave
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

Hi Dave,
dave18 wrote: Mon May 03, 2021 12:14 pm This is a great project. I'm finally getting around to putting my MiSTER into a case and have adapted this to a Hobby Components 128x64 screen paired with a TTGO T8. No soldering required as everying (including the FTDI board) can be connected using dupont wires.
...
Dave
good to hear you got it working with the smaller Display.
dave18 wrote: Mon May 03, 2021 12:14 pm including the FTDI board
Did you add an separate FTDI Adapter?
dave18 wrote: Mon May 03, 2021 12:14 pm Thanks for creating this project, just need the last bits for my case to arrive so I can put it all together.
Please drop a picture here when it's final.

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

venice wrote: Mon May 03, 2021 2:21 pm Did you add an separate FTDI Adapter?
I did (I assumed I had to). I've got an FTDI adapter plugged into a USB hub on the MiSTer with the RX/TX going to to the ESP. How are you sending the serial messages to the ESP?

The answer to that might also answer another issue I have. If I try and use the USB version (the one I have working is the SD Card version) the serial transfer never gets all 2048 picture bytes, just various amounts usually between 256 and 1200. The core change messages come across fine though. Any ideas what might be affecting the serial stream? I've updated to the latest files for etc/init.d/S60tty2oled and usr/bin/tty2oled
venice wrote: Mon May 03, 2021 2:21 pm
Please drop a picture here when it's final.
[/quote]
Will do.
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

dave18 wrote: Mon May 03, 2021 2:36 pm ...How are you sending the serial messages to the ESP?
The MiSTer's USB Port and the ESP's Micro USB Port are directly connected with an simple USB Cable for Power and USB-Data.
No need for an separate FTDI Adapter.
I use an USB Board with Pin's instead of USB-Connectors.

ESP_OLED_USB_with_comments.jpg

Maybe thats the Problem with your transmission.
You have two devices connected to RX and TX of the ESP.
The ESP's onboard CP21xx and your external FTDI.
You do not have the required permissions to view the files attached to this post.

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

Thanks for the info, works the same with a direct cable which at least gives me a spare FTDI board, however I still have the same problem that the pictures aren't sent reliably over serial, but the command strings are. Strange.
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

Hi,
in the setup part of the sketch the display width and height are detected.

Code: Select all

// Get Display Dimensions
DispWidth = u8g2.getDisplayWidth();
DispHeight = u8g2.getDisplayHeight();
Based on these two values memory for the transferred data is allocated and so many picture bytes are red from the data stream and stored into the allocated memory.

From the function sd2oled_readndrawlogo

Code: Select all

const int logoBytes = DispWidth * DispHeight / 8;
...

logoBin = (unsigned char *) malloc(logoBytes);    // Reserve Memory for Picture-Data
Serial.readBytes(logoBin, logoBytes);             // Read 2048 Bytes from Serial

If these display values are too small its possible not enough data are red.

Could you double check these two values as your display has only half the pixels of an ssd1322.

You can also try and replace logoBytes with 2048.

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

venice

Thanks for your suggestion, however I had already hardcoded logoBytes to 2048. The ino file is here https://github.com/dave18/MiSTer_tty2ol ... SD1306_USB

I know it is not a display error as I've tested that all the display routines work fine on the display size (the TESTDISPLAY define shows the Amiga logo rather than the serial input).

It is definitely not reading the bytes correctly from the serial stream, as I can compare the incoming bytes to the XBMP file and see they get corrupted after a while. I can't see what the linux side is sending but I assume it is sending the correct bytes for it to work for others.

The debug output, which includes what was received over Serial is below

Code: Select all

Show Startscreen
Received Corename or Command: QWERTZ
Received Corename or Command: att
Received Corename or Command: CORECHANGE
Attempting to read 2048 bytes from Serial
Successfully read 1214 bytes from Serial
Byte at loc 0 is 0hh
Byte at loc 1 is 0hh
Byte at loc 2 is 0hh
Byte at loc 3 is 0hh
Byte at loc 4 is 0hh
Byte at loc 5 is 0hh
Byte at loc 6 is 0hh
Byte at loc 7 is 0hh
Byte at loc 8 is 0hh
Byte at loc 9 is 0hh
Byte at loc 10 is 0hh
Byte at loc 11 is f0hh
Byte at loc 12 is 3hh
Byte at loc 13 is 0hh
Byte at loc 14 is 0hh
Byte at loc 15 is 0hh
Byte at loc 16 is 0hh
Byte at loc 17 is 0hh
Byte at loc 18 is 0hh
Byte at loc 19 is 0hh
Byte at loc 20 is 0hh
Byte at loc 21 is 0hh
Byte at loc 22 is 0hh
Byte at loc 23 is 0hh
Byte at loc 24 is 0hh
Byte at loc 25 is 0hh
Byte at loc 26 is 0hh
Byte at loc 27 is 0hh
Byte at loc 28 is 0hh
Byte at loc 29 is 0hh
Byte at loc 30 is 0hh
Byte at loc 31 is 0hh
Byte at loc 32 is 0hh
Byte at loc 33 is 0hh
Byte at loc 34 is 0hh
Byte at loc 35 is 0hh
Byte at loc 36 is 0hh
Byte at loc 37 is 0hh
Byte at loc 38 is 0hh
Byte at loc 39 is 0hh
Byte at loc 40 is 0hh
Byte at loc 41 is 0hh
Byte at loc 42 is 0hh
Byte at loc 43 is fehh
Byte at loc 44 is 3fhh
Byte at loc 45 is 0hh
Byte at loc 46 is c0hh
Byte at loc 47 is ffhh
Byte at loc 48 is 3fhh
Byte at loc 49 is 0hh
Byte at loc 50 is 0hh
Byte at loc 51 is 0hh
Byte at loc 52 is 0hh
Byte at loc 53 is 0hh
Byte at loc 54 is 0hh
Byte at loc 55 is 0hh
Byte at loc 56 is 0hh
Byte at loc 57 is 0hh
Byte at loc 58 is 0hh
Byte at loc 59 is 0hh
Byte at loc 60 is 0hh
Byte at loc 61 is 0hh
Byte at loc 62 is 0hh
Byte at loc 63 is 0hh
Byte at loc 64 is 0hh
Byte at loc 65 is 0hh
Byte at loc 66 is 80hh
Byte at loc 67 is ffhh
Byte at loc 68 is ffhh
Byte at loc 69 is 1hh
Byte at loc 70 is 0hh
Byte at loc 71 is e0hh
Byte at loc 72 is ffhh
Byte at loc 73 is 7fhh
Byte at loc 74 is 0hh
Byte at loc 75 is ffhh
Byte at loc 76 is 7fhh
Byte at loc 77 is 0hh
Byte at loc 78 is f8hh
Byte at loc 79 is ffhh
Byte at loc 80 is ffhh
Byte at loc 81 is 3hh
Byte at loc 82 is ffhh
Byte at loc 83 is ffhh
Byte at loc 84 is ffhh
Byte at loc 85 is ffhh
Byte at loc 86 is 3fhh
Byte at loc 87 is 0hh
Byte at loc 88 is 0hh
Byte at loc 89 is 0hh
Byte at loc 90 is 0hh
Byte at loc 91 is 0hh
Byte at loc 92 is 0hh
Byte at loc 93 is 0hh
Byte at loc 94 is 0hh
Byte at loc 95 is 0hh
Byte at loc 96 is 0hh
Byte at loc 97 is 0hh
Byte at loc 98 is 80hh
Byte at loc 99 is ffhh
Byte at loc 100 is ffhh
Byte at loc 101 is 3hh
Byte at loc 102 is 0hh
Byte at loc 103 is e0hh
Byte at loc 104 is ffhh
Byte at loc 105 is ffhh
Byte at loc 106 is 80hh
Byte at loc 107 is ffhh
Byte at loc 108 is ffhh
Byte at loc 109 is 0hh
Byte at loc 110 is fehh
Byte at loc 111 is ffhh
Byte at loc 112 is ffhh
Byte at loc 113 is fhh
Byte at loc 114 is ffhh
Byte at loc 115 is ffhh
Byte at loc 116 is ffhh
Byte at loc 117 is ffhh
Byte at loc 118 is ffhh
Byte at loc 119 is 0hh
Byte at loc 120 is 0hh
Byte at loc 121 is 0hh
Byte at loc 122 is 0hh
Byte at loc 123 is 0hh
Byte at loc 124 is 0hh
Byte at loc 125 is 0hh
Byte at loc 126 is 0hh
Byte at loc 127 is 0hh
Byte at loc 128 is 0hh
Byte at loc 129 is 0hh
Byte at loc 130 is c0hh
Byte at loc 131 is ffhh
Byte at loc 132 is ffhh
Byte at loc 133 is 7hh
Byte at loc 134 is 0hh
Byte at loc 135 is e0hh
Byte at loc 136 is ffhh
Byte at loc 137 is ffhh
Byte at loc 138 is 81hh
Byte at loc 139 is ffhh
Byte at loc 140 is ffhh
Byte at loc 141 is 80hh
Byte at loc 142 is ffhh
Byte at loc 143 is ffhh
Byte at loc 144 is ffhh
Byte at loc 145 is 3fhh
Byte at loc 146 is ffhh
Byte at loc 147 is ffhh
Byte at loc 148 is ffhh
Byte at loc 149 is ffhh
Byte at loc 150 is ffhh
Byte at loc 151 is 1hh
Byte at loc 152 is 0hh
Byte at loc 153 is 0hh
Byte at loc 154 is 0hh
Byte at loc 155 is 0hh
Byte at loc 156 is 0hh
Byte at loc 157 is 0hh
Byte at loc 158 is 0hh
Byte at loc 159 is 0hh
Byte at loc 160 is 0hh
Byte at loc 161 is 0hh
Byte at loc 162 is c0hh
Byte at loc 163 is ffhh
Byte at loc 164 is ffhh
Byte at loc 165 is fhh
Byte at loc 166 is 0hh
Byte at loc 167 is f0hh
Byte at loc 168 is ffhh
Byte at loc 169 is ffhh
Byte at loc 170 is c3hh
Byte at loc 171 is ffhh
Byte at loc 172 is ffhh
Byte at loc 173 is 80hh
Byte at loc 174 is ffhh
Byte at loc 175 is ffhh
Byte at loc 176 is ffhh
Byte at loc 177 is 7fhh
Byte at loc 178 is ffhh
Byte at loc 179 is ffhh
Byte at loc 180 is ffhh
Byte at loc 181 is ffhh
Byte at loc 182 is ffhh
Byte at loc 183 is 3hh
Byte at loc 184 is 0hh
Byte at loc 185 is 0hh
Byte at loc 186 is 0hh
Byte at loc 187 is 0hh
Byte at loc 188 is 0hh
Byte at loc 189 is 0hh
Byte at loc 190 is 0hh
Byte at loc 191 is 0hh
Byte at loc 192 is 0hh
Byte at loc 193 is 0hh
Byte at loc 194 is c0hh
Byte at loc 195 is ffhh
Byte at loc 196 is ffhh
Byte at loc 197 is 1fhh
Byte at loc 198 is 0hh
Byte at loc 199 is f0hh
Byte at loc 200 is ffhh
Byte at loc 201 is ffhh
Byte at loc 202 is c7hh
Byte at loc 203 is ffhh
Byte at loc 204 is ffhh
Byte at loc 205 is c1hh
Byte at loc 206 is ffhh
Byte at loc 207 is ffhh
Byte at loc 208 is ffhh
Byte at loc 209 is 3fhh
Byte at loc 210 is ffhh
Byte at loc 211 is ffhh
Byte at loc 212 is ffhh
Byte at loc 213 is ffhh
Byte at loc 214 is ffhh
Byte at loc 215 is 7hh
Byte at loc 216 is 0hh
Byte at loc 217 is 0hh
Byte at loc 218 is 0hh
Byte at loc 219 is 0hh
Byte at loc 220 is 0hh
Byte at loc 221 is 0hh
Byte at loc 222 is 0hh
Byte at loc 223 is 0hh
Byte at loc 224 is 0hh
Byte at loc 225 is 0hh
Byte at loc 226 is e0hh
Byte at loc 227 is ffhh
Byte at loc 228 is ffhh
Byte at loc 229 is 3fhh
Byte at loc 230 is 0hh
Byte at loc 231 is f0hh
Byte at loc 232 is ffhh
Byte at loc 233 is ffhh
Byte at loc 234 is cfhh
Byte at loc 235 is ffhh
Byte at loc 236 is ffhh
Byte at loc 237 is f1hh
Byte at loc 238 is ffhh
Byte at loc 239 is ffhh
Byte at loc 240 is ffhh
Byte at loc 241 is 3fhh
Byte at loc 242 is ffhh
Byte at loc 243 is ffhh
Byte at loc 244 is ffhh
Byte at loc 245 is ffhh
Byte at loc 246 is ffhh
Byte at loc 247 is ffhh
Byte at loc 248 is f8hh
Byte at loc 249 is ffhh
Byte at loc 250 is 7hh
Byte at loc 251 is 0hh
Byte at loc 252 is 0hh
Byte at loc 253 is 0hh
Byte at loc 254 is 0hh
Byte at loc 255 is 0hh
Byte at loc 256 is ffhh
Byte at loc 257 is 7fhh
Byte at loc 258 is fchh
Byte at loc 259 is ffhh
Byte at loc 260 is ffhh
Byte at loc 261 is 87hh
Byte at loc 262 is ffhh
Byte at loc 263 is 7fhh
Byte at loc 264 is fehh
Byte at loc 265 is ffhh
Byte at loc 266 is 3hh
Byte at loc 267 is 0hh
Byte at loc 268 is c0hh
Byte at loc 269 is ffhh
Byte at loc 270 is ffhh
Byte at loc 271 is 3hh
Byte at loc 272 is 0hh
Byte at loc 273 is ffhh
Byte at loc 274 is ffhh
Byte at loc 275 is f0hh
Byte at loc 276 is ffhh
Byte at loc 277 is ffhh
Byte at loc 278 is ffhh
Byte at loc 279 is 7fhh
Byte at loc 280 is f8hh
Byte at loc 281 is ffhh
Byte at loc 282 is 7hh
Byte at loc 283 is 0hh
Byte at loc 284 is 0hh
Byte at loc 285 is 0hh
Byte at loc 286 is 0hh
Byte at loc 287 is 0hh
Byte at loc 288 is ffhh
Byte at loc 289 is 3fhh
Byte at loc 290 is fchh
Byte at loc 291 is ffhh
Byte at loc 292 is ffhh
Byte at loc 293 is 87hh
Byte at loc 294 is ffhh
Byte at loc 295 is 7fhh
Byte at loc 296 is fehh
Byte at loc 297 is ffhh
Byte at loc 298 is 3hh
Byte at loc 299 is 0hh
Byte at loc 300 is 80hh
Byte at loc 301 is ffhh
Byte at loc 302 is ffhh
Byte at loc 303 is 3hh
Byte at loc 304 is 80hh
Byte at loc 305 is ffhh
Byte at loc 306 is ffhh
Byte at loc 307 is f0hh
Byte at loc 308 is ffhh
Byte at loc 309 is ffhh
Byte at loc 310 is ffhh
Byte at loc 311 is 3fhh
Byte at loc 312 is f8hh
Byte at loc 313 is ffhh
Byte at loc 314 is 7hh
Byte at loc 315 is 0hh
Byte at loc 316 is 0hh
Byte at loc 317 is 0hh
Byte at loc 318 is 0hh
Byte at loc 319 is 80hh
Byte at loc 320 is ffhh
Byte at loc 321 is 3fhh
Byte at loc 322 is fchh
Byte at loc 323 is ffhh
Byte at loc 324 is ffhh
Byte at loc 325 is 87hh
Byte at loc 326 is ffhh
Byte at loc 327 is 7fhh
Byte at loc 328 is fehh
Byte at loc 329 is ffhh
Byte at loc 330 is 3hh
Byte at loc 331 is 0hh
Byte at loc 332 is 0hh
Byte at loc 333 is ffhh
Byte at loc 334 is ffhh
Byte at loc 335 is 3hh
Byte at loc 336 is 80hh
Byte at loc 337 is ffhh
Byte at loc 338 is ffhh
Byte at loc 339 is f0hh
Byte at loc 340 is ffhh
Byte at loc 341 is ffhh
Byte at loc 342 is ffhh
Byte at loc 343 is fhh
Byte at loc 344 is f8hh
Byte at loc 345 is ffhh
Byte at loc 346 is 7hh
Byte at loc 347 is 0hh
Byte at loc 348 is 0hh
Byte at loc 349 is 0hh
Byte at loc 350 is 0hh
Byte at loc 351 is 80hh
Byte at loc 352 is ffhh
Byte at loc 353 is 3fhh
Byte at loc 354 is fchh
Byte at loc 355 is ffhh
Byte at loc 356 is ffhh
Byte at loc 357 is c3hh
Byte at loc 358 is ffhh
Byte at loc 359 is 7fhh
Byte at loc 360 is fehh
Byte at loc 361 is ffhh
Byte at loc 362 is e1hh
Byte at loc 363 is 0hh
Byte at loc 364 is 0hh
Byte at loc 365 is fehh
Byte at loc 366 is ffhh
Byte at loc 367 is 3hh
Byte at loc 368 is 80hh
Byte at loc 369 is ffhh
Byte at loc 370 is ffhh
Byte at loc 371 is f0hh
Byte at loc 372 is ffhh
Byte at loc 373 is ffhh
Byte at loc 374 is 7fhh
Byte at loc 375 is 0hh
Byte at loc 376 is fchh
Byte at loc 377 is ffhh
Byte at loc 378 is 7hh
Byte at loc 379 is 0hh
Byte at loc 380 is 0hh
Byte at loc 381 is 0hh
Byte at loc 382 is 0hh
Byte at loc 383 is 80hh
Byte at loc 384 is ffhh
Byte at loc 385 is 1fhh
Byte at loc 386 is fchh
Byte at loc 387 is ffhh
Byte at loc 388 is ffhh
Byte at loc 389 is c1hh
Byte at loc 390 is ffhh
Byte at loc 391 is 7fhh
Byte at loc 392 is ffhh
Byte at loc 393 is ffhh
Byte at loc 394 is e1hh
Byte at loc 395 is 1hh
Byte at loc 396 is 0hh
Byte at loc 397 is fehh
Byte at loc 398 is ffhh
Byte at loc 399 is 3hh
Byte at loc 400 is c0hh
Byte at loc 401 is ffhh
Byte at loc 402 is 7fhh
Byte at loc 403 is f0hh
Byte at loc 404 is ffhh
Byte at loc 405 is ffhh
Byte at loc 406 is 3hh
Byte at loc 407 is 0hh
Byte at loc 408 is fchh
Byte at loc 409 is ffhh
Byte at loc 410 is 3hh
Byte at loc 411 is 0hh
Byte at loc 412 is 0hh
Byte at loc 413 is 0hh
Byte at loc 414 is 0hh
Byte at loc 415 is 80hh
Byte at loc 416 is ffhh
Byte at loc 417 is 1fhh
Byte at loc 418 is fchh
Byte at loc 419 is ffhh
Byte at loc 420 is ffhh
Byte at loc 421 is c1hh
Byte at loc 422 is ffhh
Byte at loc 423 is 3fhh
Byte at loc 424 is ffhh
Byte at loc 425 is ffhh
Byte at loc 426 is f1hh
Byte at loc 427 is 3hh
Byte at loc 428 is 0hh
Byte at loc 429 is ffhh
Byte at loc 430 is ffhh
Byte at loc 431 is 3hh
Byte at loc 432 is c0hh
Byte at loc 433 is ffhh
Byte at loc 434 is 7fhh
Byte at loc 435 is f0hh
Byte at loc 436 is ffhh
Byte at loc 437 is 7hh
Byte at loc 438 is 0hh
Byte at loc 439 is 0hh
Byte at loc 440 is fchh
Byte at loc 441 is ffhh
Byte at loc 442 is 3hh
Byte at loc 443 is 0hh
Byte at loc 444 is 0hh
Byte at loc 445 is 0hh
Byte at loc 446 is 0hh
Byte at loc 447 is 80hh
Byte at loc 448 is ffhh
Byte at loc 449 is 1fhh
Byte at loc 450 is f8hh
Byte at loc 451 is ffhh
Byte at loc 452 is ffhh
Byte at loc 453 is c0hh
Byte at loc 454 is ffhh
Byte at loc 455 is 3fhh
Byte at loc 456 is ffhh
Byte at loc 457 is ffhh
Byte at loc 458 is f1hh
Byte at loc 459 is 1fhh
Byte at loc 460 is 80hh
Byte at loc 461 is ffhh
Byte at loc 462 is ffhh
Byte at loc 463 is 3hh
Byte at loc 464 is c0hh
Byte at loc 465 is ffhh
Byte at loc 466 is 7fhh
Byte at loc 467 is f0hh
Byte at loc 468 is ffhh
Byte at loc 469 is fhh
Byte at loc 470 is 0hh
Byte at loc 471 is 30hh
Byte at loc 472 is fehh
Byte at loc 473 is ffhh
Byte at loc 474 is 3hh
Byte at loc 475 is 0hh
Byte at loc 476 is 0hh
Byte at loc 477 is 0hh
Byte at loc 478 is 0hh
Byte at loc 479 is 80hh
Byte at loc 480 is ffhh
Byte at loc 481 is 1fhh
Byte at loc 482 is f8hh
Byte at loc 483 is ffhh
Byte at loc 484 is ffhh
Byte at loc 485 is e0hh
Byte at loc 486 is ffhh
Byte at loc 487 is 3fhh
Byte at loc 488 is ffhh
Byte at loc 489 is ffhh
Byte at loc 490 is f0hh
Byte at loc 491 is ffhh
Byte at loc 492 is c0hh
Byte at loc 493 is ffhh
Byte at loc 494 is ffhh
Byte at loc 495 is 3hh
Byte at loc 496 is c0hh
Byte at loc 497 is ffhh
Byte at loc 498 is 7fhh
Byte at loc 499 is f0hh
Byte at loc 500 is ffhh
Byte at loc 501 is fhh
Byte at loc 502 is 0hh
Byte at loc 503 is 3chh
Byte at loc 504 is fehh
Byte at loc 505 is ffhh
Byte at loc 506 is 3hh
Byte at loc 507 is 0hh
Byte at loc 508 is 0hh
Byte at loc 509 is 0hh
Byte at loc 510 is 0hh
Byte at loc 511 is 80hh
Byte at loc 512 is ffhh
Byte at loc 513 is 1fhh
Byte at loc 514 is f8hh
Byte at loc 515 is ffhh
Byte at loc 516 is 7fhh
Byte at loc 517 is e0hh
Byte at loc 518 is ffhh
Byte at loc 519 is 3fhh
Byte at loc 520 is ffhh
Byte at loc 521 is ffhh
Byte at loc 522 is f0hh
Byte at loc 523 is ffhh
Byte at loc 524 is ffhh
Byte at loc 525 is ffhh
Byte at loc 526 is ffhh
Byte at loc 527 is 3hh
Byte at loc 528 is c0hh
Byte at loc 529 is ffhh
Byte at loc 530 is 3fhh
Byte at loc 531 is f0hh
Byte at loc 532 is ffhh
Byte at loc 533 is 1fhh
Byte at loc 534 is 0hh
Byte at loc 535 is 3fhh
Byte at loc 536 is fehh
Byte at loc 537 is ffhh
Byte at loc 538 is 3hh
Byte at loc 539 is 0hh
Byte at loc 540 is 0hh
Byte at loc 541 is 0hh
Byte at loc 542 is 0hh
Byte at loc 543 is c0hh
Byte at loc 544 is ffhh
Byte at loc 545 is fhh
Byte at loc 546 is f8hh
Byte at loc 547 is ffhh
Byte at loc 548 is 3fhh
Byte at loc 549 is e0hh
Byte at loc 550 is ffhh
Byte at loc 551 is 9fhh
Byte at loc 552 is ffhh
Byte at loc 553 is ffhh
Byte at loc 554 is f8hh
Byte at loc 555 is ffhh
Byte at loc 556 is ffhh
Byte at loc 557 is ffhh
Byte at loc 558 is ffhh
Byte at loc 559 is 3hh
Byte at loc 560 is c0hh
Byte at loc 561 is ffhh
Byte at loc 562 is 3fhh
Byte at loc 563 is e0hh
Byte at loc 564 is ffhh
Byte at loc 565 is ffhh
Byte at loc 566 is ffhh
Byte at loc 567 is 1fhh
Byte at loc 568 is fehh
Byte at loc 569 is ffhh
Byte at loc 570 is 1hh
Byte at loc 571 is 0hh
Byte at loc 572 is 0hh
Byte at loc 573 is 0hh
Byte at loc 574 is 0hh
Byte at loc 575 is c0hh
Byte at loc 576 is ffhh
Byte at loc 577 is fhh
Byte at loc 578 is f8hh
Byte at loc 579 is ffhh
Byte at loc 580 is 3fhh
Byte at loc 581 is e0hh
Byte at loc 582 is ffhh
Byte at loc 583 is 9fhh
Byte at loc 584 is ffhh
Byte at loc 585 is 7fhh
Byte at loc 586 is f8hh
Byte at loc 587 is ffhh
Byte at loc 588 is ffhh
Byte at loc 589 is ffhh
Byte at loc 590 is ffhh
Byte at loc 591 is 1hh
Byte at loc 592 is c0hh
Byte at loc 593 is ffhh
Byte at loc 594 is 3fhh
Byte at loc 595 is e0hh
Byte at loc 596 is ffhh
Byte at loc 597 is ffhh
Byte at loc 598 is ffhh
Byte at loc 599 is 1fhh
Byte at loc 600 is fehh
Byte at loc 601 is ffhh
Byte at loc 602 is 1hh
Byte at loc 603 is 0hh
Byte at loc 604 is 0hh
Byte at loc 605 is 0hh
Byte at loc 606 is 0hh
Byte at loc 607 is c0hh
Byte at loc 608 is ffhh
Byte at loc 609 is fhh
Byte at loc 610 is f8hh
Byte at loc 611 is ffhh
Byte at loc 612 is 1fhh
Byte at loc 613 is e0hh
Byte at loc 614 is ffhh
Byte at loc 615 is 9fhh
Byte at loc 616 is ffhh
Byte at loc 617 is 7fhh
Byte at loc 618 is f8hh
Byte at loc 619 is ffhh
Byte at loc 620 is ffhh
Byte at loc 621 is ffhh
Byte at loc 622 is ffhh
Byte at loc 623 is 0hh
Byte at loc 624 is c0hh
Byte at loc 625 is ffhh
Byte at loc 626 is 3fhh
Byte at loc 627 is e0hh
Byte at loc 628 is ffhh
Byte at loc 629 is ffhh
Byte at loc 630 is ffhh
Byte at loc 631 is 1fhh
Byte at loc 632 is fehh
Byte at loc 633 is ffhh
Byte at loc 634 is 1hh
Byte at loc 635 is 0hh
Byte at loc 636 is 0hh
Byte at loc 637 is 0hh
Byte at loc 638 is 0hh
Byte at loc 639 is 80hh
Byte at loc 640 is ffhh
Byte at loc 641 is fhh
Byte at loc 642 is f8hh
Byte at loc 643 is ffhh
Byte at loc 644 is 1fhh
Byte at loc 645 is e0hh
Byte at loc 646 is ffhh
Byte at loc 647 is 9fhh
Byte at loc 648 is ffhh
Byte at loc 649 is 7fhh
Byte at loc 650 is f8hh
Byte at loc 651 is ffhh
Byte at loc 652 is ffhh
Byte at loc 653 is ffhh
Byte at loc 654 is ffhh
Byte at loc 655 is 0hh
Byte at loc 656 is c0hh
Byte at loc 657 is ffhh
Byte at loc 658 is 1fhh
Byte at loc 659 is c0hh
Byte at loc 660 is ffhh
Byte at loc 661 is ffhh
Byte at loc 662 is ffhh
Byte at loc 663 is 1fhh
Byte at loc 664 is fehh
Byte at loc 665 is ffhh
Byte at loc 666 is 1hh
Byte at loc 667 is 0hh
Byte at loc 668 is 0hh
Byte at loc 669 is 0hh
Byte at loc 670 is 0hh
Byte at loc 671 is 80hh
Byte at loc 672 is ffhh
Byte at loc 673 is fhh
Byte at loc 674 is f8hh
Byte at loc 675 is ffhh
Byte at loc 676 is 1fhh
Byte at loc 677 is e0hh
Byte at loc 678 is ffhh
Byte at loc 679 is 1fhh
Byte at loc 680 is ffhh
Byte at loc 681 is 7fhh
Byte at loc 682 is fchh
Byte at loc 683 is ffhh
Byte at loc 684 is ffhh
Byte at loc 685 is ffhh
Byte at loc 686 is 7fhh
Byte at loc 687 is 0hh
Byte at loc 688 is c0hh
Byte at loc 689 is ffhh
Byte at loc 690 is 1fhh
Byte at loc 691 is 80hh
Byte at loc 692 is ffhh
Byte at loc 693 is ffhh
Byte at loc 694 is ffhh
Byte at loc 695 is fhh
Byte at loc 696 is fehh
Byte at loc 697 is ffhh
Byte at loc 698 is 0hh
Byte at loc 699 is 0hh
Byte at loc 700 is 0hh
Byte at loc 701 is 0hh
Byte at loc 702 is 0hh
Byte at loc 703 is 0hh
Byte at loc 704 is ffhh
Byte at loc 705 is fhh
Byte at loc 706 is f8hh
Byte at loc 707 is ffhh
Byte at loc 708 is fhh
Byte at loc 709 is 80hh
Byte at loc 710 is ffhh
Byte at loc 711 is fhh
Byte at loc 712 is fchh
Byte at loc 713 is 3fhh
Byte at loc 714 is f8hh
Byte at loc 715 is ffhh
Byte at loc 716 is ffhh
Byte at loc 717 is ffhh
Byte at loc 718 is 7hh
Byte at loc 719 is 0hh
Byte at loc 720 is 0hh
Byte at loc 721 is ffhh
Byte at loc 722 is 1fhh
Byte at loc 723 is 0hh
Byte at loc 724 is ffhh
Byte at loc 725 is ffhh
Byte at loc 726 is ffhh
Byte at loc 727 is fhh
Byte at loc 728 is f8hh
Byte at loc 729 is ffhh
Byte at loc 730 is 0hh
Byte at loc 731 is 0hh
Byte at loc 732 is 0hh
Byte at loc 733 is 0hh
Byte at loc 734 is 0hh
Byte at loc 735 is 0hh
Byte at loc 736 is fehh
Byte at loc 737 is 7hh
Byte at loc 738 is f8hh
Byte at loc 739 is ffhh
Byte at loc 740 is fhh
Byte at loc 741 is 0hh
Byte at loc 742 is ffhh
Byte at loc 743 is fhh
Byte at loc 744 is f8hh
Byte at loc 745 is 3fhh
Byte at loc 746 is e0hh
Byte at loc 747 is ffhh
Byte at loc 748 is ffhh
Byte at loc 749 is ffhh
Byte at loc 750 is 7hh
Byte at loc 751 is 0hh
Byte at loc 752 is 0hh
Byte at loc 753 is ffhh
Byte at loc 754 is fhh
Byte at loc 755 is 0hh
Byte at loc 756 is fchh
Byte at loc 757 is ffhh
Byte at loc 758 is ffhh
Byte at loc 759 is 7hh
Byte at loc 760 is f0hh
Byte at loc 761 is ffhh
Byte at loc 762 is 0hh
Byte at loc 763 is 0hh
Byte at loc 764 is 0hh
Byte at loc 765 is 0hh
Byte at loc 766 is 0hh
Byte at loc 767 is 0hh
Byte at loc 768 is fchh
Byte at loc 769 is 7hh
Byte at loc 770 is f8hh
Byte at loc 771 is ffhh
Byte at loc 772 is 7hh
Byte at loc 773 is 0hh
Byte at loc 774 is fchh
Byte at loc 775 is 7hh
Byte at loc 776 is f0hh
Byte at loc 777 is 3fhh
Byte at loc 778 is 80hh
Byte at loc 779 is ffhh
Byte at loc 780 is ffhh
Byte at loc 781 is ffhh
Byte at loc 782 is 1hh
Byte at loc 783 is 0hh
Byte at loc 784 is 0hh
Byte at loc 785 is fchh
Byte at loc 786 is fhh
Byte at loc 787 is 0hh
Byte at loc 788 is f8hh
Byte at loc 789 is ffhh
Byte at loc 790 is ffhh
Byte at loc 791 is 3hh
Byte at loc 792 is e0hh
Byte at loc 793 is 7fhh
Byte at loc 794 is 0hh
Byte at loc 795 is 0hh
Byte at loc 796 is 0hh
Byte at loc 797 is 0hh
Byte at loc 798 is 0hh
Byte at loc 799 is 0hh
Byte at loc 800 is f0hh
Byte at loc 801 is 7hh
Byte at loc 802 is f0hh
Byte at loc 803 is ffhh
Byte at loc 804 is 7hh
Byte at loc 805 is 0hh
Byte at loc 806 is f8hh
Byte at loc 807 is 7hh
Byte at loc 808 is e0hh
Byte at loc 809 is 1fhh
Byte at loc 810 is 0hh
Byte at loc 811 is fehh
Byte at loc 812 is ffhh
Byte at loc 813 is 1fhh
Byte at loc 814 is 0hh
Byte at loc 815 is 0hh
Byte at loc 816 is 0hh
Byte at loc 817 is f0hh
Byte at loc 818 is fhh
Byte at loc 819 is 0hh
Byte at loc 820 is e0hh
Byte at loc 821 is ffhh
Byte at loc 822 is 7fhh
Byte at loc 823 is 0hh
Byte at loc 824 is c0hh
Byte at loc 825 is 7fhh
Byte at loc 826 is 0hh
Byte at loc 827 is 0hh
Byte at loc 828 is 0hh
Byte at loc 829 is 0hh
Byte at loc 830 is 0hh
Byte at loc 831 is 0hh
Byte at loc 832 is 0hh
Byte at loc 833 is 0hh
Byte at loc 834 is 0hh
Byte at loc 835 is 0hh
Byte at loc 836 is 0hh
Byte at loc 837 is 0hh
Byte at loc 838 is 0hh
Byte at loc 839 is 0hh
Byte at loc 840 is 0hh
Byte at loc 841 is 0hh
Byte at loc 842 is 0hh
Byte at loc 843 is c0hh
Byte at loc 844 is ffhh
Byte at loc 845 is 1hh
Byte at loc 846 is 0hh
Byte at loc 847 is 0hh
Byte at loc 848 is 0hh
Byte at loc 849 is 0hh
Byte at loc 850 is 0hh
Byte at loc 851 is 0hh
Byte at loc 852 is 0hh
Byte at loc 853 is ffhh
Byte at loc 854 is 3hh
Byte at loc 855 is 0hh
Byte at loc 856 is 0hh
Byte at loc 857 is 0hh
Byte at loc 858 is 0hh
Byte at loc 859 is 0hh
Byte at loc 860 is 0hh
Byte at loc 861 is 0hh
Byte at loc 862 is 0hh
Byte at loc 863 is 0hh
Byte at loc 864 is 0hh
Byte at loc 865 is 0hh
Byte at loc 866 is 0hh
Byte at loc 867 is 0hh
Byte at loc 868 is 0hh
Byte at loc 869 is 0hh
Byte at loc 870 is 0hh
Byte at loc 871 is 0hh
Byte at loc 872 is 0hh
Byte at loc 873 is 0hh
Byte at loc 874 is 0hh
Byte at loc 875 is 0hh
Byte at loc 876 is 0hh
Byte at loc 877 is 0hh
Byte at loc 878 is 0hh
Byte at loc 879 is 0hh
Byte at loc 880 is 0hh
Byte at loc 881 is 0hh
Byte at loc 882 is 0hh
Byte at loc 883 is 0hh
Byte at loc 884 is 0hh
Byte at loc 885 is 0hh
Byte at loc 886 is 0hh
Byte at loc 887 is 0hh
Byte at loc 888 is 0hh
Byte at loc 889 is 0hh
Byte at loc 890 is 0hh
Byte at loc 891 is 0hh
Byte at loc 892 is 0hh
Byte at loc 893 is 0hh
Byte at loc 894 is 0hh
Byte at loc 895 is f0hh
Byte at loc 896 is ffhh
Byte at loc 897 is ffhh
Byte at loc 898 is ffhh
Byte at loc 899 is ffhh
Byte at loc 900 is ffhh
Byte at loc 901 is ffhh
Byte at loc 902 is ffhh
Byte at loc 903 is ffhh
Byte at loc 904 is ffhh
Byte at loc 905 is ffhh
Byte at loc 906 is ffhh
Byte at loc 907 is ffhh
Byte at loc 908 is ffhh
Byte at loc 909 is ffhh
Byte at loc 910 is ffhh
Byte at loc 911 is ffhh
Byte at loc 912 is ffhh
Byte at loc 913 is ffhh
Byte at loc 914 is ffhh
Byte at loc 915 is c0hh
Byte at loc 916 is ffhh
Byte at loc 917 is fehh
Byte at loc 918 is fhh
Byte at loc 919 is ffhh
Byte at loc 920 is e3hh
Byte at loc 921 is 3fhh
Byte at loc 922 is 0hh
Byte at loc 923 is 0hh
Byte at loc 924 is 0hh
Byte at loc 925 is 0hh
Byte at loc 926 is 0hh
Byte at loc 927 is f0hh
Byte at loc 928 is ffhh
Byte at loc 929 is ffhh
Byte at loc 930 is ffhh
Byte at loc 931 is ffhh
Byte at loc 932 is ffhh
Byte at loc 933 is ffhh
Byte at loc 934 is ffhh
Byte at loc 935 is ffhh
Byte at loc 936 is ffhh
Byte at loc 937 is ffhh
Byte at loc 938 is ffhh
Byte at loc 939 is ffhh
Byte at loc 940 is ffhh
Byte at loc 941 is ffhh
Byte at loc 942 is ffhh
Byte at loc 943 is ffhh
Byte at loc 944 is ffhh
Byte at loc 945 is ffhh
Byte at loc 946 is ffhh
Byte at loc 947 is e0hh
Byte at loc 948 is ffhh
Byte at loc 949 is fehh
Byte at loc 950 is 9fhh
Byte at loc 951 is ffhh
Byte at loc 952 is f7hh
Byte at loc 953 is ffhh
Byte at loc 954 is 0hh
Byte at loc 955 is 0hh
Byte at loc 956 is 0hh
Byte at loc 957 is 0hh
Byte at loc 958 is 0hh
Byte at loc 959 is f0hh
Byte at loc 960 is ffhh
Byte at loc 961 is ffhh
Byte at loc 962 is ffhh
Byte at loc 963 is ffhh
Byte at loc 964 is ffhh
Byte at loc 965 is ffhh
Byte at loc 966 is ffhh
Byte at loc 967 is ffhh
Byte at loc 968 is ffhh
Byte at loc 969 is ffhh
Byte at loc 970 is ffhh
Byte at loc 971 is ffhh
Byte at loc 972 is ffhh
Byte at loc 973 is ffhh
Byte at loc 974 is ffhh
Byte at loc 975 is ffhh
Byte at loc 976 is ffhh
Byte at loc 977 is ffhh
Byte at loc 978 is ffhh
Byte at loc 979 is 30hh
Byte at loc 980 is 0hh
Byte at loc 981 is ehh
Byte at loc 982 is 98hh
Byte at loc 983 is 1hh
Byte at loc 984 is 30hh
Byte at loc 985 is c0hh
Byte at loc 986 is 0hh
Byte at loc 987 is 0hh
Byte at loc 988 is 0hh
Byte at loc 989 is 0hh
Byte at loc 990 is 0hh
Byte at loc 991 is f0hh
Byte at loc 992 is ffhh
Byte at loc 993 is fehh
Byte at loc 994 is efhh
Byte at loc 995 is ffhh
Byte at loc 996 is bfhh
Byte at loc 997 is efhh
Byte at loc 998 is ffhh
Byte at loc 999 is fbhh
Byte at loc 1000 is bfhh
Byte at loc 1001 is ffhh
Byte at loc 1002 is ffhh
Byte at loc 1003 is fehh
Byte at loc 1004 is ffhh
Byte at loc 1005 is efhh
Byte at loc 1006 is ffhh
Byte at loc 1007 is ffhh
Byte at loc 1008 is dfhh
Byte at loc 1009 is f7hh
Byte at loc 1010 is fdhh
Byte at loc 1011 is 70hh
Byte at loc 1012 is 0hh
Byte at loc 1013 is ehh
Byte at loc 1014 is d8hh
Byte at loc 1015 is 1hh
Byte at loc 1016 is 30hh
Byte at loc 1017 is e0hh
Byte at loc 1018 is 0hh
Byte at loc 1019 is 0hh
Byte at loc 1020 is 0hh
Byte at loc 1021 is 0hh
Byte at loc 1022 is 0hh
Byte at loc 1023 is f0hh
Byte at loc 1024 is 7bhh
Byte at loc 1025 is bchh
Byte at loc 1026 is c7hh
Byte at loc 1027 is fbhh
Byte at loc 1028 is 1ehh
Byte at loc 1029 is c7hh
Byte at loc 1030 is efhh
Byte at loc 1031 is f1hh
Byte at loc 1032 is 1ehh
Byte at loc 1033 is efhh
Byte at loc 1034 is 7bhh
Byte at loc 1035 is bchh
Byte at loc 1036 is bfhh
Byte at loc 1037 is c7hh
Byte at loc 1038 is f7hh
Byte at loc 1039 is 7dhh
Byte at loc 1040 is 8fhh
Byte at loc 1041 is e3hh
Byte at loc 1042 is f8hh
Byte at loc 1043 is f0hh
Byte at loc 1044 is ffhh
Byte at loc 1045 is fehh
Byte at loc 1046 is dfhh
Byte at loc 1047 is f9hh
Byte at loc 1048 is f7hh
Byte at loc 1049 is ffhh
Byte at loc 1050 is 0hh
Byte at loc 1051 is 0hh
Byte at loc 1052 is 0hh
Byte at loc 1053 is 0hh
Byte at loc 1054 is 0hh
Byte at loc 1055 is f0hh
Byte at loc 1056 is 7bhh
Byte at loc 1057 is bchh
Byte at loc 1058 is c7hh
Byte at loc 1059 is fbhh
Byte at loc 1060 is 1ehh
Byte at loc 1061 is c7hh
Byte at loc 1062 is efhh
Byte at loc 1063 is f1hh
Byte at loc 1064 is 1ehh
Byte at loc 1065 is efhh
Byte at loc 1066 is 7bhh
Byte at loc 1067 is bchh
Byte at loc 1068 is bfhh
Byte at loc 1069 is c7hh
Byte at loc 1070 is f7hh
Byte at loc 1071 is 7dhh
Byte at loc 1072 is 8fhh
Byte at loc 1073 is e3hh
Byte at loc 1074 is f8hh
Byte at loc 1075 is f0hh
Byte at loc 1076 is ffhh
Byte at loc 1077 is fehh
Byte at loc 1078 is cfhh
Byte at loc 1079 is f9hh
Byte at loc 1080 is f7hh
Byte at loc 1081 is ffhh
Byte at loc 1082 is 0hh
Byte at loc 1083 is 0hh
Byte at loc 1084 is 0hh
Byte at loc 1085 is 0hh
Byte at loc 1086 is 0hh
Byte at loc 1087 is f0hh
Byte at loc 1088 is ffhh
Byte at loc 1089 is fehh
Byte at loc 1090 is efhh
Byte at loc 1091 is ffhh
Byte at loc 1092 is bfhh
Byte at loc 1093 is efhh
Byte at loc 1094 is ffhh
Byte at loc 1095 is fbhh
Byte at loc 1096 is bfhh
Byte at loc 1097 is ffhh
Byte at loc 1098 is ffhh
Byte at loc 1099 is fehh
Byte at loc 1100 is ffhh
Byte at loc 1101 is efhh
Byte at loc 1102 is ffhh
Byte at loc 1103 is ffhh
Byte at loc 1104 is dfhh
Byte at loc 1105 is f7hh
Byte at loc 1106 is fdhh
Byte at loc 1107 is 70hh
Byte at loc 1108 is 0hh
Byte at loc 1109 is ehh
Byte at loc 1110 is c0hh
Byte at loc 1111 is 1hh
Byte at loc 1112 is 37hh
Byte at loc 1113 is c0hh
Byte at loc 1114 is 0hh
Byte at loc 1115 is 0hh
Byte at loc 1116 is 0hh
Byte at loc 1117 is 0hh
Byte at loc 1118 is 0hh
Byte at loc 1119 is f0hh
Byte at loc 1120 is ffhh
Byte at loc 1121 is ffhh
Byte at loc 1122 is ffhh
Byte at loc 1123 is ffhh
Byte at loc 1124 is ffhh
Byte at loc 1125 is ffhh
Byte at loc 1126 is ffhh
Byte at loc 1127 is ffhh
Byte at loc 1128 is ffhh
Byte at loc 1129 is ffhh
Byte at loc 1130 is ffhh
Byte at loc 1131 is ffhh
Byte at loc 1132 is ffhh
Byte at loc 1133 is ffhh
Byte at loc 1134 is ffhh
Byte at loc 1135 is ffhh
Byte at loc 1136 is ffhh
Byte at loc 1137 is ffhh
Byte at loc 1138 is ffhh
Byte at loc 1139 is 30hh
Byte at loc 1140 is 0hh
Byte at loc 1141 is ehh
Byte at loc 1142 is c0hh
Byte at loc 1143 is 1hh
Byte at loc 1144 is 37hh
Byte at loc 1145 is c0hh
Byte at loc 1146 is 0hh
Byte at loc 1147 is 0hh
Byte at loc 1148 is 0hh
Byte at loc 1149 is 0hh
Byte at loc 1150 is 0hh
Byte at loc 1151 is f0hh
Byte at loc 1152 is ffhh
Byte at loc 1153 is ffhh
Byte at loc 1154 is ffhh
Byte at loc 1155 is ffhh
Byte at loc 1156 is ffhh
Byte at loc 1157 is ffhh
Byte at loc 1158 is ffhh
Byte at loc 1159 is ffhh
Byte at loc 1160 is ffhh
Byte at loc 1161 is ffhh
Byte at loc 1162 is ffhh
Byte at loc 1163 is ffhh
Byte at loc 1164 is ffhh
Byte at loc 1165 is ffhh
Byte at loc 1166 is ffhh
Byte at loc 1167 is ffhh
Byte at loc 1168 is ffhh
Byte at loc 1169 is ffhh
Byte at loc 1170 is ffhh
Byte at loc 1171 is 30hh
Byte at loc 1172 is 0hh
Byte at loc 1173 is ehh
Byte at loc 1174 is 80hh
Byte at loc 1175 is ffhh
Byte at loc 1176 is 37hh
Byte at loc 1177 is c0hh
Byte at loc 1178 is 0hh
Byte at loc 1179 is 0hh
Byte at loc 1180 is 0hh
Byte at loc 1181 is 0hh
Byte at loc 1182 is 0hh
Byte at loc 1183 is f0hh
Byte at loc 1184 is ffhh
Byte at loc 1185 is ffhh
Byte at loc 1186 is ffhh
Byte at loc 1187 is ffhh
Byte at loc 1188 is ffhh
Byte at loc 1189 is ffhh
Byte at loc 1190 is ffhh
Byte at loc 1191 is ffhh
Byte at loc 1192 is ffhh
Byte at loc 1193 is ffhh
Byte at loc 1194 is ffhh
Byte at loc 1195 is ffhh
Byte at loc 1196 is ffhh
Byte at loc 1197 is ffhh
Byte at loc 1198 is ffhh
Byte at loc 1199 is ffhh
Byte at loc 1200 is ffhh
Byte at loc 1201 is ffhh
Byte at loc 1202 is ffhh
Byte at loc 1203 is 30hh
Byte at loc 1204 is 0hh
Byte at loc 1205 is ehh
Byte at loc 1206 is 0hh
Byte at loc 1207 is ffhh
Byte at loc 1208 is 31hh
Byte at loc 1209 is c0hh
Byte at loc 1210 is 0hh
Byte at loc 1211 is 0hh
Byte at loc 1212 is 0hh
Byte at loc 1213 is 0hh
Case 1
Width passed to oled_drawlogo64h is 256 
Calling drawXBMPHalf with w value of 128 
dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

I did try lowering the CPU freq to 160MHz in case it was trying to read the serial stream too fast but it didn't help.
dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

The serial input seem fine up to byte 244 (0xF4) and then corrupts, byte 251 (0xFB) of the serial stream then seem to pick up at byte 995 (0x3E3) of the XBMP!
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

Silly Question, same Baudrate on both ends?
If yes which is it? I think your are on 115200.

We have successfully tested 921600.

Have you tried another cable?

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

I was trying on 115200 on both end. I've tried other values since and the highest that works is 19200 (which seems to transmit fast enough for the use case). I'll try some other cable and see if they allow for faster speeds. At least I now the code/interface works, and I could live with 19200 if I had to.
dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

Tried with two different hubs and a couple of cables and 19200 seems the maximum reliable value. Might treat myself to a new high quality cable as a last resort, otherwise will just run in at 19200.
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

I am using a modded Hub v2.1 with an cheap usb to dupont cable from ali.
So nothing special.

But good to hear that it works so far.

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

User avatar
RealLarry
Top Contributor
Posts: 883
Joined: Mon May 25, 2020 4:04 am
Location: San Junipero/DE/Earth
Has thanked: 120 times
Been thanked: 386 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by RealLarry »

dave18 wrote: Tue May 04, 2021 12:52 pm Tried with two different hubs and a couple of cables and 19200 seems the maximum reliable value. Might treat myself to a new high quality cable as a last resort, otherwise will just run in at 19200.
Just read your comments and I'm wondering about your low transfer rate. Venice and I did dozens of tests with different types of ESP's and speed, all of them were working with a speed up to 921600 baud. Don't know what type of cables I'm using, but I'm sure that there are no-name ones and brand-named cables, all mixed for ready2use.
Have a close look at the solder points of your ESP, if possible. Maybe that there is a bad solder point which interferere with higher baud rates. I had a similar issue with one of my displays, which displayed some pictures, some not, resets while displaying and so on. Found a cold joint at displays connector, resoldered it and voila, it's working stable now.
Contributor of tty2oled, author of tty2tft, tty2rpi and update_tty2xxx
dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

Hi RealLarry

I've tried with 2 different ESPs (although both TTGO T8s from the same supplier) and they both have issues above 19200.

Interestingly I upload from Sketch to the boards at 921600 and the upload always works without issue (although the upload process may have some error checking built it to resend any missed data).

I think maybe the supplier has used a substandard component somewhere affecting my particular boards, I can't think of any other reason for it to be unstable above 19200.

Dave
User avatar
RealLarry
Top Contributor
Posts: 883
Joined: Mon May 25, 2020 4:04 am
Location: San Junipero/DE/Earth
Has thanked: 120 times
Been thanked: 386 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by RealLarry »

dave18 wrote: Wed May 05, 2021 8:52 amI've tried with 2 different ESPs (although both TTGO T8s from the same supplier) and they both have issues above 19200.

Interestingly I upload from Sketch to the boards at 921600 and the upload always works without issue (although the upload process may have some error checking built it to resend any missed data).
Good to know!
I think maybe the supplier has used a substandard component somewhere affecting my particular boards, I can't think of any other reason for it to be unstable above 19200.
I don't think so then. When the upload of the Sketch is working with highest baud rates, why not with MiSTer...? Are you using a "MiSTer USB hub" or something similar? Sufficient power source?
Another test you can run for troubleshooting is to connect two FTDI's between MiSTer and PC to transfer, save and compare some data between them. My feeling is that there must be a bug outside of your EPS's. I've a box full of small and "big" EPS's, some normal, some for a skidded price, but - alas - never got a problem there.
Contributor of tty2oled, author of tty2tft, tty2rpi and update_tty2xxx
dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

I've tried using two FTDIs to send from MiSTer to PC and it seems to work ok. I've attached the PuTTY logs at both 38400 and 921600. The MiSTer is clearly sending the data correctly.

The MiSTer side FTDI is plugged into the same USB Hub I've been using with the cable so it doesn't seem like a hub issue. Hub isn't powered so I thought maybe the ESP is drawing more power than the FTDI and causing an issue there, but I've tried with a powered hub with no luck.

It feels like a buffer issue on the ESP receiving side, in that if the serial stream is too fast the buffer is getting overwritten before it can be read, but why is that not affecting all ESP implementations?
You do not have the required permissions to view the files attached to this post.
User avatar
RealLarry
Top Contributor
Posts: 883
Joined: Mon May 25, 2020 4:04 am
Location: San Junipero/DE/Earth
Has thanked: 120 times
Been thanked: 386 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by RealLarry »

dave18 wrote: Wed May 05, 2021 10:50 am I've tried using two FTDIs to send from MiSTer to PC and it seems to work ok. I've attached the PuTTY logs at both 38400 and 921600. The MiSTer is clearly sending the data correctly.
Very well done/debugged, Dave. But what damned crap is that? All components are working fine but ESP won't take 2kb of data at normal and high speed? I hate this kind of trouble. If you were my neighbor I'd lent a bunch of working devices for further tests...
Contributor of tty2oled, author of tty2tft, tty2rpi and update_tty2xxx
dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

Yeah, it would be good to test with other modules.

I did another test, if I send the serial data to the ESP using the FTDI (same FTDI and hub combo that worked with the PC) with the RX/TX wired directly to the ESP TX/RX pins (plus GND) it still fails to receive the data properly, so it can't be the serial chip or USB cable at fault. I've powered the ESP from my monitor USB port so there shouldn't be any serial cross talk.

It there any way to configure the serial buffer size? The maximum Serial.available() gets to for me is 256 bytes before it maxes out, is that the same buffer size you would expect?

btw, this is the product I bought https://www.ebay.co.uk/itm/133616318730
User avatar
RealLarry
Top Contributor
Posts: 883
Joined: Mon May 25, 2020 4:04 am
Location: San Junipero/DE/Earth
Has thanked: 120 times
Been thanked: 386 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by RealLarry »

dave18 wrote: Wed May 05, 2021 11:11 amIt there any way to configure the serial buffer size? The maximum Serial.available() gets to for me is 256 bytes before it maxes out, is that the same buffer size you would expect?
Thats the same information I'm aware of. 256 bytes buffers max. Very strage behaviour of your ESP. I'm currently out of new ideas.
Contributor of tty2oled, author of tty2tft, tty2rpi and update_tty2xxx
RascalUK
Posts: 156
Joined: Mon Jun 08, 2020 2:02 pm
Location: Manchester, UK
Has thanked: 72 times
Been thanked: 23 times
Contact:

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by RascalUK »

dave18 wrote: Tue May 04, 2021 12:52 pm Might treat myself to a new high quality cable as a last resort
We sure know how to live round these parts don't we? :)
dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

RealLarry

I wonder if it's a library issue. I had to rewrite the the code to get rid of Strings as they crashed my ESP, yet I assume they work fine on yours.. If my ESP libs are older then maybe there's a bug in the serial code too. I just added the board manager URL and installed esp32 1.0.6 which also installed the libs into ArduinoData folder.

Out of interest, which board do you select, I just choose ESP32 Dev Module.

RascalUK wrote: Wed May 05, 2021 2:46 pm
dave18 wrote: Tue May 04, 2021 12:52 pm Might treat myself to a new high quality cable as a last resort
We sure know how to live round these parts don't we? :)
Worse part is explaining to my wife why I'm buying a new cable when I have a box full of them already taking up room in the house!
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

dave18 wrote: Wed May 05, 2021 3:16 pm ...I just added the board manager URL and installed esp32 1.0.6 which also installed the libs into ArduinoData folder.

Out of interest, which board do you select, I just choose ESP32 Dev Module.
I am working with Arduino 1.8.13 / ESP32 Package 1.0.5 and 1.0.6 on Windows.
RealLarry works with Linux.

For Board Settings see https://github.com/venice1200/MiSTer_tt ... o-Settings

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

Hmm, everything seems right. Maybe I need to try an uninstall/reinstall
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

dave18 wrote: Wed May 05, 2021 4:14 pm Hmm, everything seems right. Maybe I need to try an uninstall/reinstall
Someone else around you helping out with an ESP32 for tests?

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

dave18
Posts: 72
Joined: Sun Jun 21, 2020 8:21 am
Has thanked: 4 times
Been thanked: 7 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by dave18 »

Happy to swap code/esp with anyone who wants to test stuff (am in UK). Case arrived today so am distracted measuring and 3d printing, will hopefully have something to show after the weekend.
Reg
Posts: 126
Joined: Mon Mar 22, 2021 11:38 am
Has thanked: 63 times
Been thanked: 34 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by Reg »

Great news for me, the kit arrived from China so I can plug on.

I have two simple questions that I just want to ask if I may...

I assume by everything that I've read all I do is grab the update script with this...

wget https://raw.githubusercontent.com/venic ... ty2oled.sh -O /media/fat/Scripts/update_tty2oled.sh

...and it will install everything.

Second question, I am seeing an unholy amount of grounds that I need to solder together - can anyone advise any tips or tricks, I've daisychained grounds on larger projects before ( buttons for cabs ), but this is going to look like it's a smaller solution needed. Don't mind if I have to buy more parts - I'd like to just take a steer from those that have done this and have a good solution - learn from experts if I may.

Thank you.
User avatar
venice
Top Contributor
Posts: 788
Joined: Tue Jun 16, 2020 9:29 am
Location: Germany
Has thanked: 278 times
Been thanked: 278 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by venice »

Reg wrote: Wed May 05, 2021 11:20 pm Great news for me, the kit arrived from China so I can plug on.

I have two simple questions that I just want to ask if I may...

I assume by everything that I've read all I do is grab the update script with this...

wget https://raw.githubusercontent.com/venic ... ty2oled.sh -O /media/fat/Scripts/update_tty2oled.sh

...and it will install everything.
Thank you.
On the MiSTer Side, yes.
Run the installer, set your INI File Options, done.
See: https://github.com/venice1200/MiSTer_tt ... stallation

For the ESP to finish you (or someone) need to compile the Arduino Code into the ESP.
This is not fully documented, just a few information are in the Wiki.
See: https://github.com/venice1200/MiSTer_tt ... o-Settings
Reg wrote: Wed May 05, 2021 11:20 pm Second question, I am seeing an unholy amount of grounds that I need to solder together - can anyone advise any tips or tricks, I've daisychained grounds on larger projects before ( buttons for cabs ), but this is going to look like it's a smaller solution needed. Don't mind if I have to buy more parts - I'd like to just take a steer from those that have done this and have a good solution - learn from experts if I may.

Thank you.
I just solderred them all together.
See: viewtopic.php?p=24089#p24089

My MiSTer Add-On-Projects tty2oled, i2c2oled, SNAC2IEC
You can donate by sending a Postcard (Cardwarez) to me.

Reg
Posts: 126
Joined: Mon Mar 22, 2021 11:38 am
Has thanked: 63 times
Been thanked: 34 times

Re: tty2oled Software Add-On now with USB/SD Support (Show Text/Pictures based on loaded Core on Display)

Unread post by Reg »

Thank you Vince.
Post Reply