Connect with us

LED moving message display - interfacing problems! RS232

Discussion in 'Hobby Electronics' started by princo coasters, Jul 25, 2007.

Scroll to continue with content
  1. I recently purchased some led message boards from auction and need some
    information on them ..... hopefully someone here can help?

    The signs are made by "LEISURE UNLIMITED AUSTRALIA" - LUA Electronics, and
    are about 1.3 metres long - dot matrix single line RED display...30+ chars
    (cant tell exactly as the characters use less than one LED block each)

    When the signs are powered up, they simply display a 6 digit serial number
    (same number as shown on the back of each unit - matches the units serial)
    and then they just sit there displaying that number - I assume, waiting for
    some valid commands.
    Leisure Unlimited Australia, LUA Electronics used to be here:
    LUA Electronics Pty Ltd. 11 Redwood Drv Notting Hill VIC 3168, but are shown
    as a de-registered company on the AISC site, and obviously, nobody answers
    the old phone number....yep - tried anyway!


    I found some software I thought might control them here......

    http://www.dorianstudios.net/Computer Electronics.htm

    but so far, have had no luck!

    I made up a serial port null modem cable after checking that the sign DB9
    connector has only pins 2, 3 and 5 connected......but no joy.....tried a few
    different types of null modem cable too.

    By taking a peek inside the software, the only settings I could see were
    9600 baud, 8 bits, no parity and 1 stop bit......so these are the settings I
    have been using - although I have also tried others too with no luck.

    The controller for the sign uses a TC232CPE level converter, an 8031
    processor, one RAM chip (HY6264ALP-10) and a 27C64 EPROM.
    I don't have anything else much that i can tell you about it, so I am hoping
    that someone here has used them before, or might be able to help me
    interface to it.

    Would dumping the contents of the EPROM help to nut this out?? Anyone likely
    to be able to make sense of it?


    If any one has any software to use these or knows where i could get it from
    it would be much apreciated.

    If anyone could even jusdt point me in the way of someone who used to work
    at this company that would be great too

    Thanks in advance !
     
  2. Nobody here has played with RS232 or 8031's?????

    Anyone using a LED message sign at work? What brand is it? How is it
    connected?
     
  3. I'm sure at least some of us have played with RS232 and/or 8031's, just not
    within the message board you outlined. And even if one hasn't, it really
    doesn't matter anyway.
    The ones that I played with (a million years ago) were RS232-interfaced,
    (back when RS232 was trendy), but you used a dumb terminal to talk to it.
    Certain characters were used for control purposes, everything else
    (alphanumerics) were used for display.

    This doesn't help you of course, not only because can I not remember the
    brand of the displays, no other brand might help either - simply because there
    are no communications standards for these things.

    I've heard of AT style keyboard connected interfaces, USB, parallel printer
    port interfaced, you name it, I've "heard" of them all. All of them different
    with the way one programmed the text.

    Regardless, unless someone doesn't have that model you have and knows how to
    drive it, nothing else will help.


    I would be cynical of the usefulness of "looking under the bonnet" because
    if you want to disassemble the code, by the time you go through it, it may
    very well be cheaper to buy something off the shelf that has software and
    instructions all nicely laid out for you.

    When purchasing things like these, you really have to do your homework
    first, otherwise you might be buying a vintage black box. Very nice, but
    black boxes don't really do anything exiting by themselves.

    Keep looking, you might get lucky and hear from someone that has used them.

    Otherwise, it might be useful to stick a protocol analyser in there and see
    if the boxes bounce any bytes back in response to your probing. It'll give
    you an idea of the speed at least.
    Failing all the above, some trial and error may be called for.

    Good luck.
     
  4. As John mentioned, it's a lot of effort to try and reverse engineer
    something like that, and I wouldn't bother. Sounds like you've tried
    the basics, so I'd give at that point.
    What I *would* do however is to simply write new software for it from
    scratch, that should be quicker than trying to decode what the old one
    does. Either use the existing 8031 with a new ROM, or replace it with
    the micro of your choosing. Should use all discrete hardware, so that
    should be fairly easy to figure trace out and figure out how to drive
    the LED's.

    With your own software you get the benefit of making it do exactly
    what you want, likely with more features than the original software
    contained.

    Dave.
     
  5. i came into posession of a sign like that for free, no keypad.

    i found a sign shop that had a few old left over keypads to try.

    several worked...one cost over 100 dollars.

    9 pin connector was not serial port, some kind of matrix scanned
    keypad.
    Foley U. Matthews there | http://fumthings.blogspot.com/ Personal
    are no e's in my true email | Automatic Transport for S.E. Queensland.
    Visit the Ellen Foley Info | groceries online, home delivery.
    http://www.go.to/ellen-foley | dislike football (Australian).
     
  6. Hi!
    Thanks for replies.....

    This sign definately has a serial port - it has an rs232 level converter IC
    and uses pins 2,3,and 5 of the 9 pin d socket (rs232 standard)

    Havent yet been able to get anything on the sign, but have measured voltages
    to make sure sign is getting the data, and converter is working.


    Any other ideas?

    Getting dump of EPROM tomorrow.
     
  7. Yes, if you have the skills to decode the software in that EPROM, then
    you have the skills to simply write your own software from scratch.
    Hardware debug + your own software is probably the easiest way.

    Dave.
     
  8. Guest


    I have a suspicion that LUA morphed into Axent Global

    <http://www.axent.com.au/>
     
  9. Er, I think there's more to it than that. It's trivial to dump the EPROM
    contents, then de-compile that with the relevant tools.

    Making sense of all that comment-less code is a different ballgame altogether.

    In the event it was complied with a higher level language, then the
    assembler will make just a little less sense.
     
  10. The 8031 is an old workhorse with a UART inside. Once you have the hexdump,
    you can run a disassembler over it and track down the serial communication
    part. Finding out the path of the incoming data and command recognising is
    the next step. It will take quite some time, but it can be done. I've done
    similar things although not in the current century. No need to say you will
    need the 8051 datasheet. It's only a 150 pages but you don't need to read
    them all :)

    petrus bitbyter
     
  11. 18 months is a long time. Assembler? Was most of your high level
    functionality internal to the message board, or external to it like on
    a PC?

    With a high level language compiler and possibly some pre-written code
    for the high level stuff (text-to-bitmap etc), it need only take a
    fraction of that time. If you offload the high level stuff to the PC
    then the actual LED message driving part of it becomes relatively
    easy.

    The problem PrincoCoasters might have though is that he might have to
    do all that anyway. Even if he decodes the software and gets it to
    talk he might find that the message board is nothing more than a low
    level device which holds a bitmap image and scrolls it. i.e. it might
    not have any ASCII to bitmap decoding built in, so he won't be able to
    simply send it ASCII text and have it displayed. In that case a PC
    application would have to be written anyway.

    Dave.
     
  12. You might be interested (or relieved) to know you don't hold the
    record for development time for a published project. I think that
    honor goes to Peter Baxter's 100MHz Logic Analyser in EA which took in
    the order of 5 years to develop, only to be narrowly beaten to
    publication by my 40MHz Logic Analyser project by a couple of months!
    (my one only took a few months to develop)

    Dave.
     

  13. Be aware that Z80 code differs widely from 8051 (8751, 8031) code. I used
    both, ever wrote even disassemblers.

    petrus bitbyter
     
  14. G'day!

    Well, got the contents of one of the EPROMs dumped....and have run it
    through a disassembler called "MCS51" - selecting the 8031 as the processor.

    All dumps are the same except for the serial number of the sign which is
    coded in line #103h and #104h

    I have left out the code from #09BA - #1FFF as it is all blank/unused.

    Is anyone able to suggest where I might find the serial port communication
    protocol? I have programmed the 6809 a long time ago, and a bit of 8051 -
    but VERY rusty.

    Thanks in advance for any help!

    #cpu = 8031
    0000 02 08 00 ljmp 0800h
    0003 00 nop
    0004 00 nop
    0005 00 nop
    0006 00 nop
    0007 00 nop
    0008 00 nop
    0009 00 nop
    000A 00 nop
    000B 00 nop
    000C 00 nop
    000D 00 nop
    000E 00 nop
    000F 00 nop
    0010 00 nop
    0011 00 nop
    0012 00 nop
    0013 00 nop
    0014 00 nop
    0015 00 nop
    0016 00 nop
    0017 00 nop
    0018 00 nop
    0019 00 nop
    001A 00 nop
    001B 00 nop
    001C 00 nop
    001D 00 nop
    001E 00 nop
    001F 00 nop
    0020 00 nop
    0021 00 nop
    0022 00 nop
    0023 C0 D0 push PSW
    0025 43 D0 18 orl PSW, #18h ; 24d
    0028 AC 82 mov r4, DPL
    002A AE 83 mov r6, DPH
    002C FF mov r7, a
    002D 10 98 0B jbc RI, 003Bh
    0030 85 2F A0 mov P2, 2Fh
    0033 EF mov a, r7
    0034 8E 83 mov DPH, r6
    0036 8C 82 mov DPL, r4
    0038 D0 D0 pop PSW
    003A 32 reti
    003B E5 99 mov a, SBUF
    003D FD mov r5, a
    003E 64 1B xrl a, #1Bh ; 27d
    0040 60 60 jz 00A2h
    0042 EA mov a, r2
    0043 20 E7 EA jb ACC.7, 0030h
    0046 60 0B jz 0053h
    0048 14 dec a
    0049 60 10 jz 005Bh
    004B 14 dec a
    004C 60 2D jz 007Bh
    004E 14 dec a
    004F 60 76 jz 00C7h
    0051 80 4D sjmp 00A0h
    0053 74 40 mov a, #40h ; 64d = '@'
    0055 6D xrl a, r5
    0056 70 48 jnz 00A0h
    0058 0A inc r2
    0059 80 48 sjmp 00A3h
    005B 0A inc r2
    005C 7B FF mov r3, #FFh ; 255d = 'ÿ'
    005E 74 46 mov a, #46h ; 70d = 'F'
    0060 6D xrl a, r5
    0061 60 40 jz 00A3h
    0063 78 00 mov r0, #00h ; 0d
    0065 74 41 mov a, #41h ; 65d = 'A'
    0067 0B inc r3
    0068 6D xrl a, r5
    0069 60 38 jz 00A3h
    006B 74 44 mov a, #44h ; 68d = 'D'
    006D 0B inc r3
    006E 78 80 mov r0, #80h ; 128d = '€'
    0070 6D xrl a, r5
    0071 60 30 jz 00A3h
    0073 74 54 mov a, #54h ; 84d = 'T'
    0075 6D xrl a, r5
    0076 70 28 jnz 00A0h
    0078 02 09 4C ljmp 094Ch
    007B EB mov a, r3
    007C 60 27 jz 00A5h
    007E E5 2D mov a, 2Dh
    0080 6D xrl a, r5
    0081 70 1D jnz 00A0h
    0083 EB mov a, r3
    0084 14 dec a
    0085 60 14 jz 009Bh
    0087 04 inc a
    0088 04 inc a
    0089 70 15 jnz 00A0h
    008B D2 01 setb 20h.1
    008D 75 A0 00 mov P2, #00h ; 0d
    0090 E8 mov a, r0
    0091 64 9A xrl a, #9Ah ; 154d = 'Å¡'
    0093 60 0B jz 00A0h
    0095 74 20 mov a, #20h ; 32d
    0097 F2 movx @r0, a
    0098 08 inc r0
    0099 80 F5 sjmp 0090h
    009B 0A inc r2
    009C C2 01 clr 20h.1
    009E 80 03 sjmp 00A3h
    00A0 74 80 mov a, #80h ; 128d = '€'
    00A2 FA mov r2, a
    00A3 80 8B sjmp 0030h
    00A5 E8 mov a, r0
    00A6 64 06 xrl a, #06h ; 6d
    00A8 70 12 jnz 00BCh
    00AA 8D 2D mov 2Dh, r5
    00AC 90 00 80 mov dptr, #0080h
    00AF 74 20 mov a, #20h ; 32d
    00B1 78 1B mov r0, #1Bh ; 27d
    00B3 F0 movx @dptr, a
    00B4 05 82 inc DPL
    00B6 D8 FB djnz r0, 00B3h
    00B8 D2 01 setb 20h.1
    00BA 80 E4 sjmp 00A0h
    00BC 90 01 00 mov dptr, #0100h
    00BF E8 mov a, r0
    00C0 93 movc a, @a+dptr
    00C1 6D xrl a, r5
    00C2 70 DC jnz 00A0h
    00C4 08 inc r0
    00C5 80 DC sjmp 00A3h
    00C7 E8 mov a, r0
    00C8 64 9A xrl a, #9Ah ; 154d = 'Å¡'
    00CA 60 D4 jz 00A0h
    00CC 75 A0 00 mov P2, #00h ; 0d
    00CF ED mov a, r5
    00D0 F2 movx @r0, a
    00D1 08 inc r0
    00D2 80 CF sjmp 00A3h
    00D4 00 nop
    00D5 00 nop
    00D6 00 nop
    00D7 00 nop
    00D8 00 nop
    00D9 00 nop
    00DA 00 nop
    00DB 00 nop
    00DC 00 nop
    00DD 00 nop
    00DE 00 nop
    00DF 00 nop
    00E0 00 nop
    00E1 00 nop
    00E2 00 nop
    00E3 00 nop
    00E4 00 nop
    00E5 00 nop
    00E6 00 nop
    00E7 00 nop
    00E8 00 nop
    00E9 00 nop
    00EA 00 nop
    00EB 00 nop
    00EC 00 nop
    00ED 00 nop
    00EE 00 nop
    00EF 00 nop
    00F0 00 nop
    00F1 00 nop
    00F2 00 nop
    00F3 00 nop
    00F4 00 nop
    00F5 00 nop
    00F6 00 nop
    00F7 00 nop
    00F8 00 nop
    00F9 00 nop
    00FA 00 nop
    00FB 00 nop
    00FC 00 nop
    00FD 00 nop
    00FE 00 nop
    00FF 00 nop
    0100 30 30 30 jnb 26h.0, 0133h
    0103 36 addc a, @r0
    0104 31 38 acall 138h
    0106 20 20 20 jb 24h.0, 0129h
    0109 20 20 20 jb 24h.0, 012Ch
    010C 20 20 20 jb 24h.0, 012Fh
    010F 20 20 20 jb 24h.0, 0132h
    0112 20 20 20 jb 24h.0, 0135h
    0115 20 20 20 jb 24h.0, 0138h
    0118 20 20 20 jb 24h.0, 013Bh
    011B 20 20 20 jb 24h.0, 013Eh
    011E 20 20 00 jb 24h.0, 0121h
    0121 04 inc a
    0122 05 00 inc 00h
    0124 04 inc a
    0125 03 rr a
    0126 02 06 08 ljmp 0608h
    0129 02 00 00 ljmp 0000h
    012C 00 nop
    012D 00 nop
    012E 00 nop
    012F 00 nop
    0130 0E inc r6
    0131 04 inc a
    0132 0E inc r6
    0133 1F dec r7
    0134 08 inc r0
    0135 1F dec r7
    0136 0C inc r4
    0137 1F dec r7
    0138 0E inc r6
    0139 0E inc r6
    013A 00 nop
    013B 00 nop
    013C 08 inc r0
    013D 00 nop
    013E 02 0E 0E ljmp 0E0Eh
    0141 04 inc a
    0142 0F inc r7
    0143 0E inc r6
    0144 0F inc r7
    0145 1F dec r7
    0146 1F dec r7
    0147 0E inc r6
    0148 11 0E acall Eh
    014A 0E inc r6
    014B 11 01 acall 1h
    014D 11 11 acall 11h
    014F 0E inc r6
    0150 0F inc r7
    0151 0E inc r6
    0152 0F inc r7
    0153 0E inc r6
    0154 1F dec r7
    0155 11 11 acall 11h
    0157 11 11 acall 11h
    0159 11 1F acall 1Fh
    015B 0E inc r6
    015C 00 nop
    015D 0E inc r6
    015E 04 inc a
    015F 00 nop
    0160 02 00 01 ljmp 0001h
    0163 00 nop
    0164 10 00 0C jbc 20h.0, 0173h
    0167 00 nop
    0168 01 04 ajmp 4h
    016A 08 inc r0
    016B 01 06 ajmp 6h
    016D 00 nop
    016E 00 nop
    016F 00 nop
    0170 00 nop
    0171 00 nop
    0172 00 nop
    0173 00 nop
    0174 02 00 00 ljmp 0000h
    0177 00 nop
    0178 00 nop
    0179 00 nop
    017A 00 nop
    017B 10 04 01 jbc 20h.4, 017Fh
    017E 1F dec r7
    017F 00 nop
    0180 00 nop
    0181 00 nop
    0182 00 nop
    0183 00 nop
    0184 00 nop
    0185 00 nop
    0186 00 nop
    0187 00 nop
    0188 00 nop
    0189 00 nop
    018A 00 nop
    018B 00 nop
    018C 00 nop
    018D 00 nop
    018E 00 nop
    018F 00 nop
    0190 00 nop
    0191 00 nop
    0192 00 nop
    0193 00 nop
    0194 00 nop
    0195 00 nop
    0196 00 nop
    0197 00 nop
    0198 00 nop
    0199 00 nop
    019A 00 nop
    019B 00 nop
    019C 00 nop
    019D 00 nop
    019E 00 nop
    019F 00 nop
    01A0 00 nop
    01A1 00 nop
    01A2 00 nop
    01A3 00 nop
    01A4 00 nop
    01A5 00 nop
    01A6 00 nop
    01A7 00 nop
    01A8 00 nop
    01A9 00 nop
    01AA 00 nop
    01AB 00 nop
    01AC 00 nop
    01AD 00 nop
    01AE 00 nop
    01AF 00 nop
    01B0 00 nop
    01B1 00 nop
    01B2 00 nop
    01B3 00 nop
    01B4 00 nop
    01B5 00 nop
    01B6 00 nop
    01B7 00 nop
    01B8 00 nop
    01B9 00 nop
    01BA 00 nop
    01BB 00 nop
    01BC 00 nop
    01BD 00 nop
    01BE 00 nop
    01BF 00 nop
    01C0 00 nop
    01C1 00 nop
    01C2 00 nop
    01C3 00 nop
    01C4 00 nop
    01C5 00 nop
    01C6 00 nop
    01C7 00 nop
    01C8 00 nop
    01C9 00 nop
    01CA 00 nop
    01CB 00 nop
    01CC 00 nop
    01CD 00 nop
    01CE 00 nop
    01CF 00 nop
    01D0 00 nop
    01D1 00 nop
    01D2 00 nop
    01D3 00 nop
    01D4 00 nop
    01D5 00 nop
    01D6 00 nop
    01D7 00 nop
    01D8 00 nop
    01D9 00 nop
    01DA 00 nop
    01DB 00 nop
    01DC 00 nop
    01DD 00 nop
    01DE 00 nop
    01DF 00 nop
    01E0 00 nop
    01E1 00 nop
    01E2 00 nop
    01E3 00 nop
    01E4 00 nop
    01E5 00 nop
    01E6 00 nop
    01E7 00 nop
    01E8 00 nop
    01E9 00 nop
    01EA 00 nop
    01EB 00 nop
    01EC 00 nop
    01ED 00 nop
    01EE 00 nop
    01EF 00 nop
    01F0 00 nop
    01F1 00 nop
    01F2 00 nop
    01F3 00 nop
    01F4 00 nop
    01F5 00 nop
    01F6 00 nop
    01F7 00 nop
    01F8 00 nop
    01F9 00 nop
    01FA 00 nop
    01FB 00 nop
    01FC 00 nop
    01FD 00 nop
    01FE 00 nop
    01FF 00 nop
    0200 00 nop
    0201 00 nop
    0202 00 nop
    0203 00 nop
    0204 00 nop
    0205 00 nop
    0206 00 nop
    0207 00 nop
    0208 00 nop
    0209 00 nop
    020A 00 nop
    020B 00 nop
    020C 00 nop
    020D 00 nop
    020E 00 nop
    020F 00 nop
    0210 00 nop
    0211 00 nop
    0212 00 nop
    0213 00 nop
    0214 00 nop
    0215 00 nop
    0216 00 nop
    0217 00 nop
    0218 00 nop
    0219 00 nop
    021A 00 nop
    021B 00 nop
    021C 00 nop
    021D 00 nop
    021E 00 nop
    021F 00 nop
    0220 00 nop
    0221 04 inc a
    0222 05 0A inc 0Ah
    0224 1E dec r6
    0225 13 rrc a
    0226 05 04 inc 04h
    0228 04 inc a
    0229 04 inc a
    022A 15 04 dec 04h
    022C 00 nop
    022D 00 nop
    022E 00 nop
    022F 10 11 06 jbc 22h.1, 0238h
    0232 11 08 acall 8h
    0234 0C inc r4
    0235 01 02 ajmp 2h
    0237 10 11 11 jbc 22h.1, 024Bh
    023A 06 inc @r0
    023B 06 inc @r0
    023C 04 inc a
    023D 00 nop
    023E 04 inc a
    023F 11 11 acall 11h
    0241 0A inc r2
    0242 12 11 12 lcall 1112h
    0245 01 01 ajmp 1h
    0247 11 11 acall 11h
    0249 04 inc a
    024A 04 inc a
    024B 09 inc r1
    024C 01 1B ajmp 1Bh
    024E 11 11 acall 11h
    0250 11 11 acall 11h
    0252 11 11 acall 11h
    0254 04 inc a
    0255 11 11 acall 11h
    0257 11 11 acall 11h
    0259 11 10 acall 10h
    025B 02 07 08 ljmp 0708h
    025E 0E inc r6
    025F 0E inc r6
    0260 04 inc a
    0261 00 nop
    0262 01 00 ajmp 0h
    0264 10 00 12 jbc 20h.0, 0279h
    0267 1E dec r6
    0268 01 00 ajmp 0h
    026A 00 nop
    026B 01 04 ajmp 4h
    026D 00 nop
    026E 00 nop
    026F 00 nop
    0270 00 nop
    0271 00 nop
    0272 00 nop
    0273 00 nop
    0274 02 00 00 ljmp 0000h
    0277 00 nop
    0278 00 nop
    0279 00 nop
    027A 00 nop
    027B 08 inc r0
    027C 04 inc a
    027D 02 1F 10 ljmp 1F10h
    0280 00 nop
    0281 00 nop
    0282 00 nop
    0283 00 nop
    0284 00 nop
    0285 00 nop
    0286 00 nop
    0287 00 nop
    0288 00 nop
    0289 00 nop
    028A 00 nop
    028B 00 nop
    028C 00 nop
    028D 00 nop
    028E 00 nop
    028F 00 nop
    0290 00 nop
    0291 00 nop
    0292 00 nop
    0293 00 nop
    0294 00 nop
    0295 00 nop
    0296 00 nop
    0297 00 nop
    0298 00 nop
    0299 00 nop
    029A 00 nop
    029B 00 nop
    029C 00 nop
    029D 00 nop
    029E 00 nop
    029F 00 nop
    02A0 00 nop
    02A1 00 nop
    02A2 00 nop
    02A3 00 nop
    02A4 00 nop
    02A5 00 nop
    02A6 00 nop
    02A7 00 nop
    02A8 00 nop
    02A9 00 nop
    02AA 00 nop
    02AB 00 nop
    02AC 00 nop
    02AD 00 nop
    02AE 00 nop
    02AF 00 nop
    02B0 00 nop
    02B1 00 nop
    02B2 00 nop
    02B3 00 nop
    02B4 00 nop
    02B5 00 nop
    02B6 00 nop
    02B7 00 nop
    02B8 00 nop
    02B9 00 nop
    02BA 00 nop
    02BB 00 nop
    02BC 00 nop
    02BD 00 nop
    02BE 00 nop
    02BF 00 nop
    02C0 00 nop
    02C1 00 nop
    02C2 00 nop
    02C3 00 nop
    02C4 00 nop
    02C5 00 nop
    02C6 00 nop
    02C7 00 nop
    02C8 00 nop
    02C9 00 nop
    02CA 00 nop
    02CB 00 nop
    02CC 00 nop
    02CD 00 nop
    02CE 00 nop
    02CF 00 nop
    02D0 00 nop
    02D1 00 nop
    02D2 00 nop
    02D3 00 nop
    02D4 00 nop
    02D5 00 nop
    02D6 00 nop
    02D7 00 nop
    02D8 00 nop
    02D9 00 nop
    02DA 00 nop
    02DB 00 nop
    02DC 00 nop
    02DD 00 nop
    02DE 00 nop
    02DF 00 nop
    02E0 00 nop
    02E1 00 nop
    02E2 00 nop
    02E3 00 nop
    02E4 00 nop
    02E5 00 nop
    02E6 00 nop
    02E7 00 nop
    02E8 00 nop
    02E9 00 nop
    02EA 00 nop
    02EB 00 nop
    02EC 00 nop
    02ED 00 nop
    02EE 00 nop
    02EF 00 nop
    02F0 00 nop
    02F1 00 nop
    02F2 00 nop
    02F3 00 nop
    02F4 00 nop
    02F5 00 nop
    02F6 00 nop
    02F7 00 nop
    02F8 00 nop
    02F9 00 nop
    02FA 00 nop
    02FB 00 nop
    02FC 00 nop
    02FD 00 nop
    02FE 00 nop
    02FF 00 nop
    0300 00 nop
    0301 00 nop
    0302 00 nop
    0303 00 nop
    0304 00 nop
    0305 00 nop
    0306 00 nop
    0307 00 nop
    0308 00 nop
    0309 00 nop
    030A 00 nop
    030B 00 nop
    030C 00 nop
    030D 00 nop
    030E 00 nop
    030F 00 nop
    0310 00 nop
    0311 00 nop
    0312 00 nop
    0313 00 nop
    0314 00 nop
    0315 00 nop
    0316 00 nop
    0317 00 nop
    0318 00 nop
    0319 00 nop
    031A 00 nop
    031B 00 nop
    031C 00 nop
    031D 00 nop
    031E 00 nop
    031F 00 nop
    0320 00 nop
    0321 04 inc a
    0322 05 1F inc 1Fh
    0324 05 08 inc 08h
    0326 05 02 inc 02h
    0328 02 08 0E ljmp 080Eh
    032B 04 inc a
    032C 00 nop
    032D 00 nop
    032E 00 nop
    032F 08 inc r0
    0330 19 dec r1
    0331 04 inc a
    0332 10 04 0A jbc 20h.4, 033Fh
    0335 0F inc r7
    0336 01 08 ajmp 8h
    0338 11 11 acall 11h
    033A 06 inc @r0
    033B 06 inc @r0
    033C 02 1F 08 ljmp 1F08h
    033F 08 inc r0
    0340 15 11 dec 11h
    0342 12 01 12 lcall 0112h
    0345 01 01 ajmp 1h
    0347 01 11 ajmp 11h
    0349 04 inc a
    034A 04 inc a
    034B 05 01 inc 01h
    034D 15 13 dec 13h
    034F 11 11 acall 11h
    0351 11 11 acall 11h
    0353 01 04 ajmp 4h
    0355 11 11 acall 11h
    0357 11 0A acall Ah
    0359 0A inc r2
    035A 08 inc r0
    035B 02 03 08 ljmp 0308h
    035E 15 11 dec 11h
    0360 08 inc r0
    0361 0E inc r6
    0362 0D inc r5
    0363 0E inc r6
    0364 16 dec @r0
    0365 0E inc r6
    0366 02 11 0D ljmp 110Dh
    0369 06 inc @r0
    036A 0C inc r4
    036B 09 inc r1
    036C 04 inc a
    036D 0B inc r3
    036E 0D inc r5
    036F 0E inc r6
    0370 0F inc r7
    0371 16 dec @r0
    0372 0D inc r5
    0373 0E inc r6
    0374 07 inc @r1
    0375 11 11 acall 11h
    0377 11 11 acall 11h
    0379 11 1F acall 1Fh
    037B 08 inc r0
    037C 04 inc a
    037D 02 1F 09 ljmp 1F09h
    0380 00 nop
    0381 00 nop
    0382 00 nop
    0383 00 nop
    0384 00 nop
    0385 00 nop
    0386 00 nop
    0387 00 nop
    0388 00 nop
    0389 00 nop
    038A 00 nop
    038B 00 nop
    038C 00 nop
    038D 00 nop
    038E 00 nop
    038F 00 nop
    0390 00 nop
    0391 00 nop
    0392 00 nop
    0393 00 nop
    0394 00 nop
    0395 00 nop
    0396 00 nop
    0397 00 nop
    0398 00 nop
    0399 00 nop
    039A 00 nop
    039B 00 nop
    039C 00 nop
    039D 00 nop
    039E 00 nop
    039F 00 nop
    03A0 00 nop
    03A1 00 nop
    03A2 00 nop
    03A3 00 nop
    03A4 00 nop
    03A5 00 nop
    03A6 00 nop
    03A7 00 nop
    03A8 00 nop
    03A9 00 nop
    03AA 00 nop
    03AB 00 nop
    03AC 00 nop
    03AD 00 nop
    03AE 00 nop
    03AF 00 nop
    03B0 00 nop
    03B1 00 nop
    03B2 00 nop
    03B3 00 nop
    03B4 00 nop
    03B5 00 nop
    03B6 00 nop
    03B7 00 nop
    03B8 00 nop
    03B9 00 nop
    03BA 00 nop
    03BB 00 nop
    03BC 00 nop
    03BD 00 nop
    03BE 00 nop
    03BF 00 nop
    03C0 00 nop
    03C1 00 nop
    03C2 00 nop
    03C3 00 nop
    03C4 00 nop
    03C5 00 nop
    03C6 00 nop
    03C7 00 nop
    03C8 00 nop
    03C9 00 nop
    03CA 00 nop
    03CB 00 nop
    03CC 00 nop
    03CD 00 nop
    03CE 00 nop
    03CF 00 nop
    03D0 00 nop
    03D1 00 nop
    03D2 00 nop
    03D3 00 nop
    03D4 00 nop
    03D5 00 nop
    03D6 00 nop
    03D7 00 nop
    03D8 00 nop
    03D9 00 nop
    03DA 00 nop
    03DB 00 nop
    03DC 00 nop
    03DD 00 nop
    03DE 00 nop
    03DF 00 nop
    03E0 00 nop
    03E1 00 nop
    03E2 00 nop
    03E3 00 nop
    03E4 00 nop
    03E5 00 nop
    03E6 00 nop
    03E7 00 nop
    03E8 00 nop
    03E9 00 nop
    03EA 00 nop
    03EB 00 nop
    03EC 00 nop
    03ED 00 nop
    03EE 00 nop
    03EF 00 nop
    03F0 00 nop
    03F1 00 nop
    03F2 00 nop
    03F3 00 nop
    03F4 00 nop
    03F5 00 nop
    03F6 00 nop
    03F7 00 nop
    03F8 00 nop
    03F9 00 nop
    03FA 00 nop
    03FB 00 nop
    03FC 00 nop
    03FD 00 nop
    03FE 00 nop
    03FF 00 nop
    0400 00 nop
    0401 00 nop
    0402 00 nop
    0403 00 nop
    0404 00 nop
    0405 00 nop
    0406 00 nop
    0407 00 nop
    0408 00 nop
    0409 00 nop
    040A 00 nop
    040B 00 nop
    040C 00 nop
    040D 00 nop
    040E 00 nop
    040F 00 nop
    0410 00 nop
    0411 00 nop
    0412 00 nop
    0413 00 nop
    0414 00 nop
    0415 00 nop
    0416 00 nop
    0417 00 nop
    0418 00 nop
    0419 00 nop
    041A 00 nop
    041B 00 nop
    041C 00 nop
    041D 00 nop
    041E 00 nop
    041F 00 nop
    0420 00 nop
    0421 04 inc a
    0422 00 nop
    0423 0A inc r2
    0424 0E inc r6
    0425 04 inc a
    0426 02 00 02 ljmp 0002h
    0429 08 inc r0
    042A 04 inc a
    042B 1F dec r7
    042C 00 nop
    042D 1F dec r7
    042E 00 nop
    042F 04 inc a
    0430 15 04 dec 04h
    0432 08 inc r0
    0433 08 inc r0
    0434 09 inc r1
    0435 10 0F 04 jbc 21h.7, 043Ch
    0438 0E inc r6
    0439 1E dec r6
    043A 00 nop
    043B 00 nop
    043C 01 00 ajmp 0h
    043E 10 04 15 jbc 20h.4, 0456h
    0441 11 0E acall Eh
    0443 01 12 ajmp 12h
    0445 0F inc r7
    0446 0F inc r7
    0447 01 1F ajmp 1Fh
    0449 04 inc a
    044A 04 inc a
    044B 03 rr a
    044C 01 11 ajmp 11h
    044E 15 11 dec 11h
    0450 0F inc r7
    0451 11 0F acall Fh
    0453 0E inc r6
    0454 04 inc a
    0455 11 11 acall 11h
    0457 15 04 dec 04h
    0459 04 inc a
    045A 04 inc a
    045B 02 05 08 ljmp 0508h
    045E 04 inc a
    045F 1F dec r7
    0460 00 nop
    0461 10 13 01 jbc 22h.3, 0465h
    0464 19 dec r1
    0465 11 0F acall Fh
    0467 11 13 acall 13h
    0469 04 inc a
    046A 08 inc r0
    046B 05 04 inc 04h
    046D 15 13 dec 13h
    046F 11 11 acall 11h
    0471 19 dec r1
    0472 13 rrc a
    0473 01 02 ajmp 2h
    0475 11 11 acall 11h
    0477 11 0A acall Ah
    0479 11 08 acall 8h
    047B 04 inc a
    047C 04 inc a
    047D 04 inc a
    047E 1F dec r7
    047F 05 00 inc 00h
    0481 00 nop
    0482 00 nop
    0483 00 nop
    0484 00 nop
    0485 00 nop
    0486 00 nop
    0487 00 nop
    0488 00 nop
    0489 00 nop
    048A 00 nop
    048B 00 nop
    048C 00 nop
    048D 00 nop
    048E 00 nop
    048F 00 nop
    0490 00 nop
    0491 00 nop
    0492 00 nop
    0493 00 nop
    0494 00 nop
    0495 00 nop
    0496 00 nop
    0497 00 nop
    0498 00 nop
    0499 00 nop
    049A 00 nop
    049B 00 nop
    049C 00 nop
    049D 00 nop
    049E 00 nop
    049F 00 nop
    04A0 00 nop
    04A1 00 nop
    04A2 00 nop
    04A3 00 nop
    04A4 00 nop
    04A5 00 nop
    04A6 00 nop
    04A7 00 nop
    04A8 00 nop
    04A9 00 nop
    04AA 00 nop
    04AB 00 nop
    04AC 00 nop
    04AD 00 nop
    04AE 00 nop
    04AF 00 nop
    04B0 00 nop
    04B1 00 nop
    04B2 00 nop
    04B3 00 nop
    04B4 00 nop
    04B5 00 nop
    04B6 00 nop
    04B7 00 nop
    04B8 00 nop
    04B9 00 nop
    04BA 00 nop
    04BB 00 nop
    04BC 00 nop
    04BD 00 nop
    04BE 00 nop
    04BF 00 nop
    04C0 00 nop
    04C1 00 nop
    04C2 00 nop
    04C3 00 nop
    04C4 00 nop
    04C5 00 nop
    04C6 00 nop
    04C7 00 nop
    04C8 00 nop
    04C9 00 nop
    04CA 00 nop
    04CB 00 nop
    04CC 00 nop
    04CD 00 nop
    04CE 00 nop
    04CF 00 nop
    04D0 00 nop
    04D1 00 nop
    04D2 00 nop
    04D3 00 nop
    04D4 00 nop
    04D5 00 nop
    04D6 00 nop
    04D7 00 nop
    04D8 00 nop
    04D9 00 nop
    04DA 00 nop
    04DB 00 nop
    04DC 00 nop
    04DD 00 nop
    04DE 00 nop
    04DF 00 nop
    04E0 00 nop
    04E1 00 nop
    04E2 00 nop
    04E3 00 nop
    04E4 00 nop
    04E5 00 nop
    04E6 00 nop
    04E7 00 nop
    04E8 00 nop
    04E9 00 nop
    04EA 00 nop
    04EB 00 nop
    04EC 00 nop
    04ED 00 nop
    04EE 00 nop
    04EF 00 nop
    04F0 00 nop
    04F1 00 nop
    04F2 00 nop
    04F3 00 nop
    04F4 00 nop
    04F5 00 nop
    04F6 00 nop
    04F7 00 nop
    04F8 00 nop
    04F9 00 nop
    04FA 00 nop
    04FB 00 nop
    04FC 00 nop
    04FD 00 nop
    04FE 00 nop
    04FF 00 nop
    0500 00 nop
    0501 00 nop
    0502 00 nop
    0503 00 nop
    0504 00 nop
    0505 00 nop
    0506 00 nop
    0507 00 nop
    0508 00 nop
    0509 00 nop
    050A 00 nop
    050B 00 nop
    050C 00 nop
    050D 00 nop
    050E 00 nop
    050F 00 nop
    0510 00 nop
    0511 00 nop
    0512 00 nop
    0513 00 nop
    0514 00 nop
    0515 00 nop
    0516 00 nop
    0517 00 nop
    0518 00 nop
    0519 00 nop
    051A 00 nop
    051B 00 nop
    051C 00 nop
    051D 00 nop
    051E 00 nop
    051F 00 nop
    0520 00 nop
    0521 00 nop
    0522 00 nop
    0523 1F dec r7
    0524 14 dec a
    0525 02 15 00 ljmp 1500h
    0528 02 08 0E ljmp 080Eh
    052B 04 inc a
    052C 06 inc @r0
    052D 00 nop
    052E 00 nop
    052F 02 13 04 ljmp 1304h
    0532 04 inc a
    0533 10 1F 10 jbc 23h.7, 0546h
    0536 11 04 acall 4h
    0538 11 10 acall 10h
    053A 06 inc @r0
    053B 06 inc @r0
    053C 02 1F 08 ljmp 1F08h
    053F 04 inc a
    0540 0D inc r5
    0541 1F dec r7
    0542 12 01 12 lcall 0112h
    0545 01 01 ajmp 1h
    0547 19 dec r1
    0548 11 04 acall 4h
    054A 04 inc a
    054B 05 01 inc 01h
    054D 11 19 acall 19h
    054F 11 01 acall 1h
    0551 15 05 dec 05h
    0553 10 04 11 jbc 20h.4, 0567h
    0556 11 15 acall 15h
    0558 0A inc r2
    0559 04 inc a
    055A 02 02 08 ljmp 0208h
    055D 08 inc r0
    055E 04 inc a
    055F 11 00 acall 0h
    0561 1E dec r6
    0562 11 01 acall 1h
    0564 11 1F acall 1Fh
    0566 02 1E 11 ljmp 1E11h
    0569 04 inc a
    056A 08 inc r0
    056B 03 rr a
    056C 04 inc a
    056D 15 11 dec 11h
    056F 11 0F acall Fh
    0571 1E dec r6
    0572 01 0E ajmp Eh
    0574 02 11 11 ljmp 1111h
    0577 15 04 dec 04h
    0579 1E dec r6
    057A 04 inc a
    057B 08 inc r0
    057C 15 02 dec 02h
    057E 1F dec r7
    057F 03 rr a
    0580 00 nop
    0581 00 nop
    0582 00 nop
    0583 00 nop
    0584 00 nop
    0585 00 nop
    0586 00 nop
    0587 00 nop
    0588 00 nop
    0589 00 nop
    058A 00 nop
    058B 00 nop
    058C 00 nop
    058D 00 nop
    058E 00 nop
    058F 00 nop
    0590 00 nop
    0591 00 nop
    0592 00 nop
    0593 00 nop
    0594 00 nop
    0595 00 nop
    0596 00 nop
    0597 00 nop
    0598 00 nop
    0599 00 nop
    059A 00 nop
    059B 00 nop
    059C 00 nop
    059D 00 nop
    059E 00 nop
    059F 00 nop
    05A0 00 nop
    05A1 00 nop
    05A2 00 nop
    05A3 00 nop
    05A4 00 nop
    05A5 00 nop
    05A6 00 nop
    05A7 00 nop
    05A8 00 nop
    05A9 00 nop
    05AA 00 nop
    05AB 00 nop
    05AC 00 nop
    05AD 00 nop
    05AE 00 nop
    05AF 00 nop
    05B0 00 nop
    05B1 00 nop
    05B2 00 nop
    05B3 00 nop
    05B4 00 nop
    05B5 00 nop
    05B6 00 nop
    05B7 00 nop
    05B8 00 nop
    05B9 00 nop
    05BA 00 nop
    05BB 00 nop
    05BC 00 nop
    05BD 00 nop
    05BE 00 nop
    05BF 00 nop
    05C0 00 nop
    05C1 00 nop
    05C2 00 nop
    05C3 00 nop
    05C4 00 nop
    05C5 00 nop
    05C6 00 nop
    05C7 00 nop
    05C8 00 nop
    05C9 00 nop
    05CA 00 nop
    05CB 00 nop
    05CC 00 nop
    05CD 00 nop
    05CE 00 nop
    05CF 00 nop
    05D0 00 nop
    05D1 00 nop
    05D2 00 nop
    05D3 00 nop
    05D4 00 nop
    05D5 00 nop
    05D6 00 nop
    05D7 00 nop
    05D8 00 nop
    05D9 00 nop
    05DA 00 nop
    05DB 00 nop
    05DC 00 nop
    05DD 00 nop
    05DE 00 nop
    05DF 00 nop
    05E0 00 nop
    05E1 00 nop
    05E2 00 nop
    05E3 00 nop
    05E4 00 nop
    05E5 00 nop
    05E6 00 nop
    05E7 00 nop
    05E8 00 nop
    05E9 00 nop
    05EA 00 nop
    05EB 00 nop
    05EC 00 nop
    05ED 00 nop
    05EE 00 nop
    05EF 00 nop
    05F0 00 nop
    05F1 00 nop
    05F2 00 nop
    05F3 00 nop
    05F4 00 nop
    05F5 00 nop
    05F6 00 nop
    05F7 00 nop
    05F8 00 nop
    05F9 00 nop
    05FA 00 nop
    05FB 00 nop
    05FC 00 nop
    05FD 00 nop
    05FE 00 nop
    05FF 00 nop
    0600 00 nop
    0601 00 nop
    0602 00 nop
    0603 00 nop
    0604 00 nop
    0605 00 nop
    0606 00 nop
    0607 00 nop
    0608 00 nop
    0609 00 nop
    060A 00 nop
    060B 00 nop
    060C 00 nop
    060D 00 nop
    060E 00 nop
    060F 00 nop
    0610 00 nop
    0611 00 nop
    0612 00 nop
    0613 00 nop
    0614 00 nop
    0615 00 nop
    0616 00 nop
    0617 00 nop
    0618 00 nop
    0619 00 nop
    061A 00 nop
    061B 00 nop
    061C 00 nop
    061D 00 nop
    061E 00 nop
    061F 00 nop
    0620 00 nop
    0621 04 inc a
    0622 00 nop
    0623 0A inc r2
    0624 0F inc r7
    0625 19 dec r1
    0626 09 inc r1
    0627 00 nop
    0628 04 inc a
    0629 04 inc a
    062A 15 04 dec 04h
    062C 06 inc @r0
    062D 00 nop
    062E 06 inc @r0
    062F 01 11 ajmp 11h
    0631 04 inc a
    0632 02 11 08 ljmp 1108h
    0635 11 11 acall 11h
    0637 04 inc a
    0638 11 08 acall 8h
    063A 06 inc @r0
    063B 06 inc @r0
    063C 04 inc a
    063D 00 nop
    063E 04 inc a
    063F 00 nop
    0640 01 11 ajmp 11h
    0642 12 11 12 lcall 1112h
    0645 01 01 ajmp 1h
    0647 11 11 acall 11h
    0649 04 inc a
    064A 05 09 inc 09h
    064C 01 11 ajmp 11h
    064E 11 11 acall 11h
    0650 01 09 ajmp 9h
    0652 09 inc r1
    0653 11 04 acall 4h
    0655 11 0A acall Ah
    0657 15 11 dec 11h
    0659 04 inc a
    065A 01 02 ajmp 2h
    065C 10 08 04 jbc 21h.0, 0663h
    065F 0E inc r6
    0660 00 nop
    0661 11 11 acall 11h
    0663 11 11 acall 11h
    0665 01 02 ajmp 2h
    0667 10 11 04 jbc 22h.1, 066Eh
    066A 09 inc r1
    066B 05 04 inc 04h
    066D 15 11 dec 11h
    066F 11 01 acall 1h
    0671 10 01 10 jbc 20h.1, 0684h
    0674 12 19 0A lcall 190Ah
    0677 15 0A dec 0Ah
    0679 10 02 08 jbc 20h.2, 0684h
    067C 0E inc r6
    067D 02 1F 0F ljmp 1F0Fh
    0680 00 nop
    0681 00 nop
    0682 00 nop
    0683 00 nop
    0684 00 nop
    0685 00 nop
    0686 00 nop
    0687 00 nop
    0688 00 nop
    0689 00 nop
    068A 00 nop
    068B 00 nop
    068C 00 nop
    068D 00 nop
    068E 00 nop
    068F 00 nop
    0690 00 nop
    0691 00 nop
    0692 00 nop
    0693 00 nop
    0694 00 nop
    0695 00 nop
    0696 00 nop
    0697 00 nop
    0698 00 nop
    0699 00 nop
    069A 00 nop
    069B 00 nop
    069C 00 nop
    069D 00 nop
    069E 00 nop
    069F 00 nop
    06A0 00 nop
    06A1 00 nop
    06A2 00 nop
    06A3 00 nop
    06A4 00 nop
    06A5 00 nop
    06A6 00 nop
    06A7 00 nop
    06A8 00 nop
    06A9 00 nop
    06AA 00 nop
    06AB 00 nop
    06AC 00 nop
    06AD 00 nop
    06AE 00 nop
    06AF 00 nop
    06B0 00 nop
    06B1 00 nop
    06B2 00 nop
    06B3 00 nop
    06B4 00 nop
    06B5 00 nop
    06B6 00 nop
    06B7 00 nop
    06B8 00 nop
    06B9 00 nop
    06BA 00 nop
    06BB 00 nop
    06BC 00 nop
    06BD 00 nop
    06BE 00 nop
    06BF 00 nop
    06C0 00 nop
    06C1 00 nop
    06C2 00 nop
    06C3 00 nop
    06C4 00 nop
    06C5 00 nop
    06C6 00 nop
    06C7 00 nop
    06C8 00 nop
    06C9 00 nop
    06CA 00 nop
    06CB 00 nop
    06CC 00 nop
    06CD 00 nop
    06CE 00 nop
    06CF 00 nop
    06D0 00 nop
    06D1 00 nop
    06D2 00 nop
    06D3 00 nop
    06D4 00 nop
    06D5 00 nop
    06D6 00 nop
    06D7 00 nop
    06D8 00 nop
    06D9 00 nop
    06DA 00 nop
    06DB 00 nop
    06DC 00 nop
    06DD 00 nop
    06DE 00 nop
    06DF 00 nop
    06E0 00 nop
    06E1 00 nop
    06E2 00 nop
    06E3 00 nop
    06E4 00 nop
    06E5 00 nop
    06E6 00 nop
    06E7 00 nop
    06E8 00 nop
    06E9 00 nop
    06EA 00 nop
    06EB 00 nop
    06EC 00 nop
    06ED 00 nop
    06EE 00 nop
    06EF 00 nop
    06F0 00 nop
    06F1 00 nop
    06F2 00 nop
    06F3 00 nop
    06F4 00 nop
    06F5 00 nop
    06F6 00 nop
    06F7 00 nop
    06F8 00 nop
    06F9 00 nop
    06FA 00 nop
    06FB 00 nop
    06FC 00 nop
    06FD 00 nop
    06FE 00 nop
    06FF 00 nop
    0700 00 nop
    0701 00 nop
    0702 00 nop
    0703 00 nop
    0704 00 nop
    0705 00 nop
    0706 00 nop
    0707 00 nop
    0708 00 nop
    0709 00 nop
    070A 00 nop
    070B 00 nop
    070C 00 nop
    070D 00 nop
    070E 00 nop
    070F 00 nop
    0710 00 nop
    0711 00 nop
    0712 00 nop
    0713 00 nop
    0714 00 nop
    0715 00 nop
    0716 00 nop
    0717 00 nop
    0718 00 nop
    0719 00 nop
    071A 00 nop
    071B 00 nop
    071C 00 nop
    071D 00 nop
    071E 00 nop
    071F 00 nop
    0720 00 nop
    0721 04 inc a
    0722 00 nop
    0723 00 nop
    0724 04 inc a
    0725 18 dec r0
    0726 16 dec @r0
    0727 00 nop
    0728 08 inc r0
    0729 02 00 00 ljmp 0000h
    072C 01 00 ajmp 0h
    072E 06 inc @r0
    072F 00 nop
    0730 0E inc r6
    0731 0E inc r6
    0732 1F dec r7
    0733 0E inc r6
    0734 08 inc r0
    0735 0E inc r6
    0736 0E inc r6
    0737 04 inc a
    0738 0E inc r6
    0739 06 inc @r0
    073A 00 nop
    073B 01 08 ajmp 8h
    073D 00 nop
    073E 02 04 1E ljmp 041Eh
    0741 11 0F acall Fh
    0743 0E inc r6
    0744 0F inc r7
    0745 1F dec r7
    0746 01 0E ajmp Eh
    0748 11 0E acall Eh
    074A 02 11 1F ljmp 111Fh
    074D 11 11 acall 11h
    074F 0E inc r6
    0750 01 16 ajmp 16h
    0752 11 0E acall Eh
    0754 04 inc a
    0755 0E inc r6
    0756 04 inc a
    0757 0A inc r2
    0758 11 04 acall 4h
    075A 1F dec r7
    075B 0E inc r6
    075C 00 nop
    075D 0E inc r6
    075E 04 inc a
    075F 00 nop
    0760 00 nop
    0761 1E dec r6
    0762 0F inc r7
    0763 0E inc r6
    0764 1E dec r6
    0765 0E inc r6
    0766 02 0E 11 ljmp 0E11h
    0769 0E inc r6
    076A 06 inc @r0
    076B 09 inc r1
    076C 0E inc r6
    076D 15 11 dec 11h
    076F 0E inc r6
    0770 01 10 ajmp 10h
    0772 01 0F ajmp Fh
    0774 0C inc r4
    0775 16 dec @r0
    0776 04 inc a
    0777 0A inc r2
    0778 11 0E acall Eh
    077A 1F dec r7
    077B 10 04 01 jbc 20h.4, 077Fh
    077E 1F dec r7
    077F 00 nop
    0780 00 nop
    0781 00 nop
    0782 00 nop
    0783 00 nop
    0784 00 nop
    0785 00 nop
    0786 00 nop
    0787 00 nop
    0788 00 nop
    0789 00 nop
    078A 00 nop
    078B 00 nop
    078C 00 nop
    078D 00 nop
    078E 00 nop
    078F 00 nop
    0790 00 nop
    0791 00 nop
    0792 00 nop
    0793 00 nop
    0794 00 nop
    0795 00 nop
    0796 00 nop
    0797 00 nop
    0798 00 nop
    0799 00 nop
    079A 00 nop
    079B 00 nop
    079C 00 nop
    079D 00 nop
    079E 00 nop
    079F 00 nop
    07A0 00 nop
    07A1 00 nop
    07A2 00 nop
    07A3 00 nop
    07A4 00 nop
    07A5 00 nop
    07A6 00 nop
    07A7 00 nop
    07A8 00 nop
    07A9 00 nop
    07AA 00 nop
    07AB 00 nop
    07AC 00 nop
    07AD 00 nop
    07AE 00 nop
    07AF 00 nop
    07B0 00 nop
    07B1 00 nop
    07B2 00 nop
    07B3 00 nop
    07B4 00 nop
    07B5 00 nop
    07B6 00 nop
    07B7 00 nop
    07B8 00 nop
    07B9 00 nop
    07BA 00 nop
    07BB 00 nop
    07BC 00 nop
    07BD 00 nop
    07BE 00 nop
    07BF 00 nop
    07C0 00 nop
    07C1 00 nop
    07C2 00 nop
    07C3 00 nop
    07C4 00 nop
    07C5 00 nop
    07C6 00 nop
    07C7 00 nop
    07C8 00 nop
    07C9 00 nop
    07CA 00 nop
    07CB 00 nop
    07CC 00 nop
    07CD 00 nop
    07CE 00 nop
    07CF 00 nop
    07D0 00 nop
    07D1 00 nop
    07D2 00 nop
    07D3 00 nop
    07D4 00 nop
    07D5 00 nop
    07D6 00 nop
    07D7 00 nop
    07D8 00 nop
    07D9 00 nop
    07DA 00 nop
    07DB 00 nop
    07DC 00 nop
    07DD 00 nop
    07DE 00 nop
    07DF 00 nop
    07E0 00 nop
    07E1 00 nop
    07E2 00 nop
    07E3 00 nop
    07E4 00 nop
    07E5 00 nop
    07E6 00 nop
    07E7 00 nop
    07E8 00 nop
    07E9 00 nop
    07EA 00 nop
    07EB 00 nop
    07EC 00 nop
    07ED 00 nop
    07EE 00 nop
    07EF 00 nop
    07F0 00 nop
    07F1 00 nop
    07F2 00 nop
    07F3 00 nop
    07F4 00 nop
    07F5 00 nop
    07F6 00 nop
    07F7 00 nop
    07F8 00 nop
    07F9 00 nop
    07FA 00 nop
    07FB 00 nop
    07FC 00 nop
    07FD 00 nop
    07FE 00 nop
    07FF 00 nop
    0800 75 19 00 mov 19h, #00h ; 0d
    0803 75 1A 80 mov 1Ah, #80h ; 128d = '€'
    0806 75 89 22 mov TMOD, #22h ; 34d = '"'
    0809 75 8C 00 mov TH0, #00h ; 0d
    080C 75 8D F4 mov TH1, #F4h ; 244d = 'ô'
    080F 75 88 50 mov TCON, #50h ; 80d = 'P'
    0812 75 98 70 mov SCON, #70h ; 112d = 'p'
    0815 75 A8 90 mov IE, #90h ; 144d = 'Â'
    0818 D2 BC setb PS
    081A 75 90 00 mov P1, #00h ; 0d
    081D 75 20 50 mov 20h, #50h ; 80d = 'P'
    0820 7A 00 mov r2, #00h ; 0d
    0822 11 FA acall 8FAh
    0824 7A FF mov r2, #FFh ; 255d = 'ÿ'
    0826 11 FA acall 8FAh
    0828 7A 55 mov r2, #55h ; 85d = 'U'
    082A 11 FA acall 8FAh
    082C 7A AA mov r2, #AAh ; 170d = 'ª'
    082E 11 FA acall 8FAh
    0830 90 00 00 mov dptr, #0000h
    0833 74 52 mov a, #52h ; 82d = 'R'
    0835 F0 movx @dptr, a
    0836 05 82 inc DPL
    0838 74 54 mov a, #54h ; 84d = 'T'
    083A F0 movx @dptr, a
    083B 05 82 inc DPL
    083D E5 20 mov a, 20h
    083F F0 movx @dptr, a
    0840 05 82 inc DPL
    0842 74 FF mov a, #FFh ; 255d = 'ÿ'
    0844 F0 movx @dptr, a
    0845 75 20 02 mov 20h, #02h ; 2d
    0848 31 0D acall 90Dh
    084A 7A 07 mov r2, #07h ; 7d
    084C 7B 01 mov r3, #01h ; 1d
    084E 30 01 09 jnb 20h.1, 085Ah
    0851 11 8C acall 88Ch
    0853 0B inc r3
    0854 11 6C acall 86Ch
    0856 DA F6 djnz r2, 084Eh
    0858 7A 07 mov r2, #07h ; 7d
    085A 75 90 00 mov P1, #00h ; 0d
    085D 11 F5 acall 8F5h
    085F 11 6C acall 86Ch
    0861 12 08 F5 lcall 08F5h
    0864 DA F4 djnz r2, 085Ah
    0866 20 01 E1 jb 20h.1, 084Ah
    0869 80 ED sjmp 0858h
    086B 22 ret
    086C 8A 83 mov DPH, r2
    086E 78 13 mov r0, #13h ; 19d
    0870 75 82 00 mov DPL, #00h ; 0d
    0873 74 00 mov a, #00h ; 0d
    0875 F5 90 mov P1, a
    0877 75 2F 80 mov 2Fh, #80h ; 128d = '€'
    087A 43 A0 80 orl P2, #80h ; 128d = '€'
    087D E0 movx a, @dptr
    087E F2 movx @r0, a
    087F 05 82 inc DPL
    0881 D8 F4 djnz r0, 0877h
    0883 E0 movx a, @dptr
    0884 F2 movx @r0, a
    0885 E5 83 mov a, DPH
    0887 F5 2E mov 2Eh, a
    0889 F5 90 mov P1, a
    088B 22 ret
    088C 8A 2F mov 2Fh, r2
    088E 8A A0 mov P2, r2
    0890 75 26 80 mov 26h, #80h ; 128d = '€'
    0893 75 27 00 mov 27h, #00h ; 0d
    0896 78 2A mov r0, #2Ah ; 42d = '*'
    0898 79 14 mov r1, #14h ; 20d
    089A 11 C1 acall 8C1h
    089C C6 xch a, @r0
    089D 85 2E 90 mov P1, 2Eh
    08A0 11 BA acall 8BAh
    08A2 13 rrc a
    08A3 92 56 mov 2Ah.6, c
    08A5 13 rrc a
    08A6 92 57 mov 2Ah.7, c
    08A8 54 0F anl a, #0Fh ; 15d
    08AA C6 xch a, @r0
    08AB 11 BA acall 8BAh
    08AD C4 swap a
    08AE D6 xchd a, @r0
    08AF 75 90 00 mov P1, #00h ; 0d
    08B2 11 BA acall 8BAh
    08B4 23 rl a
    08B5 23 rl a
    08B6 46 orl a, @r0
    08B7 F6 mov @r0, a
    08B8 80 E0 sjmp 089Ah
    08BA F3 movx @r1, a
    08BB D9 04 djnz r1, 08C1h
    08BD E6 mov a, @r0
    08BE F3 movx @r1, a
    08BF 80 10 sjmp 08D1h
    08C1 85 27 83 mov DPH, 27h
    08C4 85 26 82 mov DPL, 26h
    08C7 E0 movx a, @dptr
    08C8 30 E7 0B jnb ACC.7, 08D6h
    08CB E6 mov a, @r0
    08CC F3 movx @r1, a
    08CD E4 clr a
    08CE D9 FC djnz r1, 08CCh
    08D0 F3 movx @r1, a
    08D1 15 81 dec SP
    08D3 15 81 dec SP
    08D5 22 ret
    08D6 F5 82 mov DPL, a
    08D8 8B 83 mov DPH, r3
    08DA 05 26 inc 26h
    08DC E5 26 mov a, 26h
    08DE E4 clr a
    08DF 93 movc a, @a+dptr
    08E0 54 3F anl a, #3Fh ; 63d = '?'
    08E2 22 ret
    08E3 85 2B 8C mov TH0, 2Bh
    08E6 E4 clr a
    08E7 7A 07 mov r2, #07h ; 7d
    08E9 8A 2F mov 2Fh, r2
    08EB 8A A0 mov P2, r2
    08ED 79 00 mov r1, #00h ; 0d
    08EF F3 movx @r1, a
    08F0 D9 FD djnz r1, 08EFh
    08F2 DA F5 djnz r2, 08E9h
    08F4 22 ret
    08F5 7E 00 mov r6, #00h ; 0d
    08F7 DE FE djnz r6, 08F7h ; Hier
    08F9 22 ret
    08FA 90 00 00 mov dptr, #0000h
    08FD EA mov a, r2
    08FE F0 movx @dptr, a
    08FF E0 movx a, @dptr
    0900 6A xrl a, r2
    0901 60 03 jz 0906h
    0903 75 20 46 mov 20h, #46h ; 70d = 'F'
    0906 A3 inc dptr
    0907 E5 83 mov a, DPH
    0909 B4 04 F1 cjne a, #04h, 08FDh ; 4d
    090C 22 ret
    090D 75 2F 00 mov 2Fh, #00h ; 0d
    0910 75 A0 00 mov P2, #00h ; 0d
    0913 E4 clr a
    0914 F8 mov r0, a
    0915 79 10 mov r1, #10h ; 16d
    0917 F2 movx @r0, a
    0918 14 dec a
    0919 54 7F anl a, #7Fh ; 127d = ''
    091B 18 dec r0
    091C C9 xch a, r1
    091D F2 movx @r0, a
    091E C9 xch a, r1
    091F D8 F6 djnz r0, 0917h
    0921 90 0F FF mov dptr, #0FFFh
    0924 74 FF mov a, #FFh ; 255d = 'ÿ'
    0926 F0 movx @dptr, a
    0927 A3 inc dptr
    0928 B5 82 FB cjne a, DPL, 0926h
    092B 90 00 00 mov dptr, #0000h
    092E E4 clr a
    092F F0 movx @dptr, a
    0930 A3 inc dptr
    0931 E5 83 mov a, DPH
    0933 30 E3 F8 jnb ACC.3, 092Eh
    0936 90 00 80 mov dptr, #0080h
    0939 75 A0 00 mov P2, #00h ; 0d
    093C 78 80 mov r0, #80h ; 128d = '€'
    093E 7A 1A mov r2, #1Ah ; 26d
    0940 E8 mov a, r0
    0941 93 movc a, @a+dptr
    0942 F2 movx @r0, a
    0943 08 inc r0
    0944 DA FA djnz r2, 0940h
    0946 74 FF mov a, #FFh ; 255d = 'ÿ'
    0948 F2 movx @r0, a
    0949 D2 01 setb 20h.1
    094B 22 ret
    094C 75 90 00 mov P1, #00h ; 0d
    094F 7A 07 mov r2, #07h ; 7d
    0951 78 00 mov r0, #00h ; 0d
    0953 74 55 mov a, #55h ; 85d = 'U'
    0955 12 09 92 lcall 0992h
    0958 F4 cpl a
    0959 DA FA djnz r2, 0955h
    095B 12 09 98 lcall 0998h
    095E 75 90 00 mov P1, #00h ; 0d
    0961 7A 07 mov r2, #07h ; 7d
    0963 74 AA mov a, #AAh ; 170d = 'ª'
    0965 12 09 92 lcall 0992h
    0968 F4 cpl a
    0969 DA FA djnz r2, 0965h
    096B 12 09 98 lcall 0998h
    096E 75 90 00 mov P1, #00h ; 0d
    0971 7A 07 mov r2, #07h ; 7d
    0973 74 FF mov a, #FFh ; 255d = 'ÿ'
    0975 12 09 92 lcall 0992h
    0978 DA FB djnz r2, 0975h
    097A 12 09 98 lcall 0998h
    097D 7D 20 mov r5, #20h ; 32d
    097F 75 90 00 mov P1, #00h ; 0d
    0982 7A 00 mov r2, #00h ; 0d
    0984 ED mov a, r5
    0985 12 09 92 lcall 0992h
    0988 12 09 AA lcall 09AAh
    098B 0D inc r5
    098C ED mov a, r5
    098D 30 E7 F5 jnb ACC.7, 0985h
    0990 80 BA sjmp 094Ch
    0992 8A A0 mov P2, r2
    0994 F2 movx @r0, a
    0995 D8 FD djnz r0, 0994h
    0997 22 ret
    0998 7C 00 mov r4, #00h ; 0d
    099A 7A 07 mov r2, #07h ; 7d
    099C 75 90 00 mov P1, #00h ; 0d
    099F 11 F5 acall 8F5h
    09A1 11 6C acall 86Ch
    09A3 11 F5 acall 8F5h
    09A5 DA F5 djnz r2, 099Ch
    09A7 DC F1 djnz r4, 099Ah
    09A9 22 ret
    09AA 7C 80 mov r4, #80h ; 128d = '€'
    09AC 7A 07 mov r2, #07h ; 7d
    09AE 7B 01 mov r3, #01h ; 1d
    09B0 11 8C acall 88Ch
    09B2 0B inc r3
    09B3 11 6C acall 86Ch
    09B5 DA F9 djnz r2, 09B0h
    09B7 DC F3 djnz r4, 09ACh
    09B9 22 ret
    09BA 00
    -->
    1FFF 00
     
  15. *snip code*

    That isn't a lot of code, so my guess would be that there is no ASCII
    or other fancy decoding built in, and the 8031 is a simply a "dumb"
    controller that downloads a memory image from the serial port and then
    scrolls it (or whatever). In this case you'll have to write your own
    PC application to control it.
    But that's just a guess of course.
    Good luck decoding it.

    Dave.
     
  16. Andy Wood

    Andy Wood Guest

    I've never programmed a 8031 or any of its relatives, but after a
    quick consultation with Mr G, I would guess it is at location 003B
    (reference to SBUF, aka SFR 99 = Serial Data Buffer).

    Could that be some 'command' decoding just beyond that?


    Andy Wood
     
  17. Yes, David, you are right......

    There doesn't appear to be any "smarts" within the EPROM itself, and the
    messages are all sent serially via the software I linked to in the original
    post.

    My problem is that the software fro the PC references the sign as "Sign
    One" - "Sign Ten" or "Broadcast Transmit" - which sends out a message to all
    signs in the list.
    I think this sign has been named something non-standard, and/or it is not
    controlled by 9600 buad, no parity, 1 stop, no h/s........but I have tried
    many, many other combos.

    Is there a way to work out what the EPROM is waiting to hear from the PC?

    #003Bh certainly looks like it is addressing some form of comms, and there
    are many references to port a and b in there.


    Regards, and thanks to all for your input!
     

  18. Sorry, I meant references to REGISTER a and REGISTER b, not port a/b
     
  19. Lord Garth

    Lord Garth Guest


    You are sending TTL level 0 to 5V serial data aren't you? The on-chip
    serial port does not send +12V to -12V signals.

    I haven't read anything where you detail this bit of info.
     
  20. G'day Lord Darth.....

    In the original post, I have made comment that the controller for the sign
    uses a TC232CPE level converter - it does the rs232 - TTL level conversion
    and then that output goes to the 8031 processor.

    There is only a serial INPUT, no output back to the PC at all - The sign is
    just acting as a slave being driven by the software on the PC.

    I have confirmed that the level converter IC is working..... -10 or so volts
    from the PC gives 4.97V at the output of the IC, and +10 or so volts from
    the PC gives close enough to 0V at the output of the IC.

    I'm going to hookup a null modem cable between 2 PC's and use something like
    HYPER TERMINAL to see exactly what the software is outputting over the
    serial port so that I can look for that in the EPROM code.

    There must be a command/commands that the sign is waiting for and not
    receiving (so as to initialise it and open comms), as it just sits there
    displaying the serial number "000618" which is coded into the EPROM.

    CHEERS!
     
Ask a Question
Want to reply to this thread or ask your own question?
You'll need to choose a username for the site, which only take a couple of moments (here). After that, you can post your question and our members will help you out.
Electronics Point Logo
Continue to site
Quote of the day

-