More Front Panel improvements
This commit is contained in:
parent
caf0a728f8
commit
d5c7bf0b5d
23 changed files with 1514 additions and 1281 deletions
|
|
@ -1,89 +1,90 @@
|
||||||
{"load":0xC000 /*140000*/,"exec":0xC000 /*140000*/,
|
{"load":0xC000 /*140000*/,"exec":0xC000 /*140000*/,
|
||||||
"words":[
|
"words":[
|
||||||
0x0005 /*000005*/,0x0A1F /*005037*/,0xFFFE /*177776*/,0x15C6 /*012706*/,0xC000 /*140000*/,0x0A1F /*005037*/,0xFF74 /*177564*/,0x15C0 /*012700*/,
|
0x0005 /*000005*/,0x0A1F /*005037*/,0xFFFE /*177776*/,0x15C6 /*012706*/,0xC000 /*140000*/,0x0A1F /*005037*/,0xFF74 /*177564*/,0x15C0 /*012700*/,
|
||||||
0xC251 /*141121*/,0x09F7 /*004767*/,0x0052 /*000122*/,0x15DF /*012737*/,0xC054 /*140124*/,0x0040 /*000100*/,0x15DF /*012737*/,0x00E0 /*000340*/,
|
0xC255 /*141125*/,0x09F7 /*004767*/,0x0056 /*000126*/,0x15DF /*012737*/,0xC058 /*140130*/,0x0040 /*000100*/,0x15DF /*012737*/,0x00E0 /*000340*/,
|
||||||
0x0042 /*000102*/,0x55DF /*052737*/,0x0040 /*000100*/,0xFF66 /*177546*/,0x15C0 /*012700*/,0xC269 /*141151*/,0x09F7 /*004767*/,0x0038 /*000070*/,
|
0x0042 /*000102*/,0x55DF /*052737*/,0x0040 /*000100*/,0xFF66 /*177546*/,0x15C0 /*012700*/,0xC26D /*141155*/,0x09F7 /*004767*/,0x003C /*000074*/,
|
||||||
0xE5C6 /*162706*/,0x00AE /*000256*/,0x1180 /*010600*/,0x09F7 /*004767*/,0x006A /*000152*/,0x0A00 /*005000*/,0x0001 /*000001*/,0x0A80 /*005200*/,
|
0xE5C6 /*162706*/,0x00AE /*000256*/,0x1180 /*010600*/,0x09F7 /*004767*/,0x006E /*000156*/,0x0A00 /*005000*/,0x101F /*010037*/,0xFF78 /*177570*/,
|
||||||
0x0BF7 /*005767*/,0x000C /*000014*/,0x03FB /*001773*/,0x15E6 /*012746*/,0x5800 /*054000*/,0x1DE6 /*016746*/,0x0002 /*000002*/,0x0002 /*000002*/,
|
0x0001 /*000001*/,0x0A80 /*005200*/,0x0BF7 /*005767*/,0x000C /*000014*/,0x03F9 /*001771*/,0x15E6 /*012746*/,0x5800 /*054000*/,0x1DE6 /*016746*/,
|
||||||
0x0000 /*000000*/,0x0000 /*000000*/,0x0AB7 /*005267*/,0xFFFA /*177772*/,0x0002 /*000002*/,0x8BDF /*105737*/,0xFF74 /*177564*/,0x80FD /*100375*/,
|
0x0002 /*000002*/,0x0002 /*000002*/,0x0000 /*000000*/,0x0000 /*000000*/,0x0AB7 /*005267*/,0xFFFA /*177772*/,0x0002 /*000002*/,0x8BDF /*105737*/,
|
||||||
0x901F /*110037*/,0xFF76 /*177566*/,0x0087 /*000207*/,0x0000 /*000000*/,0xB5DF /*132737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x02FC /*001374*/,
|
0xFF74 /*177564*/,0x80FD /*100375*/,0x901F /*110037*/,0xFF76 /*177566*/,0x0087 /*000207*/,0x0000 /*000000*/,0xB5DF /*132737*/,0x0040 /*000100*/,
|
||||||
0x1037 /*010067*/,0xFFF2 /*177762*/,0x15DF /*012737*/,0xC088 /*140210*/,0x0034 /*000064*/,0x15DF /*012737*/,0x0080 /*000200*/,0x0036 /*000066*/,
|
0xFF74 /*177564*/,0x02FC /*001374*/,0x1037 /*010067*/,0xFFF2 /*177762*/,0x15DF /*012737*/,0xC08C /*140214*/,0x0034 /*000064*/,0x15DF /*012737*/,
|
||||||
0xD5DF /*152737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x0087 /*000207*/,0x8BFF /*105777*/,0xFFDA /*177732*/,0x0306 /*001406*/,0x9FDF /*117737*/,
|
0x0080 /*000200*/,0x0036 /*000066*/,0xD5DF /*152737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x0087 /*000207*/,0x8BFF /*105777*/,0xFFDA /*177732*/,
|
||||||
0xFFD4 /*177724*/,0xFF76 /*177566*/,0x0AB7 /*005267*/,0xFFCE /*177716*/,0x0002 /*000002*/,0x8A1F /*105037*/,0xFF74 /*177564*/,0x0002 /*000002*/,
|
0x0306 /*001406*/,0x9FDF /*117737*/,0xFFD4 /*177724*/,0xFF76 /*177566*/,0x0AB7 /*005267*/,0xFFCE /*177716*/,0x0002 /*000002*/,0x8A1F /*105037*/,
|
||||||
0x0000 /*000000*/,0x0000 /*000000*/,0x1037 /*010067*/,0xFFF8 /*177770*/,0x0A37 /*005067*/,0xFFF6 /*177766*/,0x15DF /*012737*/,0xC0C0 /*140300*/,
|
0xFF74 /*177564*/,0x0002 /*000002*/,0x0000 /*000000*/,0x0000 /*000000*/,0x1037 /*010067*/,0xFFF8 /*177770*/,0x0A37 /*005067*/,0xFFF6 /*177766*/,
|
||||||
0x0030 /*000060*/,0x15DF /*012737*/,0x0080 /*000200*/,0x0032 /*000062*/,0xD5DF /*152737*/,0x0040 /*000100*/,0xFF70 /*177560*/,0x0087 /*000207*/,
|
0x15DF /*012737*/,0xC0C4 /*140304*/,0x0030 /*000060*/,0x15DF /*012737*/,0x0080 /*000200*/,0x0032 /*000062*/,0xD5DF /*152737*/,0x0040 /*000100*/,
|
||||||
0x1026 /*010046*/,0x97C0 /*113700*/,0xFF72 /*177562*/,0xA017 /*120027*/,0x000D /*000015*/,0x032D /*001455*/,0xA017 /*120027*/,0x007F /*000177*/,
|
0xFF70 /*177560*/,0x0087 /*000207*/,0x1026 /*010046*/,0x97C0 /*113700*/,0xFF72 /*177562*/,0xA017 /*120027*/,0x000D /*000015*/,0x032D /*001455*/,
|
||||||
0x0303 /*001403*/,0xA017 /*120027*/,0x0008 /*000010*/,0x020A /*001012*/,0x0BF7 /*005767*/,0xFFC6 /*177706*/,0x0306 /*001406*/,0x0AF7 /*005367*/,
|
0xA017 /*120027*/,0x007F /*000177*/,0x0303 /*001403*/,0xA017 /*120027*/,0x0008 /*000010*/,0x020A /*001012*/,0x0BF7 /*005767*/,0xFFC6 /*177706*/,
|
||||||
0xFFC0 /*177700*/,0x15C0 /*012700*/,0xC21F /*141037*/,0x09F7 /*004767*/,0xFF7E /*177576*/,0x012B /*000453*/,0xA017 /*120027*/,0x0020 /*000040*/,
|
0x0306 /*001406*/,0x0AF7 /*005367*/,0xFFC0 /*177700*/,0x15C0 /*012700*/,0xC223 /*141043*/,0x09F7 /*004767*/,0xFF7E /*177576*/,0x012B /*000453*/,
|
||||||
0x0528 /*002450*/,0xA017 /*120027*/,0x007F /*000177*/,0x0425 /*002045*/,0x09F7 /*004767*/,0xFF5E /*177536*/,0xA017 /*120027*/,0x007A /*000172*/,
|
0xA017 /*120027*/,0x0020 /*000040*/,0x0528 /*002450*/,0xA017 /*120027*/,0x007F /*000177*/,0x0425 /*002045*/,0x09F7 /*004767*/,0xFF5E /*177536*/,
|
||||||
0x0605 /*003005*/,0xA017 /*120027*/,0x0061 /*000141*/,0x0502 /*002402*/,0xC5C0 /*142700*/,0x0020 /*000040*/,0x2DD7 /*026727*/,0xFF92 /*177622*/,
|
0xA017 /*120027*/,0x007A /*000172*/,0x0605 /*003005*/,0xA017 /*120027*/,0x0061 /*000141*/,0x0502 /*002402*/,0xC5C0 /*142700*/,0x0020 /*000040*/,
|
||||||
0x00AC /*000254*/,0x0417 /*002027*/,0x9026 /*110046*/,0x1DC0 /*016700*/,0xFF86 /*177606*/,0x6DC0 /*066700*/,0xFF84 /*177604*/,0x9588 /*112610*/,
|
0x2DD7 /*026727*/,0xFF92 /*177622*/,0x00AC /*000254*/,0x0417 /*002027*/,0x9026 /*110046*/,0x1DC0 /*016700*/,0xFF86 /*177606*/,0x6DC0 /*066700*/,
|
||||||
0x0AB7 /*005267*/,0xFF7E /*177576*/,0x010E /*000416*/,0x1DC0 /*016700*/,0xFF76 /*177566*/,0x6DC0 /*066700*/,0xFF74 /*177564*/,0x8A08 /*105010*/,
|
0xFF84 /*177604*/,0x9588 /*112610*/,0x0AB7 /*005267*/,0xFF7E /*177576*/,0x010E /*000416*/,0x1DC0 /*016700*/,0xFF76 /*177566*/,0x6DC0 /*066700*/,
|
||||||
0x15DF /*012737*/,0xC146 /*140506*/,0x00A0 /*000240*/,0x15DF /*012737*/,0x0040 /*000100*/,0x00A2 /*000242*/,0x15DF /*012737*/,0x0400 /*002000*/,
|
0xFF74 /*177564*/,0x8A08 /*105010*/,0x15DF /*012737*/,0xC14A /*140512*/,0x00A0 /*000240*/,0x15DF /*012737*/,0x0040 /*000100*/,0x00A2 /*000242*/,
|
||||||
0xFFFA /*177772*/,0x1580 /*012600*/,0x0002 /*000002*/,0x0A1F /*005037*/,0xFFFA /*177772*/,0x1026 /*010046*/,0x1066 /*010146*/,0x10A6 /*010246*/,
|
0x15DF /*012737*/,0x0400 /*002000*/,0xFFFA /*177772*/,0x1580 /*012600*/,0x0002 /*000002*/,0x0A1F /*005037*/,0xFFFA /*177772*/,0x1026 /*010046*/,
|
||||||
0x10E6 /*010346*/,0x1126 /*010446*/,0x15C0 /*012700*/,0xC21C /*141034*/,0x09F7 /*004767*/,0xFF0C /*177414*/,0xB5DF /*132737*/,0x0040 /*000100*/,
|
0x1066 /*010146*/,0x10A6 /*010246*/,0x10E6 /*010346*/,0x1126 /*010446*/,0x15C0 /*012700*/,0xC220 /*141040*/,0x09F7 /*004767*/,0xFF0C /*177414*/,
|
||||||
0xFF74 /*177564*/,0x02FC /*001374*/,0x0A04 /*005004*/,0x15C3 /*012703*/,0xC223 /*141043*/,0x94C0 /*112300*/,0x0319 /*001431*/,0x1DC2 /*016702*/,
|
0xB5DF /*132737*/,0x0040 /*000100*/,0xFF74 /*177564*/,0x02FC /*001374*/,0x0A04 /*005004*/,0x15C3 /*012703*/,0xC227 /*141047*/,0x94C0 /*112300*/,
|
||||||
0xFF2E /*177456*/,0x9481 /*112201*/,0x0319 /*001431*/,0xA057 /*120127*/,0x0020 /*000040*/,0x03FB /*001773*/,0xA001 /*120001*/,0x0208 /*001010*/,
|
0x0319 /*001431*/,0x1DC2 /*016702*/,0xFF2E /*177456*/,0x9481 /*112201*/,0x0319 /*001431*/,0xA057 /*120127*/,0x0020 /*000040*/,0x03FB /*001773*/,
|
||||||
0x94C0 /*112300*/,0x030A /*001412*/,0x9481 /*112201*/,0x0308 /*001410*/,0xA057 /*120127*/,0x0020 /*000040*/,0x02F7 /*001367*/,0x0104 /*000404*/,
|
0xA001 /*120001*/,0x0208 /*001010*/,0x94C0 /*112300*/,0x030A /*001412*/,0x9481 /*112201*/,0x0308 /*001410*/,0xA057 /*120127*/,0x0020 /*000040*/,
|
||||||
0x94C0 /*112300*/,0x02FE /*001376*/,0x0A84 /*005204*/,0x01E9 /*000751*/,0x0CC4 /*006304*/,0x09FC /*004774*/,0xC1C0 /*140700*/,0x0104 /*000404*/,
|
0x02F7 /*001367*/,0x0104 /*000404*/,0x94C0 /*112300*/,0x02FE /*001376*/,0x0A84 /*005204*/,0x01E9 /*000751*/,0x0CC4 /*006304*/,0x09FC /*004774*/,
|
||||||
0x15C0 /*012700*/,0xC23F /*141077*/,0x09F7 /*004767*/,0xFEC0 /*177300*/,0x0A37 /*005067*/,0xFEF6 /*177366*/,0x15C0 /*012700*/,0xC269 /*141151*/,
|
0xC1C4 /*140704*/,0x0104 /*000404*/,0x15C0 /*012700*/,0xC243 /*141103*/,0x09F7 /*004767*/,0xFEC0 /*177300*/,0x0A37 /*005067*/,0xFEF6 /*177366*/,
|
||||||
0x09F7 /*004767*/,0xFEB4 /*177264*/,0x1584 /*012604*/,0x1583 /*012603*/,0x1582 /*012602*/,0x1581 /*012601*/,0x1580 /*012600*/,0x0002 /*000002*/,
|
0x15C0 /*012700*/,0xC26D /*141155*/,0x09F7 /*004767*/,0xFEB4 /*177264*/,0x1584 /*012604*/,0x1583 /*012603*/,0x1582 /*012602*/,0x1581 /*012601*/,
|
||||||
0xC428 /*142050*/,0xC2A4 /*141244*/,0xC2B0 /*141260*/,0xC2F4 /*141364*/,0xC29A /*141232*/,0x4F43 /*047503*/,0x4D4D /*046515*/,0x4E41 /*047101*/,
|
0x1580 /*012600*/,0x0002 /*000002*/,0xC42C /*142054*/,0xC2A8 /*141250*/,0xC2B4 /*141264*/,0xC2F8 /*141370*/,0xC29E /*141236*/,0x4F43 /*047503*/,
|
||||||
0x5344 /*051504*/,0x4120 /*040440*/,0x4552 /*042522*/,0x4220 /*041040*/,0x4F4F /*047517*/,0x2C54 /*026124*/,0x4820 /*044040*/,0x4C41 /*046101*/,
|
0x4D4D /*046515*/,0x4E41 /*047101*/,0x5344 /*051504*/,0x4120 /*040440*/,0x4552 /*042522*/,0x4220 /*041040*/,0x4F4F /*047517*/,0x2C54 /*026124*/,
|
||||||
0x2C54 /*026124*/,0x4C20 /*046040*/,0x4749 /*043511*/,0x5448 /*052110*/,0x2C53 /*026123*/,0x5420 /*052040*/,0x5345 /*051505*/,0x2054 /*020124*/,
|
0x4820 /*044040*/,0x4C41 /*046101*/,0x2C54 /*026124*/,0x4C20 /*046040*/,0x4749 /*043511*/,0x5448 /*052110*/,0x2C53 /*026123*/,0x5420 /*052040*/,
|
||||||
0x4E41 /*047101*/,0x2044 /*020104*/,0x4548 /*042510*/,0x504C /*050114*/,0x0A0D /*005015*/,0x4F42 /*047502*/,0x544F /*052117*/,0x4420 /*042040*/,
|
0x5345 /*051505*/,0x2054 /*020124*/,0x4E41 /*047101*/,0x2044 /*020104*/,0x4548 /*042510*/,0x504C /*050114*/,0x0A0D /*005015*/,0x4F42 /*047502*/,
|
||||||
0x5645 /*053105*/,0x4349 /*041511*/,0x5345 /*051505*/,0x4120 /*040440*/,0x4552 /*042522*/,0x5220 /*051040*/,0x3F4B /*037513*/,0x5220 /*051040*/,
|
0x544F /*052117*/,0x4420 /*042040*/,0x5645 /*053105*/,0x4349 /*041511*/,0x5345 /*051505*/,0x4120 /*040440*/,0x4552 /*042522*/,0x5220 /*051040*/,
|
||||||
0x3F4C /*037514*/,0x4F20 /*047440*/,0x2052 /*020122*/,0x5052 /*050122*/,0x0D3F /*006477*/,0x000A /*000012*/,0x0A0D /*005015*/,0x0800 /*004000*/,
|
0x3F4B /*037513*/,0x5220 /*051040*/,0x3F4C /*037514*/,0x4F20 /*047440*/,0x2052 /*020122*/,0x5052 /*050122*/,0x0D3F /*006477*/,0x000A /*000012*/,
|
||||||
0x0820 /*004040*/,0x4200 /*041000*/,0x4F4F /*047517*/,0x0054 /*000124*/,0x4148 /*040510*/,0x544C /*052114*/,0x5400 /*052000*/,0x5345 /*051505*/,
|
0x0A0D /*005015*/,0x0800 /*004000*/,0x0820 /*004040*/,0x4200 /*041000*/,0x4F4F /*047517*/,0x0054 /*000124*/,0x4148 /*040510*/,0x544C /*052114*/,
|
||||||
0x0054 /*000124*/,0x494C /*044514*/,0x4847 /*044107*/,0x5354 /*051524*/,0x4800 /*044000*/,0x4C45 /*046105*/,0x0050 /*000120*/,0x5500 /*052400*/,
|
0x5400 /*052000*/,0x5345 /*051505*/,0x0054 /*000124*/,0x494C /*044514*/,0x4847 /*044107*/,0x5354 /*051524*/,0x4800 /*044000*/,0x4C45 /*046105*/,
|
||||||
0x4B4E /*045516*/,0x4F4E /*047516*/,0x4E57 /*047127*/,0x4320 /*041440*/,0x4D4F /*046517*/,0x414D /*040515*/,0x444E /*042116*/,0x0D0A /*006412*/,
|
0x0050 /*000120*/,0x5500 /*052400*/,0x4B4E /*045516*/,0x4F4E /*047516*/,0x4E57 /*047127*/,0x4320 /*041440*/,0x4D4F /*046517*/,0x414D /*040515*/,
|
||||||
0x5000 /*050000*/,0x5044 /*050104*/,0x312D /*030455*/,0x2031 /*020061*/,0x4F4D /*047515*/,0x494E /*044516*/,0x4F54 /*047524*/,0x2052 /*020122*/,
|
0x444E /*042116*/,0x0D0A /*006412*/,0x5000 /*050000*/,0x5044 /*050104*/,0x312D /*030455*/,0x2031 /*020061*/,0x4F4D /*047515*/,0x494E /*044516*/,
|
||||||
0x3156 /*030526*/,0x302E /*030056*/,0x0D0A /*006412*/,0x0D0A /*006412*/,0x4200 /*041000*/,0x4F4F /*047517*/,0x3E54 /*037124*/,0x0020 /*000040*/,
|
0x4F54 /*047524*/,0x2052 /*020122*/,0x3156 /*030526*/,0x302E /*030056*/,0x0D0A /*006412*/,0x0D0A /*006412*/,0x4200 /*041000*/,0x4F4F /*047517*/,
|
||||||
0x4E55 /*047125*/,0x4E4B /*047113*/,0x574F /*053517*/,0x204E /*020116*/,0x4F42 /*047502*/,0x544F /*052117*/,0x4420 /*042040*/,0x5645 /*053105*/,
|
0x3E54 /*037124*/,0x0020 /*000040*/,0x4E55 /*047125*/,0x4E4B /*047113*/,0x574F /*053517*/,0x204E /*020116*/,0x4F42 /*047502*/,0x544F /*052117*/,
|
||||||
0x4349 /*041511*/,0x0A45 /*005105*/,0x000D /*000015*/,0x2020 /*020040*/,0x2020 /*020040*/,0x2020 /*020040*/,0x4C43 /*046103*/,0x434F /*041517*/,
|
0x4420 /*042040*/,0x5645 /*053105*/,0x4349 /*041511*/,0x0A45 /*005105*/,0x000D /*000015*/,0x2020 /*020040*/,0x2020 /*020040*/,0x2020 /*020040*/,
|
||||||
0x204B /*020113*/,0x4954 /*044524*/,0x4B43 /*045503*/,0x0A53 /*005123*/,0x000D /*000015*/,0x15C0 /*012700*/,0xC1CA /*140712*/,0x09F7 /*004767*/,
|
0x4C43 /*046103*/,0x434F /*041517*/,0x204B /*020113*/,0x4954 /*044524*/,0x4B43 /*045503*/,0x0A53 /*005123*/,0x000D /*000015*/,0x15C0 /*012700*/,
|
||||||
0xFDC6 /*176706*/,0x0087 /*000207*/,0x0000 /*000000*/,0x15C0 /*012700*/,0xC21C /*141034*/,0x09F7 /*004767*/,0xFDBA /*176672*/,0x0087 /*000207*/,
|
0xC1CE /*140716*/,0x09F7 /*004767*/,0xFDC6 /*176706*/,0x0087 /*000207*/,0x0000 /*000000*/,0x15C0 /*012700*/,0xC220 /*141040*/,0x09F7 /*004767*/,
|
||||||
0x0A37 /*005067*/,0xFD9E /*176636*/,0x15C5 /*012705*/,0x1A00 /*015000*/,0x115F /*010537*/,0xFF78 /*177570*/,0x1144 /*010504*/,0x0C84 /*006204*/,
|
0xFDBA /*176672*/,0x0087 /*000207*/,0x0A37 /*005067*/,0xFD9E /*176636*/,0x15C5 /*012705*/,0x1A00 /*015000*/,0x115F /*010537*/,0xFF78 /*177570*/,
|
||||||
0x0A00 /*005000*/,0x1141 /*010501*/,0x7204 /*071004*/,0x1002 /*010002*/,0x7084 /*070204*/,0x60C1 /*060301*/,0x2045 /*020105*/,0x0301 /*001401*/,
|
0x1144 /*010504*/,0x0C84 /*006204*/,0x0A00 /*005000*/,0x1141 /*010501*/,0x7204 /*071004*/,0x1002 /*010002*/,0x7084 /*070204*/,0x60C1 /*060301*/,
|
||||||
0x0000 /*000000*/,0x7F0A /*077412*/,0x7F4F /*077517*/,0x15C0 /*012700*/,0xC28B /*141213*/,0x1DC3 /*016703*/,0xFD74 /*176564*/,0x0A02 /*005002*/,
|
0x2045 /*020105*/,0x0301 /*001401*/,0x0000 /*000000*/,0x7F0A /*077412*/,0x7F4F /*077517*/,0x15C0 /*012700*/,0xC28F /*141217*/,0x1DC3 /*016703*/,
|
||||||
0x7297 /*071227*/,0x0008 /*000010*/,0x65C3 /*062703*/,0x0030 /*000060*/,0x90E0 /*110340*/,0x1083 /*010203*/,0x02F8 /*001370*/,0x09F7 /*004767*/,
|
0xFD74 /*176564*/,0x0A02 /*005002*/,0x7297 /*071227*/,0x0008 /*000010*/,0x65C3 /*062703*/,0x0030 /*000060*/,0x90E0 /*110340*/,0x1083 /*010203*/,
|
||||||
0xFD76 /*176566*/,0x0087 /*000207*/,0x15C3 /*012703*/,0x7F06 /*077406*/,0x0A02 /*005002*/,0x0A01 /*005001*/,0x15C0 /*012700*/,0x0008 /*000010*/,
|
0x02F8 /*001370*/,0x09F7 /*004767*/,0xFD76 /*176566*/,0x0087 /*000207*/,0x15C3 /*012703*/,0x7F06 /*077406*/,0x0A02 /*005002*/,0x0A01 /*005001*/,
|
||||||
0x10F1 /*010361*/,0xF4C0 /*172300*/,0x10B1 /*010261*/,0xF4E0 /*172340*/,0x10F1 /*010361*/,0xF4D0 /*172320*/,0x10B1 /*010261*/,0xF4F0 /*172360*/,
|
0x15C0 /*012700*/,0x0008 /*000010*/,0x10F1 /*010361*/,0xF4C0 /*172300*/,0x10B1 /*010261*/,0xF4E0 /*172340*/,0x10F1 /*010361*/,0xF4D0 /*172320*/,
|
||||||
0x10F1 /*010361*/,0xF480 /*172200*/,0x10B1 /*010261*/,0xF4A0 /*172240*/,0x10F1 /*010361*/,0xF490 /*172220*/,0x10B1 /*010261*/,0xF4B0 /*172260*/,
|
0x10B1 /*010261*/,0xF4F0 /*172360*/,0x10F1 /*010361*/,0xF480 /*172200*/,0x10B1 /*010261*/,0xF4A0 /*172240*/,0x10F1 /*010361*/,0xF490 /*172220*/,
|
||||||
0x10F1 /*010361*/,0xFF80 /*177600*/,0x10B1 /*010261*/,0xFFA0 /*177640*/,0x10F1 /*010361*/,0xFF90 /*177620*/,0x10F1 /*010361*/,0xFFB0 /*177660*/,
|
0x10B1 /*010261*/,0xF4B0 /*172260*/,0x10F1 /*010361*/,0xFF80 /*177600*/,0x10B1 /*010261*/,0xFFA0 /*177640*/,0x10F1 /*010361*/,0xFF90 /*177620*/,
|
||||||
0x65C2 /*062702*/,0x0080 /*000200*/,0x65C1 /*062701*/,0x0002 /*000002*/,0x7E1D /*077035*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xF4FE /*172376*/,
|
0x10F1 /*010361*/,0xFFB0 /*177660*/,0x65C2 /*062702*/,0x0080 /*000200*/,0x65C1 /*062701*/,0x0002 /*000002*/,0x7E1D /*077035*/,0x55DF /*052737*/,
|
||||||
0x55DF /*052737*/,0xFC00 /*176000*/,0xF4BE /*172276*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xFFBE /*177676*/,0x15DF /*012737*/,0x003F /*000077*/,
|
0xFC00 /*176000*/,0xF4FE /*172376*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xF4BE /*172276*/,0x55DF /*052737*/,0xFC00 /*176000*/,0xFFBE /*177676*/,
|
||||||
0xF54E /*172516*/,0x15DF /*012737*/,0x0001 /*000001*/,0xFF7A /*177572*/,0x15DF /*012737*/,0x03C0 /*001700*/,0xF4A4 /*172244*/,0x15DF /*012737*/,
|
0x15DF /*012737*/,0x003F /*000077*/,0xF54E /*172516*/,0x15DF /*012737*/,0x0001 /*000001*/,0xFF7A /*177572*/,0x15DF /*012737*/,0x03C0 /*001700*/,
|
||||||
0x03C0 /*001700*/,0xF4B4 /*172264*/,0x15DF /*012737*/,0x1000 /*010000*/,0xFFFE /*177776*/,0x15C3 /*012703*/,0x4080 /*040200*/,0x15C2 /*012702*/,
|
0xF4A4 /*172244*/,0x15DF /*012737*/,0x03C0 /*001700*/,0xF4B4 /*172264*/,0x15DF /*012737*/,0x1000 /*010000*/,0xFFFE /*177776*/,0x15C3 /*012703*/,
|
||||||
0xC384 /*141604*/,0x14A6 /*012246*/,0x0D93 /*006623*/,0x2097 /*020227*/,0xC428 /*142050*/,0x87FB /*103773*/,0x15F7 /*012767*/,0x4080 /*040200*/,
|
0x4080 /*040200*/,0x15C2 /*012702*/,0xC388 /*141610*/,0x14A6 /*012246*/,0x0D93 /*006623*/,0x2097 /*020227*/,0xC42C /*142054*/,0x87FB /*103773*/,
|
||||||
0xFCCE /*176316*/,0x0087 /*000207*/,0x15C0 /*012700*/,0x001F /*000037*/,0x15C1 /*012701*/,0xF800 /*174000*/,0x35DF /*032737*/,0x0001 /*000001*/,
|
0x15F7 /*012767*/,0x4080 /*040200*/,0xFCCE /*176316*/,0x0087 /*000207*/,0x15C0 /*012700*/,0x001F /*000037*/,0x15C1 /*012701*/,0xF800 /*174000*/,
|
||||||
0xFF78 /*177570*/,0x030C /*001414*/,0x15C0 /*012700*/,0x0F0F /*007417*/,0x1001 /*010001*/,0x0A41 /*005101*/,0x35DF /*032737*/,0x0002 /*000002*/,
|
0x35DF /*032737*/,0x0001 /*000001*/,0xFF78 /*177570*/,0x030C /*001414*/,0x15C0 /*012700*/,0x0F0F /*007417*/,0x1001 /*010001*/,0x0A41 /*005101*/,
|
||||||
0xFF78 /*177570*/,0x0304 /*001404*/,0x15C0 /*012700*/,0x3C73 /*036163*/,0x15C1 /*012701*/,0x3E00 /*037000*/,0x1042 /*010102*/,0xE5C2 /*162702*/,
|
0x35DF /*032737*/,0x0002 /*000002*/,0xFF78 /*177570*/,0x0304 /*001404*/,0x15C0 /*012700*/,0x3C73 /*036163*/,0x15C1 /*012701*/,0x3E00 /*037000*/,
|
||||||
0x0002 /*000002*/,0x45C2 /*042702*/,0x0001 /*000001*/,0x1083 /*010203*/,0x45C3 /*042703*/,0xFFC1 /*177701*/,0x15F3 /*012763*/,0x0001 /*000001*/,
|
0x1042 /*010102*/,0xE5C2 /*162702*/,0x0002 /*000002*/,0x45C2 /*042702*/,0x0001 /*000001*/,0x1083 /*010203*/,0x45C3 /*042703*/,0xFFC1 /*177701*/,
|
||||||
0x4000 /*040000*/,0x65C3 /*062703*/,0x0002 /*000002*/,0x15F3 /*012763*/,0x004B /*000113*/,0x4000 /*040000*/,0x1084 /*010204*/,0x7517 /*072427*/,
|
0x15F3 /*012763*/,0x0001 /*000001*/,0x4000 /*040000*/,0x65C3 /*062703*/,0x0002 /*000002*/,0x15F3 /*012763*/,0x004B /*000113*/,0x4000 /*040000*/,
|
||||||
0xFFFA /*177772*/,0x45C4 /*042704*/,0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,0x1084 /*010204*/,0x7517 /*072427*/,
|
0x1084 /*010204*/,0x7517 /*072427*/,0xFFFA /*177772*/,0x45C4 /*042704*/,0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,
|
||||||
0xFFF4 /*177764*/,0x45C4 /*042704*/,0xFFF1 /*177761*/,0x1174 /*010564*/,0xF4A0 /*172240*/,0x1043 /*010103*/,0x74D7 /*072327*/,0xFFF4 /*177764*/,
|
0x1084 /*010204*/,0x7517 /*072427*/,0xFFF4 /*177764*/,0x45C4 /*042704*/,0xFFF1 /*177761*/,0x1174 /*010564*/,0xF4A0 /*172240*/,0x1043 /*010103*/,
|
||||||
0x45C3 /*042703*/,0xFFF1 /*177761*/,0x20C4 /*020304*/,0x030A /*001412*/,0x1044 /*010104*/,0x7517 /*072427*/,0xFFFA /*177772*/,0x45C4 /*042704*/,
|
0x74D7 /*072327*/,0xFFF4 /*177764*/,0x45C3 /*042703*/,0xFFF1 /*177761*/,0x20C4 /*020304*/,0x030A /*001412*/,0x1044 /*010104*/,0x7517 /*072427*/,
|
||||||
0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,0x1173 /*010563*/,0xF4A0 /*172240*/,0x15C4 /*012704*/,0x0003 /*000003*/,
|
0xFFFA /*177772*/,0x45C4 /*042704*/,0xFF80 /*177600*/,0x15C5 /*012705*/,0x03C0 /*001700*/,0xE105 /*160405*/,0x1173 /*010563*/,0xF4A0 /*172240*/,
|
||||||
0x67C4 /*063704*/,0xFF78 /*177570*/,0x15C3 /*012703*/,0x0002 /*000002*/,0x61C3 /*060703*/,0x004A /*000112*/,0x7F02 /*077402*/,0x1002 /*010002*/,
|
0x15C4 /*012704*/,0x0003 /*000003*/,0x67C4 /*063704*/,0xFF78 /*177570*/,0x15C3 /*012703*/,0x0002 /*000002*/,0x61C3 /*060703*/,0x004A /*000112*/,
|
||||||
0x0C02 /*006002*/,0x0C41 /*006101*/,0x0C00 /*006000*/,0x01C2 /*000702*/,0x0A03 /*005003*/,0x9481 /*112201*/,0x0365 /*001545*/,0xA057 /*120127*/,
|
0x7F02 /*077402*/,0x1002 /*010002*/,0x0C02 /*006002*/,0x0C41 /*006101*/,0x0C00 /*006000*/,0x01C2 /*000702*/,0x0A03 /*005003*/,0x9481 /*112201*/,
|
||||||
0x0020 /*000040*/,0x03FB /*001773*/,0xA057 /*120127*/,0x0052 /*000122*/,0x0305 /*001405*/,0x15C0 /*012700*/,0xC270 /*141160*/,0x09F7 /*004767*/,
|
0x0365 /*001545*/,0xA057 /*120127*/,0x0020 /*000040*/,0x03FB /*001773*/,0xA057 /*120127*/,0x0052 /*000122*/,0x0305 /*001405*/,0x15C0 /*012700*/,
|
||||||
0xFC26 /*176046*/,0x0087 /*000207*/,0x9481 /*112201*/,0x9480 /*112200*/,0x030E /*001416*/,0xA017 /*120027*/,0x0020 /*000040*/,0x030B /*001413*/,
|
0xC274 /*141164*/,0x09F7 /*004767*/,0xFC26 /*176046*/,0x0087 /*000207*/,0x9481 /*112201*/,0x9480 /*112200*/,0x030E /*001416*/,0xA017 /*120027*/,
|
||||||
0xA017 /*120027*/,0x0037 /*000067*/,0x0619 /*003031*/,0xE5C0 /*162700*/,0x0030 /*000060*/,0x0516 /*002426*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,
|
0x0020 /*000040*/,0x030B /*001413*/,0xA017 /*120027*/,0x0037 /*000067*/,0x0619 /*003031*/,0xE5C0 /*162700*/,0x0030 /*000060*/,0x0516 /*002426*/,
|
||||||
0x0CC3 /*006303*/,0x5003 /*050003*/,0x01F0 /*000760*/,0x0A02 /*005002*/,0x15D2 /*012722*/,0x005F /*000137*/,0x15D2 /*012722*/,0xC000 /*140000*/,
|
0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x5003 /*050003*/,0x01F0 /*000760*/,0x0A02 /*005002*/,0x15D2 /*012722*/,0x005F /*000137*/,
|
||||||
0x15D2 /*012722*/,0xC000 /*140000*/,0x0A12 /*005022*/,0xA057 /*120127*/,0x004B /*000113*/,0x033E /*001476*/,0xA057 /*120127*/,0x004C /*000114*/,
|
0x15D2 /*012722*/,0xC000 /*140000*/,0x15D2 /*012722*/,0xC000 /*140000*/,0x0A12 /*005022*/,0xA057 /*120127*/,0x004B /*000113*/,0x033E /*001476*/,
|
||||||
0x0308 /*001410*/,0xA057 /*120127*/,0x0050 /*000120*/,0x034F /*001517*/,0x15C0 /*012700*/,0xC23F /*141077*/,0x09F7 /*004767*/,0xFBD8 /*175730*/,
|
0xA057 /*120127*/,0x004C /*000114*/,0x0308 /*001410*/,0xA057 /*120127*/,0x0050 /*000120*/,0x034F /*001517*/,0x15C0 /*012700*/,0xC243 /*141103*/,
|
||||||
0x0087 /*000207*/,0x0005 /*000005*/,0x00C3 /*000303*/,0x15C1 /*012701*/,0xF900 /*174400*/,0x15F1 /*012761*/,0x000B /*000013*/,0x0004 /*000004*/,
|
0x09F7 /*004767*/,0xFBD8 /*175730*/,0x0087 /*000207*/,0x0005 /*000005*/,0x00C3 /*000303*/,0x15C1 /*012701*/,0xF900 /*174400*/,0x15F1 /*012761*/,
|
||||||
0x55C3 /*052703*/,0x0004 /*000004*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A03 /*105003*/,0x55C3 /*052703*/,0x0008 /*000010*/,
|
0x000B /*000013*/,0x0004 /*000004*/,0x55C3 /*052703*/,0x0004 /*000004*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A03 /*105003*/,
|
||||||
0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x1C42 /*016102*/,0x0006 /*000006*/,0x45C2 /*042702*/,0x003F /*000077*/,0x0A82 /*005202*/,
|
0x55C3 /*052703*/,0x0008 /*000010*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x1C42 /*016102*/,0x0006 /*000006*/,0x45C2 /*042702*/,
|
||||||
0x10B1 /*010261*/,0x0004 /*000004*/,0x8A03 /*105003*/,0x55C3 /*052703*/,0x0006 /*000006*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,
|
0x003F /*000077*/,0x0A82 /*005202*/,0x10B1 /*010261*/,0x0004 /*000004*/,0x8A03 /*105003*/,0x55C3 /*052703*/,0x0006 /*000006*/,0x10C9 /*010311*/,
|
||||||
0x0A31 /*005061*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x15F1 /*012761*/,0xFE00 /*177000*/,0x0006 /*000006*/,0x8A03 /*105003*/,
|
0x8BC9 /*105711*/,0x80FE /*100376*/,0x0A31 /*005061*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x15F1 /*012761*/,0xFE00 /*177000*/,
|
||||||
0x55C3 /*052703*/,0x000C /*000014*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x45C9 /*042711*/,0x00FF /*000377*/,0x0A02 /*005002*/,
|
0x0006 /*000006*/,0x8A03 /*105003*/,0x55C3 /*052703*/,0x000C /*000014*/,0x10C9 /*010311*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x45C9 /*042711*/,
|
||||||
0x0A03 /*005003*/,0x0A04 /*005004*/,0x0A05 /*005005*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x00C3 /*000303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,
|
0x00FF /*000377*/,0x0A02 /*005002*/,0x0A03 /*005003*/,0x0A04 /*005004*/,0x0A05 /*005005*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x00C3 /*000303*/,
|
||||||
0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x15C1 /*012701*/,0xFF0A /*177412*/,0x10C9 /*010311*/,0x0A21 /*005041*/,0x15E1 /*012741*/,
|
0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x0CC3 /*006303*/,0x15C1 /*012701*/,0xFF0A /*177412*/,0x10C9 /*010311*/,
|
||||||
0xFE00 /*177000*/,0x15E1 /*012741*/,0x0005 /*000005*/,0x0A02 /*005002*/,0x0A03 /*005003*/,0x0A04 /*005004*/,0x0A05 /*005005*/,0x8BC9 /*105711*/,
|
0x0A21 /*005041*/,0x15E1 /*012741*/,0xFE00 /*177000*/,0x15E1 /*012741*/,0x0005 /*000005*/,0x0A02 /*005002*/,0x0A03 /*005003*/,0x0A04 /*005004*/,
|
||||||
0x80FE /*100376*/,0x8A09 /*105011*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x15C1 /*012701*/,0xFDC0 /*176700*/,0x15F1 /*012761*/,0x0020 /*000040*/,
|
0x0A05 /*005005*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A09 /*105011*/,0x0A07 /*005007*/,0x0005 /*000005*/,0x15C1 /*012701*/,0xFDC0 /*176700*/,
|
||||||
0x0008 /*000010*/,0x10F1 /*010361*/,0x0008 /*000010*/,0x15C9 /*012711*/,0x0011 /*000021*/,0x15F1 /*012761*/,0x1000 /*010000*/,0x001A /*000032*/,
|
0x15F1 /*012761*/,0x0020 /*000040*/,0x0008 /*000010*/,0x10F1 /*010361*/,0x0008 /*000010*/,0x15C9 /*012711*/,0x0011 /*000021*/,0x15F1 /*012761*/,
|
||||||
0x15F1 /*012761*/,0xFE00 /*177000*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x0A31 /*005061*/,0x0006 /*000006*/,0x0A31 /*005061*/,
|
0x1000 /*010000*/,0x001A /*000032*/,0x15F1 /*012761*/,0xFE00 /*177000*/,0x0002 /*000002*/,0x0A31 /*005061*/,0x0004 /*000004*/,0x0A31 /*005061*/,
|
||||||
0x001C /*000034*/,0x15C9 /*012711*/,0x0039 /*000071*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A09 /*105011*/,0x10C0 /*010300*/,0x0A07 /*005007*/]
|
0x0006 /*000006*/,0x0A31 /*005061*/,0x001C /*000034*/,0x15C9 /*012711*/,0x0039 /*000071*/,0x8BC9 /*105711*/,0x80FE /*100376*/,0x8A09 /*105011*/,
|
||||||
|
0x10C0 /*010300*/,0x0A07 /*005007*/]
|
||||||
}
|
}
|
||||||
File diff suppressed because it is too large
Load diff
|
|
@ -4,6 +4,7 @@
|
||||||
; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
|
; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
|
||||||
|
|
||||||
PSW = 177776
|
PSW = 177776
|
||||||
|
CNSW = 177570
|
||||||
DL11XCSR = 177564
|
DL11XCSR = 177564
|
||||||
DL11VEC = 64
|
DL11VEC = 64
|
||||||
|
|
||||||
|
|
@ -28,7 +29,8 @@ START: RESET ; 140000
|
||||||
MOV SP,R0
|
MOV SP,R0
|
||||||
JSR PC,INPUT
|
JSR PC,INPUT
|
||||||
CLR R0
|
CLR R0
|
||||||
1$: WAIT
|
1$: MOV R0,@#CNSW ; UPDATE THE FRONT PANEL DATA DISPLAY WITH R0
|
||||||
|
WAIT
|
||||||
INC R0
|
INC R0
|
||||||
TST LGHTON
|
TST LGHTON
|
||||||
BEQ 1$
|
BEQ 1$
|
||||||
|
|
|
||||||
|
|
@ -26,6 +26,7 @@ The **PDPJSMON.mac** source code is shown below.
|
||||||
; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
|
; WANT PERFORMANCE COUNTER - CLOCK TICKS TO DO SOMETHING?
|
||||||
|
|
||||||
PSW = 177776
|
PSW = 177776
|
||||||
|
CNSW = 177570
|
||||||
DL11XCSR = 177564
|
DL11XCSR = 177564
|
||||||
DL11VEC = 64
|
DL11VEC = 64
|
||||||
|
|
||||||
|
|
@ -50,7 +51,8 @@ The **PDPJSMON.mac** source code is shown below.
|
||||||
MOV SP,R0
|
MOV SP,R0
|
||||||
JSR PC,INPUT
|
JSR PC,INPUT
|
||||||
CLR R0
|
CLR R0
|
||||||
1$: WAIT
|
1$: MOV R0,@#CNSW ; UPDATE THE FRONT PANEL DATA DISPLAY WITH R0
|
||||||
|
WAIT
|
||||||
INC R0
|
INC R0
|
||||||
TST LGHTON
|
TST LGHTON
|
||||||
BEQ 1$
|
BEQ 1$
|
||||||
|
|
|
||||||
|
|
@ -9,7 +9,7 @@
|
||||||
<device id="default" type="default"/>
|
<device id="default" type="default"/>
|
||||||
<serial id="dl11" adapter="0" binding="print" upperCase="true"/>
|
<serial id="dl11" adapter="0" binding="print" upperCase="true"/>
|
||||||
<panel ref="/devices/pdp11/panel/1170/debugger/front.xml"/>
|
<panel ref="/devices/pdp11/panel/1170/debugger/front.xml"/>
|
||||||
<debugger id="debugger" base="8" messages="" commands=""/>
|
<debugger id="debugger" base="8" messages="fault|disk|halt" commands=""/>
|
||||||
<device ref="/devices/pdp11/pc11/default.xml"/>
|
<device ref="/devices/pdp11/pc11/default.xml"/>
|
||||||
<device ref="/devices/pdp11/rl11/default.xml"/>
|
<device ref="/devices/pdp11/rl11/default.xml"/>
|
||||||
</machine>
|
</machine>
|
||||||
|
|
|
||||||
|
|
@ -2,105 +2,133 @@
|
||||||
<panel id="panel" width="100%" padding="8px">
|
<panel id="panel" width="100%" padding="8px">
|
||||||
<name>Control Panel</name>
|
<name>Control Panel</name>
|
||||||
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">16</control>
|
||||||
<control type="container" class="pcjs-tripled" width="6.2%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">18</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">22</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B16" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B18" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B22" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">KRNL</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">SUPR</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">USER</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="KERNEL" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="SUPER" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="USER" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">ADDRESS</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">ADDRESS</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A0" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A0" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A1" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A1" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A2" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A2" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A3" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A3" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A4" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A4" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A5" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A5" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A6" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A6" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A7" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A7" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A8" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A8" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A9" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A9" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A10" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A10" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A11" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A11" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A12" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A12" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A13" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A13" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A14" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A14" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A15" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A15" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A16" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A16" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A17" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A17" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A18" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A18" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A19" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A19" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A20" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A20" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="3.1%" pos="right">
|
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="A21" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="A21" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED1</control>
|
||||||
<control type="container" class="pcjs-tripled" width="6.2%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED2</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED3</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED1" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED2" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED3" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED4</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED5</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED6</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED4" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED5" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED6" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">DATA</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">DATA</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D0" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D0" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D1" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D1" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D2" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D2" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D3" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D3" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D4" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D4" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D5" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D5" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D6" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D6" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D7" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D7" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D8" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D8" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D9" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D9" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D10" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D10" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D11" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D11" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D12" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D12" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D13" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D13" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D14" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D14" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="3.1%" pos="right">
|
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="D15" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="D15" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">START</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STRT</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STEP</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STEP</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">ENABLE</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">E/H</control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="START" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="START" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="STEP" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="STEP" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="ENABLE" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="ENABLE" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">CONT</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">CONT</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">DEP</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">DEP</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">EXAM</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">EXAM</control>
|
||||||
|
|
@ -108,13 +136,13 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="DEP" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="DEP" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="EXAM" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="EXAM" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="6.2%" pos="right">
|
<control type="container" class="pcjs-triplet" width="6.2%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="50%" pos="right">LOAD</control>
|
<control type="container" class="pcjs-swlbl" width="50%" pos="right">LOAD</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="50%" pos="right">TEST</control>
|
<control type="container" class="pcjs-swlbl" width="50%" pos="right">TEST</control>
|
||||||
<control type="container" class="pcjs-swpad" width="50%" pos="right" style="clear:both;"><control type="switch" binding="LOAD" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="50%" pos="right" style="clear:both;"><control type="switch" binding="LOAD" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="50%" pos="right"><control type="switch" binding="TEST" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="50%" pos="right"><control type="switch" binding="TEST" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">0</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">0</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">1</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">1</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">2</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">2</control>
|
||||||
|
|
@ -122,7 +150,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S1" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S1" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S2" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S2" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">3</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">3</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">4</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">4</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">5</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">5</control>
|
||||||
|
|
@ -130,7 +158,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S4" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S4" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S5" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S5" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">6</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">6</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">7</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">7</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">8</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">8</control>
|
||||||
|
|
@ -138,7 +166,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S7" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S7" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S8" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S8" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">9</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">9</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">10</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">10</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">11</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">11</control>
|
||||||
|
|
@ -146,7 +174,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S10" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S10" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S11" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S11" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">12</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">12</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">13</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">13</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">14</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">14</control>
|
||||||
|
|
@ -154,7 +182,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S13" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S13" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S14" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S14" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">15</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">15</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">16</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">16</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">17</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">17</control>
|
||||||
|
|
@ -162,7 +190,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S16" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S16" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S17" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S17" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">18</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">18</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">19</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">19</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">20</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">20</control>
|
||||||
|
|
@ -170,7 +198,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S19" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S19" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S20" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S20" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="3.1%" pos="right">
|
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="100%" pos="right">21</control>
|
<control type="container" class="pcjs-swlbl" width="100%" pos="right">21</control>
|
||||||
<control type="container" class="pcjs-swpad" width="100%" pos="right" style="clear:both;"><control type="switch" binding="S21" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="100%" pos="right" style="clear:both;"><control type="switch" binding="S21" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
|
|
|
||||||
|
|
@ -2,97 +2,125 @@
|
||||||
<panel id="panel" width="100%" padding="8px">
|
<panel id="panel" width="100%" padding="8px">
|
||||||
<name>Control Panel</name>
|
<name>Control Panel</name>
|
||||||
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">16</control>
|
||||||
<control type="container" class="pcjs-tripled" width="6.2%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">18</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">22</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B16" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B18" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="B22" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">KRNL</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">SUPR</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">USER</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="KERNEL" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="SUPER" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="USER" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">ADDRESS</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">ADDRESS</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A0" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A0" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A1" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A1" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A2" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A2" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A3" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A3" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A4" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A4" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A5" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A5" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A6" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A6" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A7" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A7" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A8" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A8" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A9" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A9" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A10" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A10" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A11" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A11" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A12" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A12" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A13" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A13" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A14" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A14" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A15" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A15" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A16" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A16" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A17" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A17" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A18" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A18" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A19" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A19" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A20" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="A20" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="3.1%" pos="right">
|
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="A21" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="A21" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED1</control>
|
||||||
<control type="container" class="pcjs-tripled" width="6.2%" pos="right"></control>
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED2</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED3</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED1" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED2" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED3" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED4</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED5</control>
|
||||||
|
<control type="container" class="pcjs-ledlbl" width="33%" pos="right">LED6</control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED4" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED5" width="100%" container="center"/></control>
|
||||||
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="LED6" width="100%" container="center"/></control>
|
||||||
|
</control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="6.2%" pos="right"></control>
|
||||||
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">DATA</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right">DATA</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D0" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D0" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D1" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D1" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D2" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D2" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D3" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D3" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D4" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D4" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D5" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D5" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D6" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D6" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D7" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D7" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D8" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D8" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D9" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D9" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D10" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D10" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D11" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D11" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl0" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D12" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D12" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D13" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D13" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D14" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="33%" pos="right"><control type="rled" binding="D14" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="3.1%" pos="right">
|
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
|
||||||
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
<control type="container" class="pcjs-ledlbl1" width="100%" pos="right" style="color:transparent">.</control>
|
||||||
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="D15" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-ledpad" width="100%" pos="right" style="clear:both;"><control type="rled" binding="D15" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
<control type="container" class="pcjs-panel-group" width="100%" padBottom="8px">
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">START</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">START</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STEP</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">STEP</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">ENABLE</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">ENABLE</control>
|
||||||
|
|
@ -100,7 +128,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="STEP" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="STEP" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="ENABLE" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="ENABLE" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">CONT</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">CONT</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">DEP</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">DEP</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">EXAM</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">EXAM</control>
|
||||||
|
|
@ -108,13 +136,13 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="DEP" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="DEP" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="EXAM" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="EXAM" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="6.2%" pos="right">
|
<control type="container" class="pcjs-triplet" width="6.2%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="50%" pos="right">LOAD</control>
|
<control type="container" class="pcjs-swlbl" width="50%" pos="right">LOAD</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="50%" pos="right">TEST</control>
|
<control type="container" class="pcjs-swlbl" width="50%" pos="right">TEST</control>
|
||||||
<control type="container" class="pcjs-swpad" width="50%" pos="right" style="clear:both;"><control type="switch" binding="LOAD" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="50%" pos="right" style="clear:both;"><control type="switch" binding="LOAD" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="50%" pos="right"><control type="switch" binding="TEST" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="50%" pos="right"><control type="switch" binding="TEST" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">0</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">0</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">1</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">1</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">2</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">2</control>
|
||||||
|
|
@ -122,7 +150,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S1" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S1" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S2" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S2" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">3</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">3</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">4</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">4</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">5</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">5</control>
|
||||||
|
|
@ -130,7 +158,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S4" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S4" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S5" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S5" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">6</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">6</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">7</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">7</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">8</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">8</control>
|
||||||
|
|
@ -138,7 +166,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S7" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S7" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S8" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S8" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">9</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">9</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">10</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">10</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">11</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">11</control>
|
||||||
|
|
@ -146,7 +174,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S10" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S10" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S11" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S11" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">12</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">12</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">13</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">13</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">14</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">14</control>
|
||||||
|
|
@ -154,7 +182,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S13" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S13" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S14" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S14" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">15</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">15</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">16</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">16</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">17</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">17</control>
|
||||||
|
|
@ -162,7 +190,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S16" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S16" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S17" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S17" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="9.3%" pos="right">
|
<control type="container" class="pcjs-triplet" width="9.3%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">18</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">18</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">19</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">19</control>
|
||||||
<control type="container" class="pcjs-swlbl" width="33%" pos="right">20</control>
|
<control type="container" class="pcjs-swlbl" width="33%" pos="right">20</control>
|
||||||
|
|
@ -170,7 +198,7 @@
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S19" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S19" width="100%" container="center"/></control>
|
||||||
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S20" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="33%" pos="right"><control type="switch" binding="S20" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
<control type="container" class="pcjs-tripled" width="3.1%" pos="right">
|
<control type="container" class="pcjs-triplet" width="3.1%" pos="right">
|
||||||
<control type="container" class="pcjs-swlbl" width="100%" pos="right">21</control>
|
<control type="container" class="pcjs-swlbl" width="100%" pos="right">21</control>
|
||||||
<control type="container" class="pcjs-swpad" width="100%" pos="right" style="clear:both;"><control type="switch" binding="S21" width="100%" container="center"/></control>
|
<control type="container" class="pcjs-swpad" width="100%" pos="right" style="clear:both;"><control type="switch" binding="S21" width="100%" container="center"/></control>
|
||||||
</control>
|
</control>
|
||||||
|
|
|
||||||
|
|
@ -124,9 +124,14 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #404040;
|
background-color: #404040;
|
||||||
}
|
}
|
||||||
.pcjs-tripled {
|
.pcjs-triplet {
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
|
.pcjs-ledlbl {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 40%;
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
.pcjs-ledlbl0 {
|
.pcjs-ledlbl0 {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-size: 50%;
|
font-size: 50%;
|
||||||
|
|
@ -142,6 +147,8 @@
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-bottom-left-radius: 20%;
|
||||||
|
border-bottom-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-led {
|
.pcjs-led {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
@ -168,8 +175,10 @@
|
||||||
.pcjs-swlbl {
|
.pcjs-swlbl {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 40%;
|
font-size: 40%;
|
||||||
line-height: 32px;
|
line-height: 16px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-top-left-radius: 20%;
|
||||||
|
border-top-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-swpad {
|
.pcjs-swpad {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
|
|
|
||||||
|
|
@ -117,14 +117,16 @@ function BusPDP11(parmsBus, cpu, dbg)
|
||||||
* Memory access handlers must service the entire block; see the setAccess() function in the Memory
|
* Memory access handlers must service the entire block; see the setAccess() function in the Memory
|
||||||
* component for details.
|
* component for details.
|
||||||
*
|
*
|
||||||
* Finally, for debugging purposes, if an I/O address has a symbolic name, it will be saved here:
|
* Finally, for debugging purposes, if an I/O address has a symbolic name and message category,
|
||||||
|
* they will be saved here:
|
||||||
*
|
*
|
||||||
* [4]: symbolic name of I/O address
|
* [4]: symbolic name of I/O address
|
||||||
|
* [5]: message category
|
||||||
*
|
*
|
||||||
* UPDATE: The Debugger wants to piggy-back on these arrays to indicate addresses for which it wants
|
* UPDATE: The Debugger wants to piggy-back on these arrays to indicate addresses for which it wants
|
||||||
* notification. In those cases, the following additional element will be set:
|
* notification. In those cases, the following additional element will be set:
|
||||||
*
|
*
|
||||||
* [5]: true to break on I/O, false to ignore I/O
|
* [6]: true to break on I/O, false to ignore I/O
|
||||||
*
|
*
|
||||||
* The false case is important if fIOBreakAll is set, because it allows the Debugger to selectively
|
* The false case is important if fIOBreakAll is set, because it allows the Debugger to selectively
|
||||||
* ignore specific addresses.
|
* ignore specific addresses.
|
||||||
|
|
@ -183,7 +185,9 @@ BusPDP11.IOHANDLER = {
|
||||||
WRITE_BYTE: 1,
|
WRITE_BYTE: 1,
|
||||||
READ_WORD: 2,
|
READ_WORD: 2,
|
||||||
WRITE_WORD: 3,
|
WRITE_WORD: 3,
|
||||||
NAME: 4
|
NAME: 4,
|
||||||
|
MSG_CATEGORY: 5,
|
||||||
|
DBG_BREAK: 6
|
||||||
};
|
};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
|
@ -257,14 +261,14 @@ BusPDP11.IOController = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (b >= 0) {
|
if (b >= 0) {
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".readByte(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true, true);
|
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".readByte(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(b), true, true);
|
||||||
}
|
}
|
||||||
return b;
|
return b;
|
||||||
}
|
}
|
||||||
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.READ_BYTE);
|
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.READ_BYTE);
|
||||||
b = 0xff;
|
b = 0xff;
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage("warning: unconverted read access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true);
|
this.dbg.printMessage("warning: unconverted read access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true);
|
||||||
}
|
}
|
||||||
return b;
|
return b;
|
||||||
|
|
@ -331,13 +335,13 @@ BusPDP11.IOController = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fWrite) {
|
if (fWrite) {
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".writeByte(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true, true);
|
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".writeByte(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(b) + ")", true, true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.WRITE_BYTE);
|
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.WRITE_BYTE);
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage("warning: unconverted write access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true);
|
this.dbg.printMessage("warning: unconverted write access to byte @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(b), true, true);
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
|
|
@ -363,14 +367,14 @@ BusPDP11.IOController = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (w >= 0) {
|
if (w >= 0) {
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".readWord(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true, true);
|
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".readWord(" + this.dbg.toStrBase(addr) + "): " + this.dbg.toStrBase(w), true, true);
|
||||||
}
|
}
|
||||||
return w;
|
return w;
|
||||||
}
|
}
|
||||||
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.READ_WORD);
|
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.READ_WORD);
|
||||||
w = 0xffff;
|
w = 0xffff;
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage("warning: unconverted read access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true);
|
this.dbg.printMessage("warning: unconverted read access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true);
|
||||||
}
|
}
|
||||||
return w;
|
return w;
|
||||||
|
|
@ -400,13 +404,13 @@ BusPDP11.IOController = {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (fWrite) {
|
if (fWrite) {
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".writeWord(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true, true);
|
this.dbg.printMessage(afn[BusPDP11.IOHANDLER.NAME] + ".writeWord(" + this.dbg.toStrBase(addr) + "," + this.dbg.toStrBase(w) + ")", true, true);
|
||||||
}
|
}
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.WRITE_WORD);
|
bus.fault(addr, PDP11.CPUERR.TIMEOUT, PDP11.ACCESS.WRITE_WORD);
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(afn[BusPDP11.IOHANDLER.MSG_CATEGORY])) {
|
||||||
this.dbg.printMessage("warning: unconverted write access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true);
|
this.dbg.printMessage("warning: unconverted write access to word @" + this.dbg.toStrBase(addr) + ": " + this.dbg.toStrBase(w), true, true);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
@ -1172,8 +1176,9 @@ BusPDP11.prototype.restoreMemory = function(a)
|
||||||
* @param {function(number)|null|undefined} fnReadWord
|
* @param {function(number)|null|undefined} fnReadWord
|
||||||
* @param {function(number,number)|null|undefined} fnWriteWord
|
* @param {function(number,number)|null|undefined} fnWriteWord
|
||||||
* @param {string} [sName]
|
* @param {string} [sName]
|
||||||
|
* @param {number} [msgCategory]
|
||||||
*/
|
*/
|
||||||
BusPDP11.prototype.addIOHandlers = function(start, end, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, sName)
|
BusPDP11.prototype.addIOHandlers = function(start, end, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, sName, msgCategory)
|
||||||
{
|
{
|
||||||
for (var addr = start; addr <= end; addr += 2) {
|
for (var addr = start; addr <= end; addr += 2) {
|
||||||
var off = addr & BusPDP11.IOPAGE_MASK;
|
var off = addr & BusPDP11.IOPAGE_MASK;
|
||||||
|
|
@ -1181,21 +1186,22 @@ BusPDP11.prototype.addIOHandlers = function(start, end, fnReadByte, fnWriteByte,
|
||||||
Component.warning("I/O address already registered: " + str.toHexLong(addr));
|
Component.warning("I/O address already registered: " + str.toHexLong(addr));
|
||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
this.aIOHandlers[off] = [fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, sName || "unknown", false];
|
this.aIOHandlers[off] = [fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, sName || "unknown", msgCategory, false];
|
||||||
if (MAXDEBUG) this.log("addIOHandlers(" + str.toHexLong(addr) + ")");
|
if (MAXDEBUG) this.log("addIOHandlers(" + str.toHexLong(addr) + ")");
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* addIOTable(component, table)
|
* addIOTable(component, table, msgCategory)
|
||||||
*
|
*
|
||||||
* Add I/O notification handlers from the specified table (a batch version of addIOHandlers).
|
* Add I/O notification handlers from the specified table (a batch version of addIOHandlers).
|
||||||
*
|
*
|
||||||
* @this {BusPDP11}
|
* @this {BusPDP11}
|
||||||
* @param {Component} component
|
* @param {Component} component
|
||||||
* @param {Object} table
|
* @param {Object} table
|
||||||
|
* @param {number} [msgCategory] (default is BUS)
|
||||||
*/
|
*/
|
||||||
BusPDP11.prototype.addIOTable = function(component, table)
|
BusPDP11.prototype.addIOTable = function(component, table, msgCategory)
|
||||||
{
|
{
|
||||||
for (var port in table) {
|
for (var port in table) {
|
||||||
var addr = +port;
|
var addr = +port;
|
||||||
|
|
@ -1237,7 +1243,7 @@ BusPDP11.prototype.addIOTable = function(component, table)
|
||||||
var sReg = afn[4];
|
var sReg = afn[4];
|
||||||
for (var iReg = 0; iReg < nRegs; iReg++, addr += 2) {
|
for (var iReg = 0; iReg < nRegs; iReg++, addr += 2) {
|
||||||
if (sReg && nRegs > 1) sReg = afn[4] + iReg;
|
if (sReg && nRegs > 1) sReg = afn[4] + iReg;
|
||||||
this.addIOHandlers(addr, addr, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, sReg);
|
this.addIOHandlers(addr, addr, fnReadByte, fnWriteByte, fnReadWord, fnWriteWord, sReg, msgCategory || MessagesPDP11.BUS);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
@ -1267,9 +1273,8 @@ BusPDP11.prototype.fault = function(addr, err, access)
|
||||||
{
|
{
|
||||||
this.fFault = true;
|
this.fFault = true;
|
||||||
if (!this.nDisableFaults) {
|
if (!this.nDisableFaults) {
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.BUS)) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.FAULT)) {
|
||||||
this.dbg.printMessage("memory fault (" + access + ") on address " + this.dbg.toStrBase(addr), true, true);
|
this.dbg.printMessage("memory fault (" + access + ") on address " + this.dbg.toStrBase(addr), true, true);
|
||||||
this.dbg.stopInstruction();
|
|
||||||
}
|
}
|
||||||
if (err) this.cpu.regErr |= err;
|
if (err) this.cpu.regErr |= err;
|
||||||
this.cpu.trap(PDP11.TRAP.BUS_ERROR, addr);
|
this.cpu.trap(PDP11.TRAP.BUS_ERROR, addr);
|
||||||
|
|
|
||||||
|
|
@ -186,7 +186,6 @@ CPUPDP11.prototype.initBus = function(cmp, bus, cpu, dbg)
|
||||||
this.cmp = cmp;
|
this.cmp = cmp;
|
||||||
this.bus = bus;
|
this.bus = bus;
|
||||||
this.dbg = dbg;
|
this.dbg = dbg;
|
||||||
this.panel = cmp.panel;
|
|
||||||
|
|
||||||
for (var i = 0; i < CPUPDP11.BUTTONS.length; i++) {
|
for (var i = 0; i < CPUPDP11.BUTTONS.length; i++) {
|
||||||
var control = this.bindings[CPUPDP11.BUTTONS[i]];
|
var control = this.bindings[CPUPDP11.BUTTONS[i]];
|
||||||
|
|
@ -283,6 +282,9 @@ CPUPDP11.prototype.powerUp = function(data, fRepower)
|
||||||
* is now responsible for managing a component's fPowered flag, not us.
|
* is now responsible for managing a component's fPowered flag, not us.
|
||||||
*
|
*
|
||||||
* this.flags.powered = true;
|
* this.flags.powered = true;
|
||||||
|
*
|
||||||
|
* And we don't have to worry whether this.cmp is set, because powerUp() handlers are never called
|
||||||
|
* before initBus() handlers.
|
||||||
*/
|
*/
|
||||||
this.cmp.updateStatus();
|
this.cmp.updateStatus();
|
||||||
return true;
|
return true;
|
||||||
|
|
@ -1077,7 +1079,7 @@ CPUPDP11.prototype.runCPU = function()
|
||||||
nCycles = this.endBurst(true);
|
nCycles = this.endBurst(true);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Add nCycles to nCyclesThisRun, as well as nRunCycles (the cycle count since the CPU first started).
|
* Add nCycles to nCyclesThisRun, as well as nRunCycles (the cycle count since the CPU started).
|
||||||
*/
|
*/
|
||||||
this.nCyclesThisRun += nCycles;
|
this.nCyclesThisRun += nCycles;
|
||||||
this.nRunCycles += nCycles;
|
this.nRunCycles += nCycles;
|
||||||
|
|
@ -1207,7 +1209,7 @@ CPUPDP11.prototype.yieldCPU = function()
|
||||||
* odd for those messages to show CPU state changes if the Control Panel, Video display, etc, does not,
|
* odd for those messages to show CPU state changes if the Control Panel, Video display, etc, does not,
|
||||||
* so I've added this call to try to keep things looking synchronized.
|
* so I've added this call to try to keep things looking synchronized.
|
||||||
*/
|
*/
|
||||||
this.cmp.updateStatus();
|
if (this.cmp) this.cmp.updateStatus();
|
||||||
};
|
};
|
||||||
|
|
||||||
if (NODE) module.exports = CPUPDP11;
|
if (NODE) module.exports = CPUPDP11;
|
||||||
|
|
|
||||||
|
|
@ -1760,7 +1760,7 @@ PDP11.opWAIT = function(opCode)
|
||||||
/*
|
/*
|
||||||
* Since here we're actually transitioning to WAIT, let's update the Panel's LEDs (well, OK, among other things).
|
* Since here we're actually transitioning to WAIT, let's update the Panel's LEDs (well, OK, among other things).
|
||||||
*/
|
*/
|
||||||
this.cmp.updateStatus();
|
if (this.cmp) this.cmp.updateStatus();
|
||||||
}
|
}
|
||||||
this.opFlags |= PDP11.OPFLAG.WAIT;
|
this.opFlags |= PDP11.OPFLAG.WAIT;
|
||||||
this.advancePC(-2);
|
this.advancePC(-2);
|
||||||
|
|
|
||||||
|
|
@ -310,7 +310,6 @@ CPUStatePDP11.prototype.setMMR0 = function(newMMR0)
|
||||||
this.mmuEnable = mmuEnable;
|
this.mmuEnable = mmuEnable;
|
||||||
this.setMemoryAccess();
|
this.setMemoryAccess();
|
||||||
}
|
}
|
||||||
if (this.panel) this.panel.updateStatus();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -358,7 +357,6 @@ CPUStatePDP11.prototype.setMMR3 = function(newMMR3)
|
||||||
this.regMMR3 = newMMR3;
|
this.regMMR3 = newMMR3;
|
||||||
this.mmuMask = (newMMR3 & PDP11.MMR3.MMU_22BIT)? 0x3fffff : 0x3ffff;
|
this.mmuMask = (newMMR3 & PDP11.MMR3.MMU_22BIT)? 0x3fffff : 0x3ffff;
|
||||||
this.setMemoryAccess();
|
this.setMemoryAccess();
|
||||||
if (this.panel) this.panel.updateStatus();
|
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,8 +43,8 @@ if (DEBUGGER) {
|
||||||
var State = require("../../shared/lib/state");
|
var State = require("../../shared/lib/state");
|
||||||
var PDP11 = require("./defines");
|
var PDP11 = require("./defines");
|
||||||
var CPUPDP11 = require("./cpu");
|
var CPUPDP11 = require("./cpu");
|
||||||
var MessagesPDP11 = require("./messages");
|
|
||||||
var MemoryPDP11 = require("./memory");
|
var MemoryPDP11 = require("./memory");
|
||||||
|
var MessagesPDP11 = require("./messages");
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
@ -1212,7 +1212,7 @@ if (DEBUGGER) {
|
||||||
if (this.sMessagePrev && sMessage == this.sMessagePrev) return;
|
if (this.sMessagePrev && sMessage == this.sMessagePrev) return;
|
||||||
this.sMessagePrev = sMessage;
|
this.sMessagePrev = sMessage;
|
||||||
|
|
||||||
if (this.bitsMessage & MessagesPDP11.HALT) {
|
if ((this.bitsMessage & MessagesPDP11.HALT) && this.cpu && this.cpu.isRunning()) {
|
||||||
this.stopCPU();
|
this.stopCPU();
|
||||||
sMessage += " (cpu halted)";
|
sMessage += " (cpu halted)";
|
||||||
}
|
}
|
||||||
|
|
@ -1334,7 +1334,7 @@ if (DEBUGGER) {
|
||||||
nCycles = this.cpu.getBurstCycles(nCycles);
|
nCycles = this.cpu.getBurstCycles(nCycles);
|
||||||
var nCyclesStep = this.cpu.stepCPU(nCycles);
|
var nCyclesStep = this.cpu.stepCPU(nCycles);
|
||||||
if (nCyclesStep > 0) {
|
if (nCyclesStep > 0) {
|
||||||
this.cpu.updateTimers(nCycles);
|
this.cpu.updateTimers(nCyclesStep);
|
||||||
this.nCycles += nCyclesStep;
|
this.nCycles += nCyclesStep;
|
||||||
this.cpu.addCycles(nCyclesStep, true);
|
this.cpu.addCycles(nCyclesStep, true);
|
||||||
this.cpu.updateChecksum(nCyclesStep);
|
this.cpu.updateChecksum(nCyclesStep);
|
||||||
|
|
@ -1358,7 +1358,13 @@ if (DEBUGGER) {
|
||||||
* and then update our own state. Normally, the only time fUpdateStatus will be false is when doTrace()
|
* and then update our own state. Normally, the only time fUpdateStatus will be false is when doTrace()
|
||||||
* is calling us in a loop, in which case it will perform its own updateStatus() when it's done.
|
* is calling us in a loop, in which case it will perform its own updateStatus() when it's done.
|
||||||
*/
|
*/
|
||||||
if (fUpdateStatus !== false) this.cmp.updateStatus();
|
if (fUpdateStatus !== false) {
|
||||||
|
/*
|
||||||
|
* Make an effort to keep any Front Panel in sync with us.
|
||||||
|
*/
|
||||||
|
if (this.cmp.panel && this.cmp.panel.stop) this.cmp.panel.stop();
|
||||||
|
this.cmp.updateStatus();
|
||||||
|
}
|
||||||
|
|
||||||
this.updateStatus(fRegs || false);
|
this.updateStatus(fRegs || false);
|
||||||
return (this.nCycles > 0);
|
return (this.nCycles > 0);
|
||||||
|
|
@ -3660,6 +3666,7 @@ if (DEBUGGER) {
|
||||||
* with displayLiveRegs enabled, so once the repeat count has been exhausted, we must
|
* with displayLiveRegs enabled, so once the repeat count has been exhausted, we must
|
||||||
* perform a final updateStatus().
|
* perform a final updateStatus().
|
||||||
*/
|
*/
|
||||||
|
if (dbg.cmp.panel && dbg.cmp.panel.stop) dbg.cmp.panel.stop();
|
||||||
dbg.cmp.updateStatus();
|
dbg.cmp.updateStatus();
|
||||||
dbg.setBusy(false);
|
dbg.setBusy(false);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -590,7 +590,6 @@ MemoryPDP11.prototype = {
|
||||||
readNone: function readNone(off, addr) {
|
readNone: function readNone(off, addr) {
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) {
|
||||||
this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true);
|
this.dbg.printMessage("attempt to read invalid address " + this.dbg.toStrBase(addr), true);
|
||||||
this.dbg.stopInstruction();
|
|
||||||
}
|
}
|
||||||
this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.READ);
|
this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.READ);
|
||||||
return 0xff;
|
return 0xff;
|
||||||
|
|
@ -606,7 +605,6 @@ MemoryPDP11.prototype = {
|
||||||
writeNone: function writeNone(off, v, addr) {
|
writeNone: function writeNone(off, v, addr) {
|
||||||
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) {
|
if (DEBUGGER && this.dbg && this.dbg.messageEnabled(MessagesPDP11.MEMORY) /* && !off */) {
|
||||||
this.dbg.printMessage("attempt to write " + this.dbg.toStrBase(v) + " to invalid addresses " + this.dbg.toStrBase(addr), true);
|
this.dbg.printMessage("attempt to write " + this.dbg.toStrBase(v) + " to invalid addresses " + this.dbg.toStrBase(addr), true);
|
||||||
this.dbg.stopInstruction();
|
|
||||||
}
|
}
|
||||||
this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.WRITE);
|
this.bus.fault(addr, PDP11.CPUERR.NOMEMORY, PDP11.ACCESS.WRITE);
|
||||||
},
|
},
|
||||||
|
|
|
||||||
|
|
@ -35,6 +35,7 @@
|
||||||
var MessagesPDP11 = {
|
var MessagesPDP11 = {
|
||||||
CPU: 0x00000001,
|
CPU: 0x00000001,
|
||||||
TRAP: 0x00000010,
|
TRAP: 0x00000010,
|
||||||
|
FAULT: 0x00000020,
|
||||||
BUS: 0x00000040,
|
BUS: 0x00000040,
|
||||||
MEMORY: 0x00000080,
|
MEMORY: 0x00000080,
|
||||||
DEVICE: 0x00000100,
|
DEVICE: 0x00000100,
|
||||||
|
|
@ -67,6 +68,7 @@ var MessagesPDP11 = {
|
||||||
MessagesPDP11.CATEGORIES = {
|
MessagesPDP11.CATEGORIES = {
|
||||||
"cpu": MessagesPDP11.CPU,
|
"cpu": MessagesPDP11.CPU,
|
||||||
"trap": MessagesPDP11.TRAP,
|
"trap": MessagesPDP11.TRAP,
|
||||||
|
"fault": MessagesPDP11.FAULT,
|
||||||
"bus": MessagesPDP11.BUS,
|
"bus": MessagesPDP11.BUS,
|
||||||
"memory": MessagesPDP11.MEMORY,
|
"memory": MessagesPDP11.MEMORY,
|
||||||
"device": MessagesPDP11.DEVICE,
|
"device": MessagesPDP11.DEVICE,
|
||||||
|
|
|
||||||
|
|
@ -71,7 +71,7 @@ function PanelPDP11(parmsPanel)
|
||||||
*
|
*
|
||||||
* regAddr is an internal register containing the contents of the Front Panel's ADDRESS display,
|
* regAddr is an internal register containing the contents of the Front Panel's ADDRESS display,
|
||||||
* and regData corresponds to the DATA display. They are updated by setAddr() and setData(),
|
* and regData corresponds to the DATA display. They are updated by setAddr() and setData(),
|
||||||
* which in turn take care of calling updateLEDArray().
|
* which in turn take care of calling setLEDArray().
|
||||||
*/
|
*/
|
||||||
this.regCNSW = 0;
|
this.regCNSW = 0;
|
||||||
this.regAddr = this.regData = 0;
|
this.regAddr = this.regData = 0;
|
||||||
|
|
@ -82,28 +82,28 @@ function PanelPDP11(parmsPanel)
|
||||||
*
|
*
|
||||||
* 0 if off, 1 if on
|
* 0 if off, 1 if on
|
||||||
*
|
*
|
||||||
* initBus() will call updateLEDs() to ensure that every LED is set to its initial value.
|
* initBus() will call displayLEDs() to ensure that every LED is set to its initial value.
|
||||||
*/
|
*/
|
||||||
this.leds = {};
|
this.leds = {};
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Every switch has an array associated with it:
|
* Every switch has an array associated with it:
|
||||||
*
|
*
|
||||||
* [0]: initial/current value of switch (0 if down, 1 if up)
|
* [0]: initial/current value of switch (0 if "down", 1 if "up")
|
||||||
* [1]: true if the switch is momentary, false if not
|
* [1]: true if the switch is momentary, false if not
|
||||||
* [2]: true if the switch is currently being pressed, false if not
|
* [2]: true if the switch is currently pressed, false if released
|
||||||
* [3]: optional handler to call whenever the switch is pressed or released
|
* [3]: optional handler to call whenever the switch is pressed or released
|
||||||
* [4]: optional switch index (used with CNSW switches 'S0' through 'S21')
|
* [4]: optional switch index (used with CNSW switches 'S0' through 'S21')
|
||||||
*
|
*
|
||||||
* initBus() will call updateSwitches() to ensure that every switch is the position represented below.
|
* initBus() will call displaySwitches() to ensure that every switch is the position represented below.
|
||||||
*
|
*
|
||||||
* NOTE: Not all switches have the same "process" criteria. For example, 'TEST' will perform a lamp test
|
* NOTE: Not all switches have the same "process" criteria. For example, 'TEST' will perform a lamp test
|
||||||
* when it is momentarily pressed "up", whereas 'LOAD [ADRS]' will load the address register from the switch
|
* when it is momentarily pressed "up", whereas 'LOAD [ADRS]' will load the ADDRESS register from the SWITCH
|
||||||
* register when it is momentarily pressed "down".
|
* register when it is momentarily pressed "down".
|
||||||
*
|
*
|
||||||
* This means that processLampTest(value) must act when value == 1, whereas processLoadAddr(value) must
|
* This means that processLampTest(value) must act when value == 1 ("up"), whereas processLoadAddr(value)
|
||||||
* act when value == 0. You can infer all this from the table below, because the initial value of any
|
* must act when value == 0 ("down"). You can infer all this from the table below, because the initial value
|
||||||
* momentary switch is its "passive" value, so the opposite is its "active" value.
|
* of any momentary switch is its "inactive" value, so the opposite is its "active" value.
|
||||||
*/
|
*/
|
||||||
this.switches = {
|
this.switches = {
|
||||||
'START': [1, true, false, this.processStart],
|
'START': [1, true, false, this.processStart],
|
||||||
|
|
@ -127,9 +127,9 @@ Component.subclass(PanelPDP11);
|
||||||
*
|
*
|
||||||
* this.getSwitch(PanelPDP11.SWITCH.ENABLE)
|
* this.getSwitch(PanelPDP11.SWITCH.ENABLE)
|
||||||
*
|
*
|
||||||
* However, I haven't filled out this table, primarily because the only switches we need to query
|
* I haven't filled out this table, primarily it only needs to list switches we actually query
|
||||||
* are the non-momentary ones (eg, ENABLE and STEP), and EXAM and DEP (because they have special
|
* (eg, non-momentary ones like 'ENABLE' and 'STEP', and 'EXAM' and 'DEP' since they have special
|
||||||
* "step" behavior when pressed more than once in a row).
|
* "step" behavior when pressed more than once in a row). Ditto for the LED table.
|
||||||
*/
|
*/
|
||||||
PanelPDP11.SWITCH = {
|
PanelPDP11.SWITCH = {
|
||||||
DEP: 'DEP',
|
DEP: 'DEP',
|
||||||
|
|
@ -138,6 +138,12 @@ PanelPDP11.SWITCH = {
|
||||||
STEP: 'STEP'
|
STEP: 'STEP'
|
||||||
};
|
};
|
||||||
|
|
||||||
|
PanelPDP11.LED = {
|
||||||
|
B16: 'B16',
|
||||||
|
B18: 'B18',
|
||||||
|
B22: 'B22'
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* getSwitch(name)
|
* getSwitch(name)
|
||||||
*
|
*
|
||||||
|
|
@ -275,8 +281,8 @@ PanelPDP11.prototype.initBus = function(cmp, bus, cpu, dbg)
|
||||||
bus.addIOTable(this, PanelPDP11.UNIBUS_IOTABLE);
|
bus.addIOTable(this, PanelPDP11.UNIBUS_IOTABLE);
|
||||||
bus.addResetHandler(this.reset.bind(this));
|
bus.addResetHandler(this.reset.bind(this));
|
||||||
|
|
||||||
this.updateLEDs();
|
this.displayLEDs();
|
||||||
this.updateSwitches();
|
this.displaySwitches();
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -301,7 +307,11 @@ PanelPDP11.prototype.powerUp = function(data, fRepower)
|
||||||
* currently unnecessary, since we've added reset() to the addResetHandler() list.
|
* currently unnecessary, since we've added reset() to the addResetHandler() list.
|
||||||
*
|
*
|
||||||
* this.reset();
|
* this.reset();
|
||||||
|
*
|
||||||
|
* In the meantime, simulate a call to our stop() handler, to update the panel's ADDRESS register
|
||||||
|
* with the new PC.
|
||||||
*/
|
*/
|
||||||
|
this.stop();
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
};
|
};
|
||||||
|
|
@ -320,7 +330,66 @@ PanelPDP11.prototype.powerDown = function(fSave, fShutdown)
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updateValue(sLabel, nValue, cch)
|
* displayLED(sBinding, value)
|
||||||
|
*
|
||||||
|
* @this {PanelPDP11}
|
||||||
|
* @param {string} sBinding
|
||||||
|
* @param {boolean|number} value (true or non-zero if the LED should be on, false or zero if off)
|
||||||
|
*/
|
||||||
|
PanelPDP11.prototype.displayLED = function(sBinding, value)
|
||||||
|
{
|
||||||
|
var control = this.bindings[sBinding];
|
||||||
|
if (control) {
|
||||||
|
/*
|
||||||
|
* TODO: Add support for user-definable LED colors?
|
||||||
|
*/
|
||||||
|
control.style.backgroundColor = (value? "#ff0000" : "#000000");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* displayLEDs(override)
|
||||||
|
*
|
||||||
|
* @this {PanelPDP11}
|
||||||
|
* @param {boolean|number|null} [override] (true turn on all LEDs, false to turn off all LEDs, null or undefined for normal LED activity)
|
||||||
|
*/
|
||||||
|
PanelPDP11.prototype.displayLEDs = function(override)
|
||||||
|
{
|
||||||
|
for (var sBinding in this.leds) {
|
||||||
|
this.displayLED(sBinding, override != null? override : this.leds[sBinding]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* displaySwitch(sBinding, value)
|
||||||
|
*
|
||||||
|
* @this {PanelPDP11}
|
||||||
|
* @param {string} sBinding
|
||||||
|
* @param {boolean|number} value (true if the switch should be "up" (on), false if "down" (off))
|
||||||
|
*/
|
||||||
|
PanelPDP11.prototype.displaySwitch = function(sBinding, value)
|
||||||
|
{
|
||||||
|
var control = this.bindings[sBinding];
|
||||||
|
if (control) {
|
||||||
|
control.style.marginTop = (value? "0px" : "20px");
|
||||||
|
control.style.backgroundColor = (value? "#00ff00" : "#228B22");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* displaySwitches()
|
||||||
|
*
|
||||||
|
* @this {PanelPDP11}
|
||||||
|
*/
|
||||||
|
PanelPDP11.prototype.displaySwitches = function()
|
||||||
|
{
|
||||||
|
for (var sBinding in this.switches) {
|
||||||
|
this.displaySwitch(sBinding, this.switches[sBinding][0]);
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* displayValue(sLabel, nValue, cch)
|
||||||
*
|
*
|
||||||
* This is principally for displaying register values, but in reality, it can be used to display any
|
* This is principally for displaying register values, but in reality, it can be used to display any
|
||||||
* numeric value bound to the given label.
|
* numeric value bound to the given label.
|
||||||
|
|
@ -330,7 +399,7 @@ PanelPDP11.prototype.powerDown = function(fSave, fShutdown)
|
||||||
* @param {number} nValue
|
* @param {number} nValue
|
||||||
* @param {number} [cch]
|
* @param {number} [cch]
|
||||||
*/
|
*/
|
||||||
PanelPDP11.prototype.updateValue = function(sLabel, nValue, cch)
|
PanelPDP11.prototype.displayValue = function(sLabel, nValue, cch)
|
||||||
{
|
{
|
||||||
if (this.bindings[sLabel]) {
|
if (this.bindings[sLabel]) {
|
||||||
if (nValue === undefined) {
|
if (nValue === undefined) {
|
||||||
|
|
@ -354,69 +423,6 @@ PanelPDP11.prototype.updateValue = function(sLabel, nValue, cch)
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* setLED(sBinding, value)
|
|
||||||
*
|
|
||||||
* @this {PanelPDP11}
|
|
||||||
* @param {string} sBinding
|
|
||||||
* @param {boolean|number} value (true if the LED should be on, false if off)
|
|
||||||
*/
|
|
||||||
PanelPDP11.prototype.setLED = function(sBinding, value)
|
|
||||||
{
|
|
||||||
var control = this.bindings[sBinding];
|
|
||||||
if (control) {
|
|
||||||
/*
|
|
||||||
* TODO: Add support for user-definable LED colors?
|
|
||||||
*/
|
|
||||||
control.style.backgroundColor = (value? "#ff0000" : "#000000");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* updateLEDs(override)
|
|
||||||
*
|
|
||||||
* @this {PanelPDP11}
|
|
||||||
* @param {boolean|number|null} [override] (true turn on all LEDs, false to turn off all LEDs, null or undefined for normal LED activity)
|
|
||||||
*/
|
|
||||||
PanelPDP11.prototype.updateLEDs = function(override)
|
|
||||||
{
|
|
||||||
for (var sBinding in this.leds) {
|
|
||||||
this.setLED(sBinding, override != null? override : this.leds[sBinding]);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* updateLEDArray(sPrefix, data, nLEDs)
|
|
||||||
*
|
|
||||||
* @this {PanelPDP11}
|
|
||||||
* @param {string} sPrefix
|
|
||||||
* @param {number} data
|
|
||||||
* @param {number} nLEDs
|
|
||||||
*/
|
|
||||||
PanelPDP11.prototype.updateLEDArray = function(sPrefix, data, nLEDs)
|
|
||||||
{
|
|
||||||
for (var i = 0; i < nLEDs; i++) {
|
|
||||||
var sBinding = sPrefix + i;
|
|
||||||
this.setLED(sBinding, data & (1 << i));
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
|
||||||
* setSwitch(sBinding, value)
|
|
||||||
*
|
|
||||||
* @this {PanelPDP11}
|
|
||||||
* @param {string} sBinding
|
|
||||||
* @param {boolean|number} value (true if the switch should be "up" (on), false if "down" (off))
|
|
||||||
*/
|
|
||||||
PanelPDP11.prototype.setSwitch = function(sBinding, value)
|
|
||||||
{
|
|
||||||
var control = this.bindings[sBinding];
|
|
||||||
if (control) {
|
|
||||||
control.style.marginTop = (value? "0px" : "20px");
|
|
||||||
control.style.backgroundColor = (value? "#00ff00" : "#228B22");
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* pressSwitch(sBinding)
|
* pressSwitch(sBinding)
|
||||||
*
|
*
|
||||||
|
|
@ -426,9 +432,22 @@ PanelPDP11.prototype.setSwitch = function(sBinding, value)
|
||||||
PanelPDP11.prototype.pressSwitch = function(sBinding)
|
PanelPDP11.prototype.pressSwitch = function(sBinding)
|
||||||
{
|
{
|
||||||
var sw = this.switches[sBinding];
|
var sw = this.switches[sBinding];
|
||||||
this.setSwitch(sBinding, sw[0] = 1 - sw[0]);
|
|
||||||
|
/*
|
||||||
|
* Set the new switch value in sw[0] and then immediately display it
|
||||||
|
*/
|
||||||
|
this.displaySwitch(sBinding, (sw[0] = 1 - sw[0]));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Mark the switch as "pressed"
|
||||||
|
*/
|
||||||
sw[2] = true;
|
sw[2] = true;
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Call the appropriate process handler with the current switch value (sw[0])
|
||||||
|
*/
|
||||||
if (sw[3]) sw[3].call(this, sw[0], sw[4]);
|
if (sw[3]) sw[3].call(this, sw[0], sw[4]);
|
||||||
|
|
||||||
this.fDeposit = (sBinding == PanelPDP11.SWITCH.DEP);
|
this.fDeposit = (sBinding == PanelPDP11.SWITCH.DEP);
|
||||||
this.fExamine = (sBinding == PanelPDP11.SWITCH.EXAM);
|
this.fExamine = (sBinding == PanelPDP11.SWITCH.EXAM);
|
||||||
};
|
};
|
||||||
|
|
@ -448,13 +467,23 @@ PanelPDP11.prototype.releaseSwitch = function(sBinding)
|
||||||
* we receive EITHER of those events AND the switch is marked momentary (sw[1]) AND the switch is pressed (sw[2]),
|
* we receive EITHER of those events AND the switch is marked momentary (sw[1]) AND the switch is pressed (sw[2]),
|
||||||
* then we must flip the switch back to its original value.
|
* then we must flip the switch back to its original value.
|
||||||
*
|
*
|
||||||
* Otherwise, the only thing we have to do is mark the switch as no longer "pressed" (ie, set sw[2] to false).
|
* Otherwise, the only thing we have to do is mark the switch as "released" (ie, set sw[2] to false).
|
||||||
*/
|
*/
|
||||||
var sw = this.switches[sBinding];
|
var sw = this.switches[sBinding];
|
||||||
if (sw[1] && sw[2]) {
|
if (sw[1] && sw[2]) {
|
||||||
this.setSwitch(sBinding, sw[0] = 1 - sw[0]);
|
/*
|
||||||
|
* Set the new switch value in sw[0] and then immediately display it
|
||||||
|
*/
|
||||||
|
this.displaySwitch(sBinding, (sw[0] = 1 - sw[0]));
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Call the appropriate process handler with the current switch value (sw[0])
|
||||||
|
*/
|
||||||
if (sw[3]) sw[3].call(this, sw[0], sw[4]);
|
if (sw[3]) sw[3].call(this, sw[0], sw[4]);
|
||||||
}
|
}
|
||||||
|
/*
|
||||||
|
* Mark the switch as "released"
|
||||||
|
*/
|
||||||
sw[2] = false;
|
sw[2] = false;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -499,6 +528,10 @@ PanelPDP11.prototype.processStart = function(value, index)
|
||||||
*/
|
*/
|
||||||
PanelPDP11.prototype.processStep = function(value, index)
|
PanelPDP11.prototype.processStep = function(value, index)
|
||||||
{
|
{
|
||||||
|
/*
|
||||||
|
* There's really nothing for us to do here, because the normal press and release handlers
|
||||||
|
* already record the state of this switch, so it can be queried as needed, using getSwitch().
|
||||||
|
*/
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -532,20 +565,60 @@ PanelPDP11.prototype.processEnable = function(value, index)
|
||||||
PanelPDP11.prototype.processContinue = function(value, index)
|
PanelPDP11.prototype.processContinue = function(value, index)
|
||||||
{
|
{
|
||||||
if (!value && !this.cpu.isRunning()) {
|
if (!value && !this.cpu.isRunning()) {
|
||||||
|
/*
|
||||||
|
* TODO: Technically, we're also supposed to check the 'STEP' switch to determine if we should
|
||||||
|
* step one instruction or just one cycle, but we don't currently have the ability to do the latter.
|
||||||
|
*/
|
||||||
if (!this.getSwitch(PanelPDP11.SWITCH.ENABLE)) {
|
if (!this.getSwitch(PanelPDP11.SWITCH.ENABLE)) {
|
||||||
/*
|
/*
|
||||||
* TODO: Technically, we're also supposed to check the 'STEP' switch to determine if we should
|
* Using the Debugger's stepCPU() function is more convenient, and has the pleasant side-effect
|
||||||
* step one instruction or just one cycle, but we don't currently have the ability to do the latter.
|
* of updating the debugger's display; however, not all machines with a Front Panel will necessarily
|
||||||
|
* also have the Debugger loaded.
|
||||||
*/
|
*/
|
||||||
var dbg = this.dbg;
|
var dbg = this.dbg;
|
||||||
if (dbg && !dbg.isBusy(true)) {
|
if (dbg && !dbg.isBusy(true)) {
|
||||||
dbg.setBusy(true);
|
dbg.setBusy(true);
|
||||||
dbg.stepCPU(0);
|
dbg.stepCPU(0);
|
||||||
dbg.setBusy(false);
|
dbg.setBusy(false);
|
||||||
} else {
|
|
||||||
this.cpu.stepCPU(1);
|
|
||||||
this.updateStatus();
|
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
/*
|
||||||
|
* For this tiny single-instruction burst, mimic what runCPU() does.
|
||||||
|
*/
|
||||||
|
try {
|
||||||
|
var nCyclesStep = this.cpu.stepCPU(1);
|
||||||
|
if (nCyclesStep > 0) {
|
||||||
|
this.cpu.updateTimers(nCyclesStep);
|
||||||
|
this.cpu.addCycles(nCyclesStep, true);
|
||||||
|
this.cpu.updateChecksum(nCyclesStep);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
catch(exception) {
|
||||||
|
/*
|
||||||
|
* We assume that any numeric exception was explicitly thrown by the CPU to interrupt the
|
||||||
|
* current instruction. For all other exceptions, we attempt a stack dump.
|
||||||
|
*/
|
||||||
|
if (typeof exception != "number") {
|
||||||
|
var e = exception;
|
||||||
|
this.cpu.setError(e.stack || e.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Simulate a call to our stop() handler, to update the panel's ADDRESS register with the new PC.
|
||||||
|
*/
|
||||||
|
this.stop();
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Going through the normal channels (ie, the Computer's updateStatus() interface) ensures that ALL
|
||||||
|
* updateStatus() handlers will be called, including ours.
|
||||||
|
*
|
||||||
|
* NOTE: If we used the Debugger's stepCPU() function, then that includes a call to updateStatus();
|
||||||
|
* unfortunately, it will have happened BEFORE we called stop() to update the ADDRESS register, so we
|
||||||
|
* still need to call it again.
|
||||||
|
*/
|
||||||
|
if (this.cmp) this.cmp.updateStatus();
|
||||||
}
|
}
|
||||||
else {
|
else {
|
||||||
this.cpu.startCPU();
|
this.cpu.startCPU();
|
||||||
|
|
@ -610,7 +683,7 @@ PanelPDP11.prototype.processLoadAddr = function(value, index)
|
||||||
*/
|
*/
|
||||||
PanelPDP11.prototype.processLampTest = function(value, index)
|
PanelPDP11.prototype.processLampTest = function(value, index)
|
||||||
{
|
{
|
||||||
this.updateLEDs(value || null);
|
this.displayLEDs(value || null);
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -639,7 +712,7 @@ PanelPDP11.prototype.processSwitchReg = function(value, index)
|
||||||
PanelPDP11.prototype.setAddr = function(value)
|
PanelPDP11.prototype.setAddr = function(value)
|
||||||
{
|
{
|
||||||
this.regAddr = value & this.bus.nBusMask;
|
this.regAddr = value & this.bus.nBusMask;
|
||||||
this.updateLEDArray("A", this.regAddr, 22);
|
this.setLEDArray("A", this.regAddr, 22);
|
||||||
return this.regAddr;
|
return this.regAddr;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
@ -653,13 +726,64 @@ PanelPDP11.prototype.setAddr = function(value)
|
||||||
PanelPDP11.prototype.setData = function(value)
|
PanelPDP11.prototype.setData = function(value)
|
||||||
{
|
{
|
||||||
this.regData = value & 0xffff;
|
this.regData = value & 0xffff;
|
||||||
this.updateLEDArray("D", this.regData, 16);
|
this.setLEDArray("D", this.regData, 16);
|
||||||
return this.regData;
|
return this.regData;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* setLED(sBinding, value)
|
||||||
|
*
|
||||||
|
* @this {PanelPDP11}
|
||||||
|
* @param {string} sBinding
|
||||||
|
* @param {number} value
|
||||||
|
* @return {number}
|
||||||
|
*/
|
||||||
|
PanelPDP11.prototype.setLED = function(sBinding, value)
|
||||||
|
{
|
||||||
|
this.leds[sBinding] = value;
|
||||||
|
if (!this.fLampTest) this.displayLED(sBinding, value);
|
||||||
|
return value;
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* setLEDArray(sPrefix, data, nLEDs)
|
||||||
|
*
|
||||||
|
* @this {PanelPDP11}
|
||||||
|
* @param {string} sPrefix
|
||||||
|
* @param {number} data
|
||||||
|
* @param {number} nLEDs
|
||||||
|
*/
|
||||||
|
PanelPDP11.prototype.setLEDArray = function(sPrefix, data, nLEDs)
|
||||||
|
{
|
||||||
|
for (var i = 0; i < nLEDs; i++) {
|
||||||
|
var sBinding = sPrefix + i;
|
||||||
|
this.setLED(sBinding, data & (1 << i));
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* stop(ms, nCycles)
|
||||||
|
*
|
||||||
|
* This is a notification handler, called by the Computer, to inform us the CPU has now stopped.
|
||||||
|
*
|
||||||
|
* @this {PanelPDP11}
|
||||||
|
* @param {number} [ms]
|
||||||
|
* @param {number} [nCycles]
|
||||||
|
*/
|
||||||
|
PanelPDP11.prototype.stop = function(ms, nCycles)
|
||||||
|
{
|
||||||
|
this.setAddr(this.cpu.regsGen[7]);
|
||||||
|
/*
|
||||||
|
* TODO: Consider an option to call setData() with the current opcode as well; presumably that wouldn't be
|
||||||
|
* normal Front Panel behavior, but it could be useful for debugging.
|
||||||
|
*/
|
||||||
|
};
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* updateStatus(fForce)
|
* updateStatus(fForce)
|
||||||
*
|
*
|
||||||
|
* Called by the Computer component at appropriate intervals to update any register displays, LEDs, etc.
|
||||||
|
*
|
||||||
* @this {PanelPDP11}
|
* @this {PanelPDP11}
|
||||||
* @param {boolean} [fForce] (true will display registers even if the CPU is running and "live" registers are not enabled)
|
* @param {boolean} [fForce] (true will display registers even if the CPU is running and "live" registers are not enabled)
|
||||||
*/
|
*/
|
||||||
|
|
@ -668,39 +792,27 @@ PanelPDP11.prototype.updateStatus = function(fForce)
|
||||||
if (this.cLiveRegs) {
|
if (this.cLiveRegs) {
|
||||||
if (fForce || !this.cpu.isRunning() || this.fDisplayLiveRegs) {
|
if (fForce || !this.cpu.isRunning() || this.fDisplayLiveRegs) {
|
||||||
for (var i = 0; i < this.cpu.regsGen.length; i++) {
|
for (var i = 0; i < this.cpu.regsGen.length; i++) {
|
||||||
this.updateValue('R'+i, this.cpu.regsGen[i]);
|
this.displayValue('R'+i, this.cpu.regsGen[i]);
|
||||||
}
|
}
|
||||||
var regPSW = this.cpu.getPSW();
|
var regPSW = this.cpu.getPSW();
|
||||||
this.updateValue("PS", regPSW);
|
this.displayValue("PS", regPSW);
|
||||||
this.updateValue("NF", (regPSW & PDP11.PSW.NF)? 1 : 0, 1);
|
this.displayValue("NF", (regPSW & PDP11.PSW.NF)? 1 : 0, 1);
|
||||||
this.updateValue("ZF", (regPSW & PDP11.PSW.ZF)? 1 : 0, 1);
|
this.displayValue("ZF", (regPSW & PDP11.PSW.ZF)? 1 : 0, 1);
|
||||||
this.updateValue("VF", (regPSW & PDP11.PSW.VF)? 1 : 0, 1);
|
this.displayValue("VF", (regPSW & PDP11.PSW.VF)? 1 : 0, 1);
|
||||||
this.updateValue("CF", (regPSW & PDP11.PSW.CF)? 1 : 0, 1);
|
this.displayValue("CF", (regPSW & PDP11.PSW.CF)? 1 : 0, 1);
|
||||||
if (!this.fLampTest) {
|
this.setLEDArray("D", this.regData, 16);
|
||||||
this.setData(this.cpu.regsGen[0]);
|
this.setLEDArray("A", this.regAddr, 22);
|
||||||
this.setAddr(this.cpu.regsGen[7]);
|
/*
|
||||||
/*
|
* Set bit to 1 (22-bit), 2 (18-bit), or 4 (16-bit)
|
||||||
* Set bit to 1 (22-bit), 2 (18-bit), or 4 (16-bit)
|
*/
|
||||||
*/
|
var bit = this.cpu.mmuEnable? ((this.cpu.regMMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2) : 4;
|
||||||
var bit = this.cpu.mmuEnable? ((this.cpu.regMMR3 & PDP11.MMR3.MMU_22BIT)? 1 : 2) : 4;
|
this.setLED(PanelPDP11.LED.B22, bit & 1);
|
||||||
// this.misc = (this.misc & ~7) | bit;
|
this.setLED(PanelPDP11.LED.B18, bit & 2);
|
||||||
}
|
this.setLED(PanelPDP11.LED.B16, bit & 4);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
/**
|
|
||||||
* updateSwitches()
|
|
||||||
*
|
|
||||||
* @this {PanelPDP11}
|
|
||||||
*/
|
|
||||||
PanelPDP11.prototype.updateSwitches = function()
|
|
||||||
{
|
|
||||||
for (var sBinding in this.switches) {
|
|
||||||
this.setSwitch(sBinding, this.switches[sBinding][0]);
|
|
||||||
}
|
|
||||||
};
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* readCNSW(addr)
|
* readCNSW(addr)
|
||||||
*
|
*
|
||||||
|
|
|
||||||
|
|
@ -55,16 +55,16 @@ function RL11(parms)
|
||||||
Component.call(this, "RL11", parms, RL11, MessagesPDP11.DISK);
|
Component.call(this, "RL11", parms, RL11, MessagesPDP11.DISK);
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* We record any 'autoMount' object now, but we no longer parse it until initBus(), because the
|
* We record any 'autoMount' object now, but we no longer parse it until initBus(),
|
||||||
* Computer's getMachineParm() service may have an override for us.
|
* because the Computer's getMachineParm() service may have an override for us.
|
||||||
*/
|
*/
|
||||||
this.configMount = parms['autoMount'] || null;
|
this.configMount = parms['autoMount'] || null;
|
||||||
this.cAutoMount = 0;
|
this.cAutoMount = 0;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* TODO: Make this configurable
|
* The RL11 has two Drive Select bits, representing up to four drives.
|
||||||
*/
|
*/
|
||||||
this.nDrives = 1;
|
this.nDrives = 4;
|
||||||
this.aDrives = new Array(this.nDrives);
|
this.aDrives = new Array(this.nDrives);
|
||||||
|
|
||||||
this.fLocalDisks = (!web.isMobile() && window && 'FileReader' in window);
|
this.fLocalDisks = (!web.isMobile() && window && 'FileReader' in window);
|
||||||
|
|
@ -282,7 +282,7 @@ RL11.prototype.initBus = function(cmp, bus, cpu, dbg)
|
||||||
|
|
||||||
this.triggerInterrupt = this.cpu.addTrigger(PDP11.RL11.VEC, PDP11.RL11.PRI);
|
this.triggerInterrupt = this.cpu.addTrigger(PDP11.RL11.VEC, PDP11.RL11.PRI);
|
||||||
|
|
||||||
bus.addIOTable(this, RL11.UNIBUS_IOTABLE);
|
bus.addIOTable(this, RL11.UNIBUS_IOTABLE, MessagesPDP11.DISK);
|
||||||
|
|
||||||
this.addDisk("None", RL11.SOURCE.NONE, true);
|
this.addDisk("None", RL11.SOURCE.NONE, true);
|
||||||
if (this.fLocalDisks) this.addDisk("Local Disk", RL11.SOURCE.LOCAL);
|
if (this.fLocalDisks) this.addDisk("Local Disk", RL11.SOURCE.LOCAL);
|
||||||
|
|
|
||||||
|
|
@ -129,9 +129,14 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #404040;
|
background-color: #404040;
|
||||||
}
|
}
|
||||||
.pcjs-tripled {
|
.pcjs-triplet {
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
|
.pcjs-ledlbl {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 40%;
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
.pcjs-ledlbl0 {
|
.pcjs-ledlbl0 {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-size: 50%;
|
font-size: 50%;
|
||||||
|
|
@ -147,6 +152,8 @@
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-bottom-left-radius: 20%;
|
||||||
|
border-bottom-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-led {
|
.pcjs-led {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
@ -173,8 +180,10 @@
|
||||||
.pcjs-swlbl {
|
.pcjs-swlbl {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 40%;
|
font-size: 40%;
|
||||||
line-height: 32px;
|
line-height: 16px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-top-left-radius: 20%;
|
||||||
|
border-top-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-swpad {
|
.pcjs-swpad {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
|
|
|
||||||
|
|
@ -124,9 +124,14 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #404040;
|
background-color: #404040;
|
||||||
}
|
}
|
||||||
.pcjs-tripled {
|
.pcjs-triplet {
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
|
.pcjs-ledlbl {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 40%;
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
.pcjs-ledlbl0 {
|
.pcjs-ledlbl0 {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-size: 50%;
|
font-size: 50%;
|
||||||
|
|
@ -142,6 +147,8 @@
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-bottom-left-radius: 20%;
|
||||||
|
border-bottom-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-led {
|
.pcjs-led {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
@ -168,8 +175,10 @@
|
||||||
.pcjs-swlbl {
|
.pcjs-swlbl {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 40%;
|
font-size: 40%;
|
||||||
line-height: 32px;
|
line-height: 16px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-top-left-radius: 20%;
|
||||||
|
border-top-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-swpad {
|
.pcjs-swpad {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
|
|
|
||||||
|
|
@ -124,9 +124,14 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #404040;
|
background-color: #404040;
|
||||||
}
|
}
|
||||||
.pcjs-tripled {
|
.pcjs-triplet {
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
|
.pcjs-ledlbl {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 40%;
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
.pcjs-ledlbl0 {
|
.pcjs-ledlbl0 {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-size: 50%;
|
font-size: 50%;
|
||||||
|
|
@ -142,6 +147,8 @@
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-bottom-left-radius: 20%;
|
||||||
|
border-bottom-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-led {
|
.pcjs-led {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
@ -168,8 +175,10 @@
|
||||||
.pcjs-swlbl {
|
.pcjs-swlbl {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 40%;
|
font-size: 40%;
|
||||||
line-height: 32px;
|
line-height: 16px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-top-left-radius: 20%;
|
||||||
|
border-top-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-swpad {
|
.pcjs-swpad {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
|
|
|
||||||
|
|
@ -124,9 +124,14 @@
|
||||||
color: #ffffff;
|
color: #ffffff;
|
||||||
background-color: #404040;
|
background-color: #404040;
|
||||||
}
|
}
|
||||||
.pcjs-tripled {
|
.pcjs-triplet {
|
||||||
padding: 1px;
|
padding: 1px;
|
||||||
}
|
}
|
||||||
|
.pcjs-ledlbl {
|
||||||
|
text-align: center;
|
||||||
|
font-size: 40%;
|
||||||
|
background-color: #000000;
|
||||||
|
}
|
||||||
.pcjs-ledlbl0 {
|
.pcjs-ledlbl0 {
|
||||||
text-align: right;
|
text-align: right;
|
||||||
font-size: 50%;
|
font-size: 50%;
|
||||||
|
|
@ -142,6 +147,8 @@
|
||||||
font-size: x-small;
|
font-size: x-small;
|
||||||
line-height: 32px;
|
line-height: 32px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-bottom-left-radius: 20%;
|
||||||
|
border-bottom-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-led {
|
.pcjs-led {
|
||||||
float: left;
|
float: left;
|
||||||
|
|
@ -168,8 +175,10 @@
|
||||||
.pcjs-swlbl {
|
.pcjs-swlbl {
|
||||||
text-align: center;
|
text-align: center;
|
||||||
font-size: 40%;
|
font-size: 40%;
|
||||||
line-height: 32px;
|
line-height: 16px;
|
||||||
background-color: #000000;
|
background-color: #000000;
|
||||||
|
border-top-left-radius: 20%;
|
||||||
|
border-top-right-radius: 20%;
|
||||||
}
|
}
|
||||||
.pcjs-swpad {
|
.pcjs-swpad {
|
||||||
height: 32px;
|
height: 32px;
|
||||||
|
|
|
||||||
|
|
@ -31,287 +31,287 @@
|
||||||
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016
|
http://pcjs.org/modules/pdp11/lib/computer.js (C) Jeff Parsons 2012-2016
|
||||||
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016
|
http://pcjs.org/modules/shared/lib/state.js (C) Jeff Parsons 2012-2016
|
||||||
*/
|
*/
|
||||||
for(var k,aa="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,da=["Math","log2"],ea=0;ea<da.length-1;ea++){var fa=da[ea];fa in ca||(ca[fa]={});ca=ca[fa]}var ha=da[da.length-1],ia=ca[ha],ja=ia?ia:function(a){return Math.log(a)/Math.LN2};
|
for(var k,ba="function"==typeof Object.defineProperties?Object.defineProperty:function(a,b,c){if(c.get||c.set)throw new TypeError("ES3 does not support getters and setters.");a!=Array.prototype&&a!=Object.prototype&&(a[b]=c.value)},ca="undefined"!=typeof window&&window===this?this:"undefined"!=typeof global?global:this,da=["Math","log2"],ea=0;ea<da.length-1;ea++){var ga=da[ea];ga in ca||(ca[ga]={});ca=ca[ga]}var ha=da[da.length-1],ia=ca[ha],ka=ia?ia:function(a){return Math.log(a)/Math.LN2};
|
||||||
ja!=ia&&null!=ja&&aa(ca,ha,{configurable:!0,writable:!0,value:ja});var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],5242880:[256,2,40,256],10485760:[512,2,40,256]};
|
ka!=ia&&null!=ka&&ba(ca,ha,{configurable:!0,writable:!0,value:ka});var la={163840:[40,1,8,,254],184320:[40,1,9,,252],327680:[40,2,8,,255],368640:[40,2,9,,253],737280:[80,2,9,,249],1228800:[80,2,15,,249],1474560:[80,2,18,,240],2949120:[80,2,36,,240],21368320:[615,4,17],5242880:[256,2,40,256],10485760:[512,2,40,256]};
|
||||||
function ma(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
function qa(a,b){var c;if(a){b||(b=10);var d=a.charAt(0),e=0<a.indexOf(",");e&&(a=a.replace(/,/g,""));"#"==d?(b=8,d=null):"$"==d&&(b=16,d=null);null==d?a=a.substr(1):("0"==d&&(d=a.charAt(1),"b"==d&&e&&(b=2,d=null),"o"==d?(b=8,d=null):"x"==d&&(b=16,d=null)),null==d?a=a.substr(2):(d=a.charAt(a.length-1).toLowerCase(),"y"==d?(b=2,d=null):"."==d?(b=10,d=null):"h"==d&&(b=16,d=null),null==d&&(a=a.substr(0,a.length-1))));var f,d=a;((e=b)&&10!=e?16==e?d.match(/^[0-9a-f]+$/i):8==e?d.match(/^[0-7]+$/):2==e&&
|
||||||
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ra(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function p(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
|
d.match(/^[01]+$/):d.match(/^[0-9]+$/))&&!isNaN(f=parseInt(a,b))&&(c=f|0)}return c}function ra(a,b,c){var d="";b?11<b&&(b=11):b=a&-65536?11:6;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;)d=String.fromCharCode((a&7)+48)+d,a>>=3;return(c?"0o":"")+d}function p(a,b,c){var d="";b?8<b&&(b=8):b=a&-65536?8:4;if(null==a||isNaN(a))for(;0<b--;)d="?"+d;else for(;0<b--;){var e=a&15,e=e+(0<=e&&9>=e?48:55),d=String.fromCharCode(e)+d;a>>=4}return(c?"0x":"")+d}
|
||||||
function sa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ta(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ua(a,b){return-1!==a.indexOf(b,a.length-b.length)}var va={"&":"&","<":"<",">":">",'"':""","'":"'"};function wa(a){return a.replace(/[&<>"']/g,function(a){return va[a]})}
|
function sa(a,b){var c=a,d=a.lastIndexOf("/");0<=d&&(c=a.substr(d+1));d=c.indexOf("&");0<d&&(c=c.substr(0,d));b&&(d=c.lastIndexOf("."),0<d&&(c=c.substring(0,d)));return c}function ta(a){var b="",c=a.lastIndexOf(".");0<=c&&(b=a.substr(c+1).toLowerCase());return b}function ua(a,b){return-1!==a.indexOf(b,a.length-b.length)}var va={"&":"&","<":"<",">":">",'"':""","'":"'"};function wa(a){return a.replace(/[&<>"']/g,function(a){return va[a]})}
|
||||||
function xa(a,b){return(a+" ").slice(0,b)}function ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
function xa(a,b){return(a+" ").slice(0,b)}function ya(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}var za={0:"NUL",1:"SOH",2:"STX",3:"ETX",4:"EOT",5:"ENQ",6:"ACK",7:"BEL",8:"BS",9:"TAB",11:"VT",12:"FF",13:"CR",14:"SO",15:"SI",16:"DLE",17:"XON",18:"DC2",19:"XOFF",20:"DC4",21:"NAK",22:"SYN",23:"ETB",24:"CAN",25:"EM",26:"SUB",27:"ESC",28:"FS",29:"GS",30:"RS",31:"US"};
|
||||||
function Aa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}var Ba=Date.now||function(){return+new Date};function Ca(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
function Aa(a,b,c){var d=0,e=a.length,f=0;for(c||(c=function(a,b){return a>b?1:a<b?-1:0});d<e;){var g=d+e>>1,h;h=c(b,a[g]);0<h?d=g+1:(e=g,f=!h)}return f?d:~d}var Ba=Date.now||function(){return+new Date};function Da(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function Ea(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
function Ea(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var h=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(h.onreadystatechange=function(){4===h.readyState&&(f=h.responseText,200==h.status||!h.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=h.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||||
typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
typeof b){var l="",m;for(m in b)b.hasOwnProperty(m)&&(l&&(l+="&"),l+=m+"="+encodeURIComponent(b[m]));l=l.replace(/%20/g,"+");h.open("POST",a,!!c);h.setRequestHeader("Content-type","application/x-www-form-urlencoded");h.send(l)}else h.open("GET",a,!!c),"bytes"==b&&h.overrideMimeType("text/plain; charset=x-user-defined"),h.send();c||(f=h.responseText,200!=h.status&&(e=h.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function Fa(a,b){var c,d={ea:null,ia:null,Ja:null,Ia:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ja=g.load;d.Ia=g.exec;if(e=g.bytes)d.ea=e;else if(e=g.words)for(d.ea=Array(2*e.length),f=c=0;c<e.length;c++)d.ea[f++]=e[c]&255,d.ea[f++]=e[c]>>8&255;else if(e=g.data)for(d.ea=Array(4*e.length),f=c=0;c<e.length;c++)d.ea[f++]=
|
function Fa(a,b){var c,d={ea:null,ia:null,Ja:null,Ia:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.Ja=g.load;d.Ia=g.exec;if(e=g.bytes)d.ea=e;else if(e=g.words)for(d.ea=Array(2*e.length),f=c=0;c<e.length;c++)d.ea[f++]=e[c]&255,d.ea[f++]=e[c]>>8&255;else if(e=g.data)for(d.ea=Array(4*e.length),f=c=0;c<e.length;c++)d.ea[f++]=
|
||||||
e[c]&255,d.ea[f++]=e[c]>>8&255,d.ea[f++]=e[c]>>16&255,d.ea[f++]=e[c]>>24&255;else d.ea=g;d.ia=g.symbols;d.ea.length?1==d.ea.length&&(q(d.ea[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ea=e)}return d}
|
e[c]&255,d.ea[f++]=e[c]>>8&255,d.ea[f++]=e[c]>>16&255,d.ea[f++]=e[c]>>24&255;else d.ea=g;d.ia=g.symbols;d.ea.length?1==d.ea.length&&(q(d.ea[0]),d=null):(q("Empty resource: "+a),d=null)}catch(h){q("Resource data error ("+a+"): "+h.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){q("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.ea=e)}return d}
|
||||||
function Ga(){return"http://"+(window?window.location.host:"www.pcjs.org")}function q(a){window&&window.alert(a)}function Ha(a){var b=!1;window&&(b=window.confirm(a));return b}var Ia=null;function Ka(){if(null==Ia){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ia=a}return Ia}
|
function Ga(){return"http://"+(window?window.location.host:"www.pcjs.org")}function q(a){window&&window.alert(a)}function Ha(a){var b=!1;window&&(b=window.confirm(a));return b}var Ja=null;function Ma(){if(null==Ja){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}Ja=a}return Ja}
|
||||||
function Na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Qa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
function Na(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Oa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Pa(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}function Qa(a,b,c){function d(){--a;0<=a&&(b()||(a=0));0<a?setTimeout(d,0):c()}d()}
|
||||||
function Ra(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Sa={init:[],show:[],exit:[]},Ta=!1,Ua=!1,Va=!0;function Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Sa.init.push(a)}
|
function Ra(a,b){function c(){b(100===d)&&(e=setTimeout(c,d),d=100)}var d=0,e=null,f=!1;a.onmousedown=function(){f||e||(d=500,c())};a.ontouchstart=function(){e||(d=500,c())};a.onmouseup=a.onmouseout=function(){e&&(clearTimeout(e),e=null)};a.ontouchend=a.ontouchcancel=function(){e&&(clearTimeout(e),e=null);f=!0}}var Sa={init:[],show:[],exit:[]},Ta=!1,Ua=!1,Va=!0;function Wa(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Xa(a){Sa.init.push(a)}
|
||||||
function Ya(a){if(Va)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Za(a){!Va&&a?(Va=!0,Ta&&$a("init"),Ua&&$a("show")):Va=a}function $a(a){Sa[a]&&Ya(Sa[a])}Wa("onload",function(){Ta=!0;Ya(Sa.init)});Wa("onpageshow",function(){Ua=!0;Ya(Sa.show)});Wa(Pa("Opera")||Pa("iOS")?"onunload":"onbeforeunload",function(){Ya(Sa.exit)});
|
function Ya(a){if(Va)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){q(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Za(a){!Va&&a?(Va=!0,Ta&&$a("init"),Ua&&$a("show")):Va=a}function $a(a){Sa[a]&&Ya(Sa[a])}Wa("onload",function(){Ta=!0;Ya(Sa.init)});Wa("onpageshow",function(){Ua=!0;Ya(Sa.show)});Wa(Pa("Opera")||Pa("iOS")?"onunload":"onbeforeunload",function(){Ya(Sa.exit)});
|
||||||
function u(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.mc=b.comment;this.Rc=b;b=this.id.indexOf(".");0>b?this.fb=this.id:(this.Na=this.id.substr(0,b),this.fb=this.id.substr(b+1));this[a]=c;this.A={ready:!1,Va:!1,Wb:!1,ja:!1,error:!1};this.Pb=null;this.A.error=!1;this.G={};this.i=null;this.na=d||0;v.push(this)}var ab=void 0,bb={};
|
function u(a,b,c,d){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.oc=b.comment;this.Rc=b;b=this.id.indexOf(".");0>b?this.ib=this.id:(this.Pa=this.id.substr(0,b),this.ib=this.id.substr(b+1));this[a]=c;this.B={ready:!1,Xa:!1,Zb:!1,ja:!1,error:!1};this.Rb=null;this.B.error=!1;this.G={};this.i=null;this.na=d||0;v.push(this)}var ab=void 0,bb={};
|
||||||
if(window){ab||(ab=window.location.search.substr(1));for(var cb,db=/\+/g,kb=/([^&=]+)=?([^&]*)/g;cb=kb.exec(ab);)bb[decodeURIComponent(cb[1].replace(db," "))]=decodeURIComponent(cb[2].replace(db," "))}function lb(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
if(window){ab||(ab=window.location.search.substr(1));for(var cb,jb=/\+/g,kb=/([^&=]+)=?([^&]*)/g;cb=kb.exec(ab);)bb[decodeURIComponent(cb[1].replace(jb," "))]=decodeURIComponent(cb[2].replace(jb," "))}function lb(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function z(a,b){b||(b=u);a.prototype=lb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var mb=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else mb={},v=[];function nb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function ob(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
function z(a,b){b||(b=u);a.prototype=lb(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var mb=window.PCjs.Machines||(window.PCjs.Machines={}),v=window.PCjs.Components||(window.PCjs.Components=[])}else mb={},v=[];function nb(a,b,c){mb[a]&&b&&(mb[a][b]=c)}function ob(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<v.length;b++){var d=v[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function pb(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}function qb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
function pb(a){if(void 0!==a){var b;for(b=0;b<v.length;b++)if(v[b].id===a)return v[b]}return null}function qb(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<v.length;d++)if(c)c==v[d]&&(c=null);else if(!(a!=v[d].type||b&&v[d].id.indexOf(b)))return v[d]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){q(c.message+" ("+a+")")}return b}
|
||||||
function C(a,b){b=D(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pdp11-binding":(g=B(f))&&g.binding&&a.sa(g.type,g.binding,f,g.value),l=h.length}}}}
|
function C(a,b){b=D(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var h=g.split(" "),l=0;l<h.length;l++)switch(g=h[l],g){case "pdp11-binding":(g=B(f))&&g.binding&&a.sa(g.type,g.binding,f,g.value),l=h.length}}}}
|
||||||
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},sa:function(a,b,c){switch(b){case "clear":return this.G[b]||(this.G[b]=c,c.onclick=function(a){return function(){a.G.print&&(a.G.print.value="")}}(this)),!0;case "print":return this.G[b]||(this.Oa=this.G[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
u.prototype={constructor:u,parent:null,toString:function(){return this.name?this.name:this.id||this.type},sa:function(a,b,c){switch(b){case "clear":return this.G[b]||(this.G[b]=c,c.onclick=function(a){return function(){a.G.print&&(a.G.print.value="")}}(this)),!0;case "print":return this.G[b]||(this.Qa=this.G[b]=c,c.value="",this.j=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.P=function(a){this.j(a,this.fb)}),!0;default:return!1}},log:function(){},j:function(){},status:function(a){this.j(this.fb+": "+a)},P:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},Fa:function(){return this.A.ja=!0},Ea:function(a,b){b&&(this.A.ja=!1);return!0}};function E(a,b,c,d){a.i&&(!0===c||F(a,c|0))&&a.i.message(b,d)}function F(a,b){if(a.i){a===a.i?b|=0:b=b||a.na;var c=a.i.na&b;return!!b&&c===b||!!(c&a.i.Jc)}return!1}
|
this.O=function(a){this.j(a,this.ib)}),!0;default:return!1}},log:function(){},j:function(){},status:function(a){this.j(this.ib+": "+a)},O:function(a,b,c){c=c||this.type;b||q((c?c+": ":"")+a)},Ga:function(){return this.B.ja=!0},Fa:function(a,b){b&&(this.B.ja=!1);return!0}};function E(a,b,c,d){a.i&&(!0===c||F(a,c|0))&&a.i.message(b,d)}function F(a,b){if(a.i){a===a.i?b|=0:b=b||a.na;var c=a.i.na&b;return!!b&&c===b||!!(c&a.i.Kc)}return!1}
|
||||||
function rb(a,b){if(a.A.Wb)return a.A.Va=!1,a.A.Wb=!1;if(a.A.error)return a.j(a.toString()+" error"),!1;a.A.Va=b;return a.A.Va}function sb(a,b){a.A.Va&&(b?a.A.Wb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.A.Va}function H(a,b){a.A.error||(a.A.ready=!1!==b,a.A.ready&&(b=a.Pb,a.Pb=null,b&&b()))}function tb(a,b){b&&(a.A.ready?b():a.Pb=b);return a.A.ready}function ub(a){return a.A.error?(a.j(a.toString()+" error"),!0):!1}function vb(a,b){a.A.error=!0;a.P(b)}
|
function rb(a,b){if(a.B.Zb)return a.B.Xa=!1,a.B.Zb=!1;if(a.B.error)return a.j(a.toString()+" error"),!1;a.B.Xa=b;return a.B.Xa}function sb(a,b){a.B.Xa&&(b?a.B.Zb=!0:void 0===b&&a.j(a.toString()+" busy"));return a.B.Xa}function H(a,b){a.B.error||(a.B.ready=!1!==b,a.B.ready&&(b=a.Rb,a.Rb=null,b&&b()))}function tb(a,b){b&&(a.B.ready?b():a.Rb=b);return a.B.ready}function ub(a){return a.B.error?(a.j(a.toString()+" error"),!0):!1}function vb(a,b){a.B.error=!0;a.O(b)}
|
||||||
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});
|
||||||
var wb="undefined"!==typeof ArrayBuffer,xb={cpu:1,trap:16,bus:64,memory:128,device:256,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
var wb="undefined"!==typeof ArrayBuffer,xb={cpu:1,trap:16,fault:32,bus:64,memory:128,device:256,keyboard:65536,key:131072,disk:2097152,serial:8388608,speaker:33554432,computer:67108864,log:268435456,warn:536870912,buffer:1073741824,halt:-2147483648};
|
||||||
function yb(a){u.call(this,"Panel",a,yb);this.D=0;this.K=this.J=!1;this.g=this.B=this.v=0;this.L=20;this.I={};this.f={START:[1,!0,!1,this.$c],STEP:[1,!1,!1,this.ad],ENABLE:[1,!1,!1,this.Wc],CONT:[1,!0,!1,this.Uc],DEP:[0,!0,!1,this.Vc],EXAM:[1,!0,!1,this.Xc],LOAD:[1,!0,!1,this.Zc],TEST:[0,!0,!1,this.Yc]};for(a=0;22>a;a++)this.f["S"+a]=[0,!1,!1,this.bd,a]}z(yb);k=yb.prototype;k.reset=function(){this.L=this.L&-120|20};
|
function yb(a){u.call(this,"Panel",a,yb);this.H=0;this.K=this.J=!1;this.g=this.C=this.w=0;this.L=20;this.D={};this.f={START:[1,!0,!1,this.ad],STEP:[1,!1,!1,this.bd],ENABLE:[1,!1,!1,this.Xc],CONT:[1,!0,!1,this.Vc],DEP:[0,!0,!1,this.Wc],EXAM:[1,!0,!1,this.Yc],LOAD:[1,!0,!1,this.$c],TEST:[0,!0,!1,this.Zc]};for(a=0;22>a;a++)this.f["S"+a]=[0,!1,!1,this.cd,a]}z(yb);k=yb.prototype;k.reset=function(){this.L=this.L&-120|20};
|
||||||
k.sa=function(a,b,c,d){if(this.C&&this.C.sa(a,b,c,d)||this.b&&this.b.sa(a,b,c,d)||this.i&&this.i.sa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.G[b]=c,this.D++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.I[b]=d?1:0,this.D++,!0):"switch"==a?(void 0===this.f[b]&&(this.f[b]=[d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){var c=
|
k.sa=function(a,b,c,d){if(this.u&&this.u.sa(a,b,c,d)||this.b&&this.b.sa(a,b,c,d)||this.i&&this.i.sa(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.G[b]=c,this.H++,!0;default:return"led"==a||"rled"==a?(this.G[b]=c,this.D[b]=d?1:0,this.H++,!0):"switch"==a?(void 0===this.f[b]&&(this.f[b]=[d?1:0]),this.G[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){var c=
|
||||||
a.f[b];zb(a,b,c[0]=1-c[0]);c[2]=!0;c[3]&&c[3].call(a,c[0],c[4]);a.J="DEP"==b;a.K="EXAM"==b}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){var c=a.f[b];c[1]&&c[2]&&(zb(a,b,c[0]=1-c[0]),c[3]&&c[3].call(a,c[0],c[4]));c[2]=!1}}(this,b),!0):this.parent.sa.call(this,a,b,c,d)}};k.Da=function(a,b,c,d){this.C=a;this.w=b;this.b=c;this.i=d;Ab(b,this,Bb);Cb(b,this.reset.bind(this));Db(this);for(var e in this.f)zb(this,e,this.f[e][0])};k.Fa=function(a,b){b||Eb();return!0};k.Ea=function(){return!0};
|
a.f[b];zb(a,b,c[0]=1-c[0]);c[2]=!0;c[3]&&c[3].call(a,c[0],c[4]);a.J="DEP"==b;a.K="EXAM"==b}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){var c=a.f[b];c[1]&&c[2]&&(zb(a,b,c[0]=1-c[0]),c[3]&&c[3].call(a,c[0],c[4]));c[2]=!1}}(this,b),!0):this.parent.sa.call(this,a,b,c,d)}};k.Ea=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.i=d;Ab(b,this,Bb);Cb(b,this.reset.bind(this));Db(this);for(var e in this.f)zb(this,e,this.f[e][0])};k.Ga=function(a,b){b||(Eb(),this.stop());return!0};
|
||||||
function Fb(a,b,c,d){a.G[b]&&(void 0===c&&(vb(a,"Value for "+b+" is invalid"),a.b.ha()),c=8==(a.i&&a.i.$||8)?ra(c,d):p(c,d),a.G[b].textContent!=c&&(a.G[b].textContent=c))}function Gb(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Db(a,b){for(var c in a.I)Gb(a,c,null!=b?b:a.I[c])}function zb(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}
|
k.Fa=function(){return!0};function Fb(a,b,c){if(a=a.G[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function Db(a,b){for(var c in a.D)Fb(a,c,null!=b?b:a.D[c])}function zb(a,b,c){if(a=a.G[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function Tb(a,b,c,d){a.G[b]&&(void 0===c&&(vb(a,"Value for "+b+" is invalid"),a.b.ha()),c=8==(a.i&&a.i.$||8)?ra(c,d):p(c,d),a.G[b].textContent!=c&&(a.G[b].textContent=c))}
|
||||||
k.$c=function(a){a||this.b.A.ca||(this.w.reset(),Ub(this.b),this.f.ENABLE&&this.f.ENABLE[0]&&this.b.bb())};k.ad=function(){};k.Wc=function(a){a||this.b.ha()};k.Uc=function(a){a||this.b.A.ca||(this.f.ENABLE&&this.f.ENABLE[0]?this.b.bb():(a=this.i)&&!sb(a,!0)?(rb(a,!0),a.cb(0),rb(a,!1)):(this.b.cb(1),this.Z()))};k.Vc=function(a){a&&!this.b.A.ca&&(this.J&&Vb(this,this.g+2),this.w.Ib(this.g,Wb(this,this.v)))};k.Xc=function(a){a||this.b.A.ca||(this.K&&Vb(this,this.g+2),Wb(this,this.w.lb(this.g)))};
|
k.ad=function(a){a||this.b.B.Z||(this.A.reset(),Ub(this.b),this.f.ENABLE&&this.f.ENABLE[0]&&this.b.fb())};k.bd=function(){};k.Xc=function(a){a||this.b.ha()};k.Vc=function(a){if(!a&&!this.b.B.Z)if(this.f.ENABLE&&this.f.ENABLE[0])this.b.fb();else{if((a=this.i)&&!sb(a,!0))rb(a,!0),a.gb(0),rb(a,!1);else try{var b=this.b.gb(1);0<b&&(Vb(this.b,b),Wb(this.b,b,!0),Xb(this.b,b))}catch(c){"number"!=typeof c&&vb(this.b,c.stack||c.message)}this.stop();this.u&&this.u.ca()}};
|
||||||
k.Zc=function(a){a||this.b.A.ca||Vb(this,this.v)};k.Yc=function(a){Db(this,a||null)};k.bd=function(a,b){this.v=a?this.v|1<<b:this.v&~(1<<b)};function Vb(a,b){a.g=b&a.w.Ra;b=a.g;for(var c=0;22>c;c++)Gb(a,"A"+c,b&1<<c)}function Wb(a,b){a.B=b&65535;b=a.B;for(var c=0;16>c;c++)Gb(a,"D"+c,b&1<<c);return a.B}
|
k.Wc=function(a){a&&!this.b.B.Z&&(this.J&&Yb(this,this.g+2),this.A.Jb(this.g,Zb(this,this.w)))};k.Yc=function(a){a||this.b.B.Z||(this.K&&Yb(this,this.g+2),Zb(this,this.A.mb(this.g)))};k.$c=function(a){a||this.b.B.Z||Yb(this,this.w)};k.Zc=function(a){Db(this,a||null)};k.cd=function(a,b){this.w=a?this.w|1<<b:this.w&~(1<<b)};function Yb(a,b){a.g=b&a.A.Ta;$b(a,"A",a.g,22)}function Zb(a,b){a.C=b&65535;$b(a,"D",a.C,16);return a.C}function ac(a,b,c){a.D[b]=c;Fb(a,b,c)}
|
||||||
k.Z=function(){if(this.D){for(var a=0;a<this.b.u.length;a++)Fb(this,"R"+a,this.b.u[a]);a=Xb(this.b);Fb(this,"PS",a);Fb(this,"NF",a&8?1:0,1);Fb(this,"ZF",a&4?1:0,1);Fb(this,"VF",a&2?1:0,1);Fb(this,"CF",a&1?1:0,1);Wb(this,this.b.u[0]);Vb(this,this.b.u[7])}};k.cd=function(a){return(a?this.v:this.B)&65535};k.Xd=function(a){this.B=a};var Yb={},Bb=(Yb[65400]=[null,null,yb.prototype.cd,yb.prototype.Xd,"CNSW"],Yb);
|
function $b(a,b,c,d){for(var e=0;e<d;e++)ac(a,b+e,c&1<<e)}k.stop=function(){Yb(this,this.b.v[7])};k.ca=function(){if(this.H){for(var a=0;a<this.b.v.length;a++)Tb(this,"R"+a,this.b.v[a]);a=bc(this.b);Tb(this,"PS",a);Tb(this,"NF",a&8?1:0,1);Tb(this,"ZF",a&4?1:0,1);Tb(this,"VF",a&2?1:0,1);Tb(this,"CF",a&1?1:0,1);$b(this,"D",this.C,16);$b(this,"A",this.g,22);a=this.b.Za?this.b.ob&16?1:2:4;ac(this,"B22",a&1);ac(this,"B18",a&2);ac(this,"B16",a&4)}};k.dd=function(a){return(a?this.w:this.C)&65535};
|
||||||
function Eb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=pb(e.id);f||(a=!0,f=new yb(e));C(f,d);a&&H(f)}}Xa(Eb);
|
k.Yd=function(a){this.C=a};var cc={},Bb=(cc[65400]=[null,null,yb.prototype.dd,yb.prototype.Yd,"CNSW"],cc);function Eb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=pb(e.id);f||(a=!0,f=new yb(e));C(f,d);a&&H(f)}}Xa(Eb);
|
||||||
function Zb(a,b,c){u.call(this,"Bus",a,Zb,64);this.b=b;this.i=c;this.L=a.busWidth||16;this.C=0;this.K=[];this.D=null;this.I=Math.pow(2,this.L);this.Ra=this.I-1|0;this.ya=$b;this.ka=Math.log2(this.ya);this.J=this.ya>>2;this.w=this.ya-1;this.B=this.I/this.ya|0;this.Ua=[];this.f=0;this.g=!1;this.v=[];this.Gc=[ac,bc,cc,dc];a=new I(this);ec(a,this.i);this.X=Array(this.B);for(b=0;b<this.B;b++)this.X[b]=a;H(this)}z(Zb);var $b=8192,fc=$b-1;
|
function dc(a,b,c){u.call(this,"Bus",a,dc,64);this.b=b;this.i=c;this.L=a.busWidth||16;this.g=0;this.K=[];this.D=null;this.H=Math.pow(2,this.L);this.Ta=this.H-1|0;this.xa=ec;this.ka=Math.log2(this.xa);this.J=this.xa>>2;this.A=this.xa-1;this.C=this.H/this.xa|0;this.Wa=[];this.u=0;this.f=!1;this.w=[];this.Hc=[fc,gc,hc,ic];a=new I(this);jc(a,this.i);this.W=Array(this.C);for(b=0;b<this.C;b++)this.W[b]=a;H(this)}z(dc);var ec=8192,kc=ec-1;
|
||||||
function ac(a,b){var c=-1,d=this.controller,e=d.Ua[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.Ua[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.i&&F(this.i,64)&&E(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;K(d,b,16,3);c=255;this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c}
|
function fc(a,b){var c=-1,d=this.controller,e=d.Wa[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.Wa[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return this.i&&F(this.i,e[5])&&E(this.i,e[4]+".readByte("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;d.Da(b,16,3);c=255;this.i&&F(this.i,e[5])&&E(this.i,"warning: unconverted read access to byte @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c}
|
||||||
function bc(a,b,c){var d=!1,e=this.controller,f=e.Ua[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Ua[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.i&&F(this.i,64)&&E(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(K(e,c,16,5),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b),!0,!0))}
|
function gc(a,b,c){var d=!1,e=this.controller,f=e.Wa[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.Wa[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d?this.i&&F(this.i,f[5])&&E(this.i,f[4]+".writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(e.Da(c,16,5),this.i&&F(this.i,f[5])&&E(this.i,"warning: unconverted write access to byte @"+J(this.i,c)+": "+J(this.i,b),!0,!0))}
|
||||||
function cc(a,b){var c=-1,d=this.controller;(a=d.Ua[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&F(this.i,64)&&E(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;K(d,b,16,2);c=65535;this.i&&F(this.i,64)&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c}
|
function hc(a,b){var c=-1,d=this.controller;(a=d.Wa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return this.i&&F(this.i,a[5])&&E(this.i,a[4]+".readWord("+J(this.i,b)+"): "+J(this.i,c),!0,!0),c;d.Da(b,16,2);c=65535;this.i&&F(this.i,a[5])&&E(this.i,"warning: unconverted read access to word @"+J(this.i,b)+": "+J(this.i,c),!0,!0);return c}
|
||||||
function dc(a,b,c){var d=!1,e=this.controller;if(a=e.Ua[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.i&&F(this.i,64)&&E(this.i,a[4]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(K(e,c,16,4),this.i&&F(this.i,64)&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b),!0,!0))}
|
function ic(a,b,c){var d=!1,e=this.controller;if(a=e.Wa[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d?this.i&&F(this.i,a[5])&&E(this.i,a[4]+".writeWord("+J(this.i,c)+","+J(this.i,b)+")",!0,!0):(e.Da(c,16,4),this.i&&F(this.i,a[5])&&E(this.i,"warning: unconverted write access to word @"+J(this.i,c)+": "+J(this.i,b),!0,!0))}
|
||||||
function gc(a,b){if(b!=a.C){var c;a.C&&(c=(1<<a.C)-$b,hc(a,c,$b,a.K),a.C=0);b&&(a.C=b,c=(1<<b)-$b,a.K=ic(a,c,$b),a.D?hc(a,c,$b,a.D):(jc(a,c,$b,kc,a),a.D=ic(a,c,$b)))}}k=Zb.prototype;k.reset=function(){for(var a=0;a<this.v.length;a++)this.v[a]();gc(this,16)};k.Fa=function(a,b){b||this.reset();return!0};
|
function lc(a,b){if(b!=a.g){var c;a.g&&(c=(1<<a.g)-ec,mc(a,c,ec,a.K),a.g=0);b&&(a.g=b,c=(1<<b)-ec,a.K=nc(a,c,ec),a.D?mc(a,c,ec,a.D):(oc(a,c,ec,pc,a),a.D=nc(a,c,ec)))}}k=dc.prototype;k.reset=function(){for(var a=0;a<this.w.length;a++)this.w[a]();lc(this,16)};k.Ga=function(a,b){b||this.reset();return!0};
|
||||||
function jc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.ka;0<g&&h<a.X.length;){var l=a.X[h],m=h*a.ya,n=a.ya-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.F)return l.Kb+=l.F-f,l.F=f,!0;if(f>=l.F+l.Kb){n=l.size-(f-m);n>g&&(n=g);l.Kb=f-l.F+n;f=m+a.ya;g-=n;h++;continue}}return lc(1,f,g)}f=new I(a,f,n,a.ya,d,e);ec(f,a.i,l);a.X[h++]=f;f=m+a.ya;g-=n}if(0>=g){c/=1024;var r;e="";r?10<r&&(r=10):r=c&-65536?10:5;if(null==c||isNaN(c))for(;0<r--;)e="?"+e;else for(;0<r--;)e=String.fromCharCode(c%10+48)+e,c/=
|
function oc(a,b,c,d,e){for(var f=b,g=c,h=f>>>a.ka;0<g&&h<a.W.length;){var l=a.W[h],m=h*a.xa,n=a.xa-(f-m);n>g&&(n=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.F)return l.Lb+=l.F-f,l.F=f,!0;if(f>=l.F+l.Lb){n=l.size-(f-m);n>g&&(n=g);l.Lb=f-l.F+n;f=m+a.xa;g-=n;h++;continue}}return qc(1,f,g)}f=new I(a,f,n,a.xa,d,e);jc(f,a.i,l);a.W[h++]=f;f=m+a.xa;g-=n}if(0>=g){c/=1024;var r;e="";r?10<r&&(r=10):r=c&-65536?10:5;if(null==c||isNaN(c))for(;0<r--;)e="?"+e;else for(;0<r--;)e=String.fromCharCode(c%10+48)+e,c/=
|
||||||
10;a.status(e+"Kb "+mc[d]+" at "+ra(b));return!0}return lc(2,b,c)}function ic(a,b,c){var d=[];for(b>>>=a.ka;0<c&&b<a.X.length;)d.push(a.X[b++]),c-=a.ya;return d}function hc(a,b,c,d){var e=0;for(b>>>=a.ka;0<c&&b<a.X.length;){var f=d[e++];if(!f)break;a.X[b++]=f;c-=a.ya}}k.Db=function(a){3932160<=a&&(a=nc(this.b,a));return this.X[(a&this.Ra)>>>this.ka].Rb(a&this.w,a)};k.Qb=function(a){this.g=!1;this.f++;a=this.X[(a&this.Ra)>>>this.ka].bc(a&this.w,a);this.f--;return a};
|
10;a.status(e+"Kb "+rc[d]+" at "+ra(b));return!0}return qc(2,b,c)}function nc(a,b,c){var d=[];for(b>>>=a.ka;0<c&&b<a.W.length;)d.push(a.W[b++]),c-=a.xa;return d}function mc(a,b,c,d){var e=0;for(b>>>=a.ka;0<c&&b<a.W.length;){var f=d[e++];if(!f)break;a.W[b++]=f;c-=a.xa}}k.Eb=function(a){3932160<=a&&(a=sc(this.b,a));return this.W[(a&this.Ta)>>>this.ka].Ub(a&this.A,a)};k.Tb=function(a){this.f=!1;this.u++;a=this.W[(a&this.Ta)>>>this.ka].ec(a&this.A,a);this.u--;return a};
|
||||||
k.oa=function(a){3932160<=a&&(a=nc(this.b,a));return this.X[(a&this.Ra)>>>this.ka].ra(a&this.w,a)};k.lb=function(a){var b=a&this.w,c=(a&this.Ra)>>>this.ka;this.g=!1;this.f++;a=this.X[c].cc(b,a);this.f--;return a};k.Sb=function(a,b){3932160<=a&&(a=nc(this.b,a));this.X[(a&this.Ra)>>>this.ka].Ub(a&this.w,b&255,a)};k.nb=function(a,b){this.g=!1;this.f++;this.X[(a&this.Ra)>>>this.ka].Vb(a&this.w,b&255,a);this.f--};
|
k.oa=function(a){3932160<=a&&(a=sc(this.b,a));return this.W[(a&this.Ta)>>>this.ka].ra(a&this.A,a)};k.mb=function(a){var b=a&this.A,c=(a&this.Ta)>>>this.ka;this.f=!1;this.u++;a=this.W[c].fc(b,a);this.u--;return a};k.Vb=function(a,b){3932160<=a&&(a=sc(this.b,a));this.W[(a&this.Ta)>>>this.ka].Xb(a&this.A,b&255,a)};k.pb=function(a,b){this.f=!1;this.u++;this.W[(a&this.Ta)>>>this.ka].Yb(a&this.A,b&255,a);this.u--};
|
||||||
k.ab=function(a,b){3932160<=a&&(a=nc(this.b,a));this.X[(a&this.Ra)>>>this.ka].Lb(a&this.w,b&65535,a)};k.Ib=function(a,b){var c=a&this.w,d=(a&this.Ra)>>>this.ka;this.g=!1;this.f++;this.X[d].gc(c,b&65535,a);this.f--};function oc(a){for(var b=0,c=[],d=0;d<a.B;d++){var e=a.X[d];if(e.Pa||e.Mc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}
|
k.eb=function(a,b){3932160<=a&&(a=sc(this.b,a));this.W[(a&this.Ta)>>>this.ka].Mb(a&this.A,b&65535,a)};k.Jb=function(a,b){var c=a&this.A,d=(a&this.Ta)>>>this.ka;this.f=!1;this.u++;this.W[d].jc(c,b&65535,a);this.u--};function tc(a){for(var b=0,c=[],d=0;d<a.C;d++){var e=a.W[d];if(e.Ra||e.Nc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,h=0,l=[];g<e.length;){for(var m=e[g],n=g+1;n<e.length&&e[n]===m;)n++;l[h++]=n-g;l[h++]=m;g=n}l.length<e.length&&(e=l)}c[f]=e}}return c}
|
||||||
function pc(a,b,c,d,e,f,g,h){for(;b<=c;b+=2){var l=b&fc;void 0!==a.Ua[l]?q("I/O address already registered: "+p(b,8,!0)):a.Ua[l]=[d,e,f,g,h||"unknown",!1]}}
|
function uc(a,b,c,d,e,f,g,h,l){for(;b<=c;b+=2){var m=b&kc;void 0!==a.Wa[m]?q("I/O address already registered: "+p(b,8,!0)):a.Wa[m]=[d,e,f,g,h||"unknown",l,!1]}}
|
||||||
function Ab(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[6]&&f[6]>a.b.rb)){var g=f[0]?f[0].bind(b):null,h=f[1]?f[1].bind(b):null,l=f[2]?f[2].bind(b):null,m=f[3]?f[3].bind(b):null,n=f[5]||1;65472<=e&&65487>=e&&(!g&&l&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(l)),!h&&m&&(h=function(a){return function(b,c){return a(b,c)}.bind(b)}(m)));for(var r=f[4],t=0;t<n;t++,e+=2)r&&1<n&&(r=f[4]+t),pc(a,e,e,g,h,l,m,r)}}}function Cb(a,b){a.v.push(b)}
|
function Ab(a,b,c,d){for(var e in c){var f=+e,g=c[e];if(!(g[6]&&g[6]>a.b.vb)){var h=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,m=g[2]?g[2].bind(b):null,n=g[3]?g[3].bind(b):null,r=g[5]||1;65472<=f&&65487>=f&&(!h&&m&&(h=function(a){return function(b){return a(b)&255}.bind(b)}(m)),!l&&n&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var t=g[4],w=0;w<r;w++,f+=2)t&&1<r&&(t=g[4]+w),uc(a,f,f,h,l,m,n,t,d||64)}}}function Cb(a,b){a.w.push(b)}
|
||||||
function K(a,b,c,d){a.g=!0;a.f||(a.i&&F(a.i,64)&&(E(a.i,"memory fault ("+d+") on address "+J(a.i,b),!0,!0),qc(a.i)),c&&(a.b.ga|=c),a.b.pa(4,b))}function rc(a){var b=a.g;a.g=!1;return b}function lc(a,b,c){q("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}function L(a){u.call(this,"Device",a,L,256);this.f={fa:0,fc:-1}}z(L);k=L.prototype;
|
k.Da=function(a,b,c){this.f=!0;this.u||(this.i&&F(this.i,32)&&E(this.i,"memory fault ("+c+") on address "+J(this.i,a),!0,!0),b&&(this.b.ga|=b),this.b.pa(4,a))};function vc(a){var b=a.f;a.f=!1;return b}function qc(a,b,c){q("Memory block error ("+a+": "+p(b)+","+p(c)+")");return!1}function K(a){u.call(this,"Device",a,K,256);this.u={fa:0,ic:-1}}z(K);k=K.prototype;
|
||||||
k.Da=function(a,b,c,d){this.w=b;this.b=c;this.i=d;var e=this;this.f.fc=sc(c,function(){e.f.Wa|=128;e.f.Wa&64&&(tc(e.b,e.f.Vd),uc(e.b,e.f.fc,1E3/60))});this.f.Vd=vc(64,6);Ab(b,this,M);Cb(b,this.reset.bind(this));H(this)};k.reset=function(){this.f.Wa=0};k.ld=function(){var a=this.f.Wa;this.f.Wa&=-129;return a};k.ee=function(a){this.f.Wa=a;a&64&&uc(this.b,this.f.fc,1E3/60);this.f.Wa=a&-129};k.nd=function(){var a=this.b;return a.B&62337|a.gb<<5|a.hb<<1};
|
k.Ea=function(a,b,c,d){this.A=b;this.b=c;this.i=d;var e=this;this.u.ic=wc(c,function(){e.u.Ya|=128;e.u.Ya&64&&(xc(e.b,e.u.Wd),yc(e.b,e.u.ic,1E3/60))});this.u.Wd=Ic(64,6);Ab(b,this,L);Cb(b,this.reset.bind(this));H(this)};k.reset=function(){this.u.Ya=0};k.md=function(){var a=this.u.Ya;this.u.Ya&=-129;return a};k.fe=function(a){this.u.Ya=a;a&64&&yc(this.b,this.u.ic,1E3/60);this.u.Ya=a&-129};k.od=function(){var a=this.b;return a.C&62337|a.La<<5|a.Ma<<1};
|
||||||
k.ge=function(a){var b=this.b;a&=62337;if(b.B!=a){b.B=a;b.gb=a>>5&3;b.hb=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.da!=c&&(b.da=c,wc(b));b.I&&b.I.Z()}};k.od=function(){var a=this.b.Ya;a&65280&&(a=(a<<8|a>>8)&65535);return a};k.pd=function(){return this.b.Hb};k.qd=function(){return this.b.xb};k.he=function(a){var b=this.b;1170>b.rb&&(a&=-49);b.xb!=a&&(b.xb=a,b.qc=a&16?4194303:262143,wc(b),b.I&&b.I.Z())};k.Qd=function(a){a=a>>1&63;var b=this.b.Jb[a>>1];return a&1?b>>16:b&65535};
|
k.he=function(a){var b=this.b;a&=62337;if(b.C!=a){b.C=a;b.La=a>>5&3;b.Ma=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Za!=c&&(b.Za=c,Jc(b))}};k.pd=function(){var a=this.b.ab;a&65280&&(a=(a<<8|a>>8)&65535);return a};k.qd=function(){return this.b.Ib};k.rd=function(){return this.b.ob};k.ie=function(a){var b=this.b;1170>b.vb&&(a&=-49);b.ob!=a&&(b.ob=a,b.Qb=a&16?4194303:262143,Jc(b))};k.Rd=function(a){a=a>>1&63;var b=this.b.Kb[a>>1];return a&1?b>>16:b&65535};
|
||||||
k.He=function(a,b){b=b>>1&63;var c=b>>1;this.b.Jb[c]=b&1?this.b.Jb[c]&65535|(a&63)<<16:this.b.Jb[c]&-65536|a&65534};k.Jd=function(a){return this.b.V[1][a>>1&7]};k.Ae=function(a,b){this.b.V[1][b>>1&7]=a&65295};k.Hd=function(a){return this.b.V[1][(a>>1&7)+8]};k.ye=function(a,b){this.b.V[1][(b>>1&7)+8]=a&65295};k.Id=function(a){return this.b.xa[1][a>>1&7]};k.ze=function(a,b){b=b>>1&7;this.b.xa[1][b]=a;this.b.V[1][b]&=65295};k.Gd=function(a){return this.b.xa[1][(a>>1&7)+8]};
|
k.Ie=function(a,b){b=b>>1&63;var c=b>>1;this.b.Kb[c]=b&1?this.b.Kb[c]&65535|(a&63)<<16:this.b.Kb[c]&-65536|a&65534};k.Kd=function(a){return this.b.U[1][a>>1&7]};k.Be=function(a,b){this.b.U[1][b>>1&7]=a&65295};k.Id=function(a){return this.b.U[1][(a>>1&7)+8]};k.ze=function(a,b){this.b.U[1][(b>>1&7)+8]=a&65295};k.Jd=function(a){return this.b.wa[1][a>>1&7]};k.Ae=function(a,b){b=b>>1&7;this.b.wa[1][b]=a;this.b.U[1][b]&=65295};k.Hd=function(a){return this.b.wa[1][(a>>1&7)+8]};
|
||||||
k.xe=function(a,b){b=(b>>1&7)+8;this.b.xa[1][b]=a;this.b.V[1][b]&=65295};k.kd=function(a){return this.b.V[0][a>>1&7]};k.de=function(a,b){this.b.V[0][b>>1&7]=a&65295};k.hd=function(a){return this.b.V[0][(a>>1&7)+8]};k.be=function(a,b){this.b.V[0][(b>>1&7)+8]=a&65295};k.jd=function(a){return this.b.xa[0][a>>1&7]};k.ce=function(a,b){b=b>>1&7;this.b.xa[0][b]=a;this.b.V[0][b]&=65295};k.gd=function(a){return this.b.xa[0][(a>>1&7)+8]};k.ae=function(a,b){b=(b>>1&7)+8;this.b.xa[0][b]=a;this.b.V[0][b]&=65295};
|
k.ye=function(a,b){b=(b>>1&7)+8;this.b.wa[1][b]=a;this.b.U[1][b]&=65295};k.ld=function(a){return this.b.U[0][a>>1&7]};k.ee=function(a,b){this.b.U[0][b>>1&7]=a&65295};k.jd=function(a){return this.b.U[0][(a>>1&7)+8]};k.ce=function(a,b){this.b.U[0][(b>>1&7)+8]=a&65295};k.kd=function(a){return this.b.wa[0][a>>1&7]};k.de=function(a,b){b=b>>1&7;this.b.wa[0][b]=a;this.b.U[0][b]&=65295};k.hd=function(a){return this.b.wa[0][(a>>1&7)+8]};k.be=function(a,b){b=(b>>1&7)+8;this.b.wa[0][b]=a;this.b.U[0][b]&=65295};
|
||||||
k.Pd=function(a){return this.b.V[3][a>>1&7]};k.Ge=function(a,b){this.b.V[3][b>>1&7]=a&65295};k.Nd=function(a){return this.b.V[3][(a>>1&7)+8]};k.Ee=function(a,b){this.b.V[3][(b>>1&7)+8]=a&65295};k.Od=function(a){return this.b.xa[3][a>>1&7]};k.Fe=function(a,b){b=b>>1&7;this.b.xa[3][b]=a;this.b.V[3][b]&=65295};k.Md=function(a){return this.b.xa[3][(a>>1&7)+8]};k.De=function(a,b){b=(b>>1&7)+8;this.b.xa[3][b]=a;this.b.V[3][b]&=65295};k.vb=function(a){a&=7;return this.b.M&2048?this.b.Sa[a]:this.b.u[a]};
|
k.Qd=function(a){return this.b.U[3][a>>1&7]};k.He=function(a,b){this.b.U[3][b>>1&7]=a&65295};k.Od=function(a){return this.b.U[3][(a>>1&7)+8]};k.Fe=function(a,b){this.b.U[3][(b>>1&7)+8]=a&65295};k.Pd=function(a){return this.b.wa[3][a>>1&7]};k.Ge=function(a,b){b=b>>1&7;this.b.wa[3][b]=a;this.b.U[3][b]&=65295};k.Nd=function(a){return this.b.wa[3][(a>>1&7)+8]};k.Ee=function(a,b){b=(b>>1&7)+8;this.b.wa[3][b]=a;this.b.U[3][b]&=65295};k.zb=function(a){a&=7;return this.b.M&2048?this.b.Ua[a]:this.b.v[a]};
|
||||||
k.yb=function(a,b){b&=7;this.b.M&2048?this.b.Sa[b]=a:this.b.u[b]=a};k.vd=function(){return this.b.M&49152?this.b.Ga[0]:this.b.u[6]};k.me=function(a){this.b.M&49152?this.b.Ga[0]=a:this.b.u[6]=a};k.yd=function(){return this.b.u[7]};k.pe=function(a){this.b.u[7]=a};k.wb=function(a){a&=7;return this.b.M&2048?this.b.u[a]:this.b.Sa[a]};k.zb=function(a,b){b&=7;this.b.M&2048?this.b.u[b]=a:this.b.Sa[b]=a};k.wd=function(){return 1==(this.b.M&49152)>>14?this.b.u[6]:this.b.Ga[1]};
|
k.Bb=function(a,b){b&=7;this.b.M&2048?this.b.Ua[b]=a:this.b.v[b]=a};k.wd=function(){return this.b.M&49152?this.b.Ha[0]:this.b.v[6]};k.ne=function(a){this.b.M&49152?this.b.Ha[0]=a:this.b.v[6]=a};k.zd=function(){return this.b.v[7]};k.qe=function(a){this.b.v[7]=a};k.Ab=function(a){a&=7;return this.b.M&2048?this.b.v[a]:this.b.Ua[a]};k.Cb=function(a,b){b&=7;this.b.M&2048?this.b.v[b]=a:this.b.Ua[b]=a};k.xd=function(){return 1==(this.b.M&49152)>>14?this.b.v[6]:this.b.Ha[1]};
|
||||||
k.ne=function(a){1==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.Ga[1]=a};k.xd=function(){return 3==(this.b.M&49152)>>14?this.b.u[6]:this.b.Ga[3]};k.oe=function(a){3==(this.b.M&49152)>>14?this.b.u[6]=a:this.b.Ga[3]=a};k.ed=function(a){return this.b.zc[a-65504>>1]};k.Zd=function(a,b){this.b.zc[b-65504>>1]=a};k.wc=function(a){return 65520==a?61183:0};k.Dc=function(){};k.Ld=function(){return 1};k.Ce=function(){};k.dd=function(){return this.b.ga};k.Yd=function(){this.b.ga=0};k.md=function(){return this.b.yc};
|
k.oe=function(a){1==(this.b.M&49152)>>14?this.b.v[6]=a:this.b.Ha[1]=a};k.yd=function(){return 3==(this.b.M&49152)>>14?this.b.v[6]:this.b.Ha[3]};k.pe=function(a){3==(this.b.M&49152)>>14?this.b.v[6]=a:this.b.Ha[3]=a};k.fd=function(a){return this.b.Ac[a-65504>>1]};k.$d=function(a,b){this.b.Ac[b-65504>>1]=a};k.xc=function(a){return 65520==a?61183:0};k.Ec=function(){};k.Md=function(){return 1};k.De=function(){};k.ed=function(){return this.b.ga};k.Zd=function(){this.b.ga=0};k.nd=function(){return this.b.zc};
|
||||||
k.fe=function(a,b){b&1||(a&=255);this.b.yc=a};k.rd=function(a){return a?this.b.ec:0};k.ie=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.ec=a;b.H|=2};k.Kd=function(a){return a?this.b.Za&65280:0};k.Be=function(a){this.b.Za=a|255};k.ud=function(){return Xb(this.b)};k.le=function(a){xc(this.b,a&-1809|Xb(this.b)&1808);this.b.H|=128};k.Cc=function(a,b){F(this)&&E(this,"writeIgnored("+ra(b)+"): "+ra(a),!0,!0)};
|
k.ge=function(a,b){b&1||(a&=255);this.b.zc=a};k.sd=function(a){return a?this.b.hc:0};k.je=function(a){var b=this.b;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.hc=a;b.I|=2};k.Ld=function(a){return a?this.b.bb&65280:0};k.Ce=function(a){this.b.bb=a|255};k.vd=function(){return bc(this.b)};k.me=function(a){Kc(this.b,a&-1809|bc(this.b)&1808);this.b.I|=128};k.Dc=function(a,b){F(this)&&E(this,"writeIgnored("+ra(b)+"): "+ra(a),!0,!0)};
|
||||||
var N={},M=(N[61568]=[null,null,L.prototype.Qd,L.prototype.He,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.Jd,L.prototype.Ae,"SISDR",8,1145],N[62608]=[null,null,L.prototype.Hd,L.prototype.ye,"SDSDR",8,1145],N[62624]=[null,null,L.prototype.Id,L.prototype.ze,"SISAR",8,1145],N[62640]=[null,null,L.prototype.Gd,L.prototype.xe,"SDSAR",8,1145],N[62656]=[null,null,L.prototype.kd,L.prototype.de,"KISDR",8,1145],N[62672]=[null,null,L.prototype.hd,L.prototype.be,"KDSDR",8,1145],N[62688]=[null,null,L.prototype.jd,
|
var M={},L=(M[61568]=[null,null,K.prototype.Rd,K.prototype.Ie,"UNIMAP",64,1170],M[62592]=[null,null,K.prototype.Kd,K.prototype.Be,"SISDR",8,1145],M[62608]=[null,null,K.prototype.Id,K.prototype.ze,"SDSDR",8,1145],M[62624]=[null,null,K.prototype.Jd,K.prototype.Ae,"SISAR",8,1145],M[62640]=[null,null,K.prototype.Hd,K.prototype.ye,"SDSAR",8,1145],M[62656]=[null,null,K.prototype.ld,K.prototype.ee,"KISDR",8,1145],M[62672]=[null,null,K.prototype.jd,K.prototype.ce,"KDSDR",8,1145],M[62688]=[null,null,K.prototype.kd,
|
||||||
L.prototype.ce,"KISAR",8,1145],N[62704]=[null,null,L.prototype.gd,L.prototype.ae,"KDSAR",8,1145],N[62798]=[null,null,L.prototype.qd,L.prototype.he,"MMR3",1,1145],N[65382]=[null,null,L.prototype.ld,L.prototype.ee,"LKS"],N[65402]=[null,null,L.prototype.nd,L.prototype.ge,"MMR0",1,1145],N[65404]=[null,null,L.prototype.od,L.prototype.Cc,"MMR1",1,1145],N[65406]=[null,null,L.prototype.pd,L.prototype.Cc,"MMR2",1,1145],N[65408]=[null,null,L.prototype.Pd,L.prototype.Ge,"UISDR",8,1145],N[65424]=[null,null,L.prototype.Nd,
|
K.prototype.de,"KISAR",8,1145],M[62704]=[null,null,K.prototype.hd,K.prototype.be,"KDSAR",8,1145],M[62798]=[null,null,K.prototype.rd,K.prototype.ie,"MMR3",1,1145],M[65382]=[null,null,K.prototype.md,K.prototype.fe,"LKS"],M[65402]=[null,null,K.prototype.od,K.prototype.he,"MMR0",1,1145],M[65404]=[null,null,K.prototype.pd,K.prototype.Dc,"MMR1",1,1145],M[65406]=[null,null,K.prototype.qd,K.prototype.Dc,"MMR2",1,1145],M[65408]=[null,null,K.prototype.Qd,K.prototype.He,"UISDR",8,1145],M[65424]=[null,null,K.prototype.Od,
|
||||||
L.prototype.Ee,"UDSDR",8,1145],N[65440]=[null,null,L.prototype.Od,L.prototype.Fe,"UISAR",8,1145],N[65456]=[null,null,L.prototype.Md,L.prototype.De,"UDSAR",8,1145],N[65472]=[null,null,L.prototype.vb,L.prototype.yb,"R0SET0"],N[65473]=[null,null,L.prototype.vb,L.prototype.yb,"R1SET0"],N[65474]=[null,null,L.prototype.vb,L.prototype.yb,"R2SET0"],N[65475]=[null,null,L.prototype.vb,L.prototype.yb,"R3SET0"],N[65476]=[null,null,L.prototype.vb,L.prototype.yb,"R4SET0"],N[65477]=[null,null,L.prototype.vb,L.prototype.yb,
|
K.prototype.Fe,"UDSDR",8,1145],M[65440]=[null,null,K.prototype.Pd,K.prototype.Ge,"UISAR",8,1145],M[65456]=[null,null,K.prototype.Nd,K.prototype.Ee,"UDSAR",8,1145],M[65472]=[null,null,K.prototype.zb,K.prototype.Bb,"R0SET0"],M[65473]=[null,null,K.prototype.zb,K.prototype.Bb,"R1SET0"],M[65474]=[null,null,K.prototype.zb,K.prototype.Bb,"R2SET0"],M[65475]=[null,null,K.prototype.zb,K.prototype.Bb,"R3SET0"],M[65476]=[null,null,K.prototype.zb,K.prototype.Bb,"R4SET0"],M[65477]=[null,null,K.prototype.zb,K.prototype.Bb,
|
||||||
"R5SET0"],N[65478]=[null,null,L.prototype.vd,L.prototype.me,"R6KERNEL"],N[65479]=[null,null,L.prototype.yd,L.prototype.pe,"R7KERNEL"],N[65480]=[null,null,L.prototype.wb,L.prototype.zb,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.wb,L.prototype.zb,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.wb,L.prototype.zb,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.wb,L.prototype.zb,"R3SET1",1,1145],N[65484]=[null,null,L.prototype.wb,L.prototype.zb,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.wb,
|
"R5SET0"],M[65478]=[null,null,K.prototype.wd,K.prototype.ne,"R6KERNEL"],M[65479]=[null,null,K.prototype.zd,K.prototype.qe,"R7KERNEL"],M[65480]=[null,null,K.prototype.Ab,K.prototype.Cb,"R0SET1",1,1145],M[65481]=[null,null,K.prototype.Ab,K.prototype.Cb,"R1SET1",1,1145],M[65482]=[null,null,K.prototype.Ab,K.prototype.Cb,"R2SET1",1,1145],M[65483]=[null,null,K.prototype.Ab,K.prototype.Cb,"R3SET1",1,1145],M[65484]=[null,null,K.prototype.Ab,K.prototype.Cb,"R4SET1",1,1145],M[65485]=[null,null,K.prototype.Ab,
|
||||||
L.prototype.zb,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.wd,L.prototype.ne,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.xd,L.prototype.oe,"R6USER",1,1145],N[65504]=[null,null,L.prototype.ed,L.prototype.Zd,"CTRL",1,1170],N[65520]=[null,null,L.prototype.wc,L.prototype.Dc,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.wc,L.prototype.Dc,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.Ld,L.prototype.Ce,"SYSID",1,1170],N[65526]=[null,null,L.prototype.dd,L.prototype.Yd,"CPUERR",1,1170],N[65528]=
|
K.prototype.Cb,"R5SET1",1,1145],M[65486]=[null,null,K.prototype.xd,K.prototype.oe,"R6SUPER",1,1145],M[65487]=[null,null,K.prototype.yd,K.prototype.pe,"R6USER",1,1145],M[65504]=[null,null,K.prototype.fd,K.prototype.$d,"CTRL",1,1170],M[65520]=[null,null,K.prototype.xc,K.prototype.Ec,"LSIZE",1,1170],M[65522]=[null,null,K.prototype.xc,K.prototype.Ec,"HSIZE",1,1170],M[65524]=[null,null,K.prototype.Md,K.prototype.De,"SYSID",1,1170],M[65526]=[null,null,K.prototype.ed,K.prototype.Zd,"CPUERR",1,1170],M[65528]=
|
||||||
[null,null,L.prototype.md,L.prototype.fe,"MB",1,1170],N[65530]=[null,null,L.prototype.rd,L.prototype.ie,"PIR"],N[65532]=[null,null,L.prototype.Kd,L.prototype.Be,"SL"],N[65534]=[null,null,L.prototype.ud,L.prototype.le,"PSW"],N);M[65506]=M[65504];M[65508]=M[65504];M[65510]=M[65504];M[65512]=M[65504];M[65514]=M[65504];M[65516]=M[65504];M[65518]=M[65504];
|
[null,null,K.prototype.nd,K.prototype.ge,"MB",1,1170],M[65530]=[null,null,K.prototype.sd,K.prototype.je,"PIR"],M[65532]=[null,null,K.prototype.Ld,K.prototype.Ce,"SL"],M[65534]=[null,null,K.prototype.vd,K.prototype.me,"PSW"],M);L[65506]=L[65504];L[65508]=L[65504];L[65510]=L[65504];L[65512]=L[65504];L[65514]=L[65504];L[65516]=L[65504];L[65518]=L[65504];
|
||||||
Xa(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=B(d);switch(c.type){case "default":c=new L(c);C(c,d);break;case "pc11":c=new Hc(c);C(c,d);break;case "rl11":c=new O(c),C(c,d)}}});var Ic;if(wb){var Jc=new ArrayBuffer(2);(new DataView(Jc)).setUint16(0,256,!0);Ic=256===(new Uint16Array(Jc))[0]}else Ic=!1;var Kc=Ic;
|
Xa(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=B(d);switch(c.type){case "default":c=new K(c);C(c,d);break;case "pc11":c=new Lc(c);C(c,d);break;case "rl11":c=new N(c),C(c,d)}}});var Mc;if(wb){var Nc=new ArrayBuffer(2);(new DataView(Nc)).setUint16(0,256,!0);Mc=256===(new Uint16Array(Nc))[0]}else Mc=!1;var Oc=Mc;
|
||||||
function I(a,b,c,d,e,f){this.w=a;this.id=Lc+=2;this.b=null;this.F=b;this.Kb=c;this.size=d||0;this.type=e||Mc;this.f=e==Nc;this.controller=null;ec(this);this.Pa=this.Mc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Oc(this,f.Gc);else if(wb)this.B=new ArrayBuffer(this.size),this.D=new DataView(this.B,0,this.size),this.G=new Uint8Array(this.B,0,this.size),this.J=new Uint16Array(this.B,0,this.size>>1),this.b=new Int32Array(this.B,0,this.size>>2),Oc(this,Kc?Pc:Qc);else{a=this.b=Array(this.size>>
|
function I(a,b,c,d,e,f){this.A=a;this.id=Pc+=2;this.b=null;this.F=b;this.Lb=c;this.size=d||0;this.type=e||Qc;this.u=e==Rc;this.controller=null;jc(this);this.Ra=this.Nc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.b=a[0],Sc(this,f.Hc);else if(wb)this.C=new ArrayBuffer(this.size),this.D=new DataView(this.C,0,this.size),this.G=new Uint8Array(this.C,0,this.size),this.J=new Uint16Array(this.C,0,this.size>>1),this.b=new Int32Array(this.C,0,this.size>>2),Sc(this,Oc?Tc:Uc);else{a=this.b=Array(this.size>>
|
||||||
2);for(f=0;f<a.length;f++)a[f]=0;Oc(this,Rc)}else Oc(this)}var Mc=0,Nc=2,kc=4,mc=["NONE","RAM","ROM","VID","H/W"],Lc=0;
|
2);for(f=0;f<a.length;f++)a[f]=0;Sc(this,Vc)}else Sc(this)}var Qc=0,Rc=2,pc=4,rc=["NONE","RAM","ROM","VID","H/W"],Pc=0;
|
||||||
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(wb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.D.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(wb)for(b=0;b<a.length;b++)this.D.setInt32(b<<2,a[b],!0);else this.b=a;return this.Pa=!0}return!1},jb:function(a,b){b?this.C++||Sc(this,Tc,!1):this.g++||Uc(this,Tc,!1)},K:function(a,b){this.i&&F(this.i,128)&&(E(this.i,
|
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(wb)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.D.getInt32(b<<2,!0);else a=this.b;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(wb)for(b=0;b<a.length;b++)this.D.setInt32(b<<2,a[b],!0);else this.b=a;return this.Ra=!0}return!1},lb:function(a,b){b?this.g++||Wc(this,Xc,!1):this.f++||Yc(this,Xc,!1)},K:function(a,b){this.i&&F(this.i,128)&&E(this.i,
|
||||||
"attempt to read invalid address "+J(this.i,b),!0),qc(this.i));K(this.w,b,32,2);return 255},v:function(a,b,c){this.i&&F(this.i,128)&&(E(this.i,"attempt to write "+J(this.i,b)+" to invalid addresses "+J(this.i,c),!0),qc(this.i));K(this.w,c,32,4)},L:function(a,b){return this.Rb(a++,b++)|this.Rb(a,b)<<8},I:function(a,b,c){this.Ub(a++,b&255,c++);this.Ub(a,b>>8,c)},S:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},da:function(a,b){a&1&&K(this.w,b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>
|
"attempt to read invalid address "+J(this.i,b),!0);this.A.Da(b,32,2);return 255},w:function(a,b,c){this.i&&F(this.i,128)&&E(this.i,"attempt to write "+J(this.i,b)+" to invalid addresses "+J(this.i,c),!0);this.A.Da(c,32,4)},L:function(a,b){return this.Ub(a++,b++)|this.Ub(a,b)<<8},H:function(a,b,c){this.Xb(a++,b&255,c++);this.Xb(a,b>>8,c)},V:function(a){return this.b[a>>2]>>>((a&3)<<3)&255},da:function(a,b){a&1&&this.A.Da(b,64,2);b=a>>2;a=(a&3)<<3;var c=this.b[b]>>a;return 24>a?c&65535:c&255|(this.b[b+
|
||||||
a?c&65535:c&255|(this.b[b+1]&255)<<8},va:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Pa=!0},Ha:function(a,b,c){a&1&&K(this.w,c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Pa=!0},O:function(a,b){if(this.i&&null!=this.F){var c=this.i;Vc(c,this.F+a,1,c.L)&&c.ha(!0)}return this.bc(a,b)},Na:function(a,b){if(this.i&&null!=this.F){var c=this.i;Vc(c,this.F+a,2,c.L)&&c.ha(!0)}return this.cc(a,
|
1]&255)<<8},va:function(a,b){var c=a>>2;a=(a&3)<<3;this.b[c]=this.b[c]&~(255<<a)|b<<a;this.Ra=!0},Ma:function(a,b,c){a&1&&this.A.Da(c,64,4);c=a>>2;a=(a&3)<<3;24>a?this.b[c]=this.b[c]&~(65535<<a)|b<<a:(this.b[c]=this.b[c]&16777215|b<<24,c++,this.b[c]=this.b[c]&-256|b>>8);this.Ra=!0},P:function(a,b){if(this.i&&null!=this.F){var c=this.i;Zc(c,this.F+a,1,c.L)&&c.ha(!0)}return this.ec(a,b)},Y:function(a,b){if(this.i&&null!=this.F){var c=this.i;Zc(c,this.F+a,2,c.L)&&c.ha(!0)}return this.fc(a,b)},ma:function(a,
|
||||||
b)},ma:function(a,b,c){if(this.i&&null!=this.F){var d=this.i;Vc(d,this.F+a,1,d.B)&&d.ha(!0)}this.f?this.v(a,b,c):this.Vb(a,b,c)},Aa:function(a,b,c){if(this.i&&null!=this.F){var d=this.i;Vc(d,this.F+a,2,d.B)&&d.ha(!0)}this.f?this.v(a,b,c):this.gc(a,b,c)},N:function(a){return this.G[a]},R:function(a,b){a=this.G[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},W:function(a,b){a&1&&K(this.w,b,64,2);return this.D.getUint16(a,!0)},$:function(a,b){a&1&&K(this.w,
|
b,c){if(this.i&&null!=this.F){var d=this.i;Zc(d,this.F+a,1,d.C)&&d.ha(!0)}this.u?this.w(a,b,c):this.Yb(a,b,c)},Aa:function(a,b,c){if(this.i&&null!=this.F){var d=this.i;Zc(d,this.F+a,2,d.C)&&d.ha(!0)}this.u?this.w(a,b,c):this.jc(a,b,c)},N:function(a){return this.G[a]},R:function(a,b){a=this.G[a];this.i&&F(this.i,128)&&E(this.i,"Memory.readByte("+J(this.i,b)+"): "+J(this.i,a),!0);return a},Pa:function(a,b){a&1&&this.A.Da(b,64,2);return this.D.getUint16(a,!0)},$:function(a,b){a&1&&this.A.Da(b,64,2);
|
||||||
b,64,2);a=this.J[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},la:function(a,b){this.G[a]=b;this.Pa=!0},ta:function(a,b,c){this.G[a]=b;this.Pa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},wa:function(a,b,c){a&1&&K(this.w,c,64,4);this.D.setUint16(a,b,!0);this.Pa=!0},fb:function(a,b,c){a&1&&K(this.w,c,64,4);this.J[a>>1]=b;this.Pa=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+
|
a=this.J[a>>1];this.i&&F(this.i,128)&&E(this.i,"Memory.readWord("+J(this.i,b)+"): "+J(this.i,a),!0);return a},la:function(a,b){this.G[a]=b;this.Ra=!0},ua:function(a,b,c){this.G[a]=b;this.Ra=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeByte("+J(this.i,c)+","+J(this.i,b)+")",!0)},ib:function(a,b,c){a&1&&this.A.Da(c,64,4);this.D.setUint16(a,b,!0);this.Ra=!0},La:function(a,b,c){a&1&&this.A.Da(c,64,4);this.J[a>>1]=b;this.Ra=!0;this.i&&F(this.i,128)&&E(this.i,"Memory.writeWord("+J(this.i,c)+","+J(this.i,
|
||||||
J(this.i,b)+")",!0)}};function ec(a,b,c){a.i=b;a.g=a.C=0;c&&((a.g=c.g)&&Uc(a,Tc,!1),(a.C=c.C)&&Sc(a,Tc,!1))}function Wc(a,b){b?--a.C||(a.Ub=a.f?a.v:a.Vb,a.Lb=a.f?a.I:a.gc):--a.g||(a.Rb=a.bc,a.ra=a.cc)}function Sc(a,b,c){c&&a.C||(a.Ub=!a.f&&b[1]||a.v,a.Lb=!a.f&&b[3]||a.I);if(c||void 0===c)a.Vb=b[1]||a.v,a.gc=b[3]||a.I}function Uc(a,b,c){c&&a.g||(a.Rb=b[0]||a.K,a.ra=b[2]||a.L);if(c||void 0===c)a.bc=b[0]||a.K,a.cc=b[2]||a.L}function Oc(a,b){b||(b=Xc);Uc(a,b,void 0);Sc(a,b,void 0)}
|
b)+")",!0)}};function jc(a,b,c){a.i=b;a.f=a.g=0;c&&((a.f=c.f)&&Yc(a,Xc,!1),(a.g=c.g)&&Wc(a,Xc,!1))}function $c(a,b){b?--a.g||(a.Xb=a.u?a.w:a.Yb,a.Mb=a.u?a.H:a.jc):--a.f||(a.Ub=a.ec,a.ra=a.fc)}function Wc(a,b,c){c&&a.g||(a.Xb=!a.u&&b[1]||a.w,a.Mb=!a.u&&b[3]||a.H);if(c||void 0===c)a.Yb=b[1]||a.w,a.jc=b[3]||a.H}function Yc(a,b,c){c&&a.f||(a.Ub=b[0]||a.K,a.ra=b[2]||a.L);if(c||void 0===c)a.ec=b[0]||a.K,a.fc=b[2]||a.L}function Sc(a,b){b||(b=ad);Yc(a,b,void 0);Wc(a,b,void 0)}
|
||||||
var Xc=[],Rc=[I.prototype.S,I.prototype.va,I.prototype.da,I.prototype.Ha],Tc=[I.prototype.O,I.prototype.ma,I.prototype.Na,I.prototype.Aa];if(wb)var Qc=[I.prototype.N,I.prototype.la,I.prototype.W,I.prototype.wa],Pc=[I.prototype.R,I.prototype.ta,I.prototype.$,I.prototype.fb];
|
var ad=[],Vc=[I.prototype.V,I.prototype.va,I.prototype.da,I.prototype.Ma],Xc=[I.prototype.P,I.prototype.ma,I.prototype.Y,I.prototype.Aa];if(wb)var Uc=[I.prototype.N,I.prototype.la,I.prototype.Pa,I.prototype.ib],Tc=[I.prototype.R,I.prototype.ua,I.prototype.$,I.prototype.La];
|
||||||
function Yc(a,b){u.call(this,"CPU",a,Yc,1);var c=a.multiplier||1;this.ib=a.cycles||b;this.Xa=c;this.Bb=Math.round(this.ib/1E4)/100;this.mb=this.Bb*this.Xa;this.A.ca=!1;this.A.Tb=!1;this.A.pb=a.autoStart;this.A.qb=!1;this.Eb=this.va=0;this.Fb=a.csStart;this.sb=a.csInterval;this.tb=a.csStop;this.L=[];this.uc=this.Ud.bind(this);H(this)}z(Yc);var Zc=["power","reset"];k=Yc.prototype;
|
function bd(a,b){u.call(this,"CPU",a,bd,1);var c=a.multiplier||1;this.kb=a.cycles||b;this.$a=c;this.tb=Math.round(this.kb/1E4)/100;this.nb=this.tb*this.$a;this.B.Z=!1;this.B.Wb=!1;this.B.sb=a.autoStart;this.B.ub=!1;this.Fb=this.ma=0;this.Gb=a.csStart;this.wb=a.csInterval;this.xb=a.csStop;this.K=[];this.uc=this.Vd.bind(this);H(this)}z(bd);var cd=["power","reset"];k=bd.prototype;
|
||||||
k.Da=function(a,b,c,d){this.C=a;this.w=b;this.i=d;this.I=a.I;for(b=0;b<Zc.length;b++)(c=this.G[Zc[b]])&&this.C.sa(null,Zc[b],c);a=$c(a,"autoStart");null!=a&&(this.A.pb="true"==a?!0:"false"==a?!1:!!a);H(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
k.Ea=function(a,b,c,d){this.u=a;this.A=b;this.i=d;for(b=0;b<cd.length;b++)(c=this.G[cd[b]])&&this.u.sa(null,cd[b],c);a=dd(a,"autoStart");null!=a&&(this.B.sb="true"==a?!0:"false"==a?!1:!!a);H(this)};k.reset=function(){};k.save=function(){return null};k.restore=function(){return!1};
|
||||||
k.Fa=function(a,b){if(!b){if(a&&this.restore){ad(this);if(!this.restore(a))return!1;bd(this)}else this.reset();this.i?(a=this.i,b=this.A.pb,a.hb=!0,a.j("Type ? for help with PDPjs Debugger commands"),a.Z(),b||a.ob(),a.Ha&&(b=a.Ha,a.Ha=null,cd(a,b))):this.j("No debugger detected")}this.C.Z();return!0};k.Ea=function(a){return a?this.save():!0};k.pb=function(){return this.A.pb||!this.i&&void 0===this.G.run?(this.bb(),!0):!1};k.nc=function(){return 0};
|
k.Ga=function(a,b){if(!b){if(a&&this.restore){ed(this);if(!this.restore(a))return!1;fd(this)}else this.reset();this.i?(a=this.i,b=this.B.sb,a.kb=!0,a.j("Type ? for help with PDPjs Debugger commands"),a.ca(),b||a.qb(),a.Ma&&(b=a.Ma,a.Ma=null,gd(a,b))):this.j("No debugger detected")}this.u.ca();return!0};k.Fa=function(a){return a?this.save():!0};k.sb=function(){return this.B.sb||!this.i&&void 0===this.G.run?(this.fb(),!0):!1};k.qc=function(){return 0};
|
||||||
function bd(a){void 0===a.Fb&&(a.Fb=0);void 0===a.sb&&(a.sb=-1);void 0===a.tb&&(a.tb=-1);a.A.qb=0<=a.Fb&&0<a.sb;a.A.qb&&(a.Eb=0,a.va=a.Fb-a.ta)}function dd(a,b){if(a.A.qb){var c=!1;a.Eb=a.Eb+a.nc()|0;a.va-=b;0>=a.va&&(a.va+=a.sb,c=!0);0<=a.tb&&a.tb<=ed(a)&&(a.sb=a.tb=-1,bd(a),a.ha(),c=!0);c&&a.j(ed(a)+" cycles: checksum="+p(a.Eb))}}
|
function fd(a){void 0===a.Gb&&(a.Gb=0);void 0===a.wb&&(a.wb=-1);void 0===a.xb&&(a.xb=-1);a.B.ub=0<=a.Gb&&0<a.wb;a.B.ub&&(a.Fb=0,a.ma=a.Gb-a.la)}function Xb(a,b){if(a.B.ub){var c=!1;a.Fb=a.Fb+a.qc()|0;a.ma-=b;0>=a.ma&&(a.ma+=a.wb,c=!0);0<=a.xb&&a.xb<=hd(a)&&(a.wb=a.xb=-1,fd(a),a.ha(),c=!0);c&&a.j(hd(a)+" cycles: checksum="+p(a.Fb))}}
|
||||||
k.sa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.C)if(a=d.C,a.A.ja)a=!0;else{var b=null,c,h=ob(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.A.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.A.ja);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.A.ready?"powered yet":"ready yet"+(b.Pb?" (waiting for notification)":""))+".");a=!1}a&&(d.A.ca?d.ha():d.bb())},
|
k.sa=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.G[b]=c,!0;case "run":return this.G[b]=c,c.onclick=function(){var a;if(a=d.u)if(a=d.u,a.B.ja)a=!0;else{var b=null,c,h=ob(a.id);for(c=0;c<h.length&&(b=h[c],b===a||b.B.ready);c++);if(c==h.length)for(c=0;c<h.length&&(b=h[c],b===a||b.B.ja);c++);c==h.length&&(b=a);q("The "+b.type+" component ("+b.id+") is not "+(b.B.ready?"powered yet":"ready yet"+(b.Rb?" (waiting for notification)":""))+".");a=!1}a&&(d.B.Z?d.ha():d.fb())},
|
||||||
!0;case "speed":return this.G[b]=c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){fd(d,d.Xa<<1,!0)},c.textContent=this.mb.toFixed(2)+"Mhz",!0}return!1};k.Z=function(){var a=this.G.speed;a&&(a.textContent=this.A.ca&&this.$?this.$.toFixed(2)+"Mhz":"Stopped")};function gd(a,b,c){a.ta+=b;c&&(a.ma=a.b=a.K=0)}function hd(a,b){var c=1;b&&1<a.Xa&&a.$&&(c=a.$/a.Bb);a.rc=Math.round(1E3/30);a.kb=Math.floor(a.ib/30*c);b||(a.wa=a.kb);a.Cb=0}function ed(a){return a.ta+a.W+a.ma-a.b}
|
!0;case "speed":return this.G[b]=c,!0;case "setSpeed":return this.G[b]=c,c.onclick=function(){id(d,d.$a<<1,!0)},c.textContent=this.nb.toFixed(2)+"Mhz",!0}return!1};k.ca=function(){var a=this.G.speed;a&&(a.textContent=this.B.Z&&this.Y?this.Y.toFixed(2)+"Mhz":"Stopped")};function Wb(a,b,c){a.la+=b;c&&(a.da=a.b=a.J=0)}function jd(a,b){var c=1;b&&1<a.$a&&a.Y&&(c=a.Y/a.tb);a.Sb=Math.round(1E3/30);a.hb=Math.floor(a.kb/30*c);b||(a.ua=a.hb);a.Db=0}function hd(a){return a.la+a.V+a.da-a.b}
|
||||||
function ad(a){a.$=0;a.tc=0;a.ta=a.W=a.ma=a.b=a.K=0;bd(a);fd(a,1)}function fd(a,b,c){var d=!1;if(void 0!==b){.8>a.$/a.mb?b=1:d=!0;a.Xa=b;b=a.Bb*a.Xa;if(a.mb!=b){a.mb=b;b=a.mb.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.C&&a.C.ob()}gd(a,a.W);a.W=0;a.S=Ba();a.la=0;hd(a);return d}function sc(a,b){var c=a.L.length;a.L.push([-1,b]);return c}function uc(a,b,c){0<=b&&b<a.L.length&&0>a.L[b][0]&&(c=a.ib*a.Xa/1E3*c|0,a.L[b][0]=c+id(a))}
|
function ed(a){a.Y=0;a.tc=0;a.la=a.V=a.da=a.b=a.J=0;fd(a);id(a,1)}function id(a,b,c){var d=!1;if(void 0!==b){.8>a.Y/a.nb?b=1:d=!0;a.$a=b;b=a.tb*a.$a;if(a.nb!=b){a.nb=b;b=a.nb.toFixed(2)+"Mhz";var e=a.G.setSpeed;e&&(e.textContent=b);a.j("target speed: "+b)}c&&a.u&&a.u.qb()}Wb(a,a.V);a.V=0;a.R=Ba();a.$=0;jd(a);return d}function wc(a,b){var c=a.K.length;a.K.push([-1,b]);return c}function yc(a,b,c){0<=b&&b<a.K.length&&0>a.K[b][0]&&(c=a.kb*a.$a/1E3*c|0,a.K[b][0]=c+kd(a))}
|
||||||
function jd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function kd(a,b){for(var c=a.L.length-1;0<=c;c--){var d=a.L[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function id(a,b){var c=a.ma-=a.b;a.b=a.K=0;b&&(a.ma=0);return c}
|
function ld(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||b>d[0]&&(b=d[0])}return b}function Vb(a,b){for(var c=a.K.length-1;0<=c;c--){var d=a.K[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function kd(a,b){var c=a.da-=a.b;a.b=a.J=0;b&&(a.da=0);return c}
|
||||||
k.Ud=function(){if(this.A.ca){this.Cb>=this.ib&&hd(this,!0);this.Ha=0;this.eb=Ba();if(this.la){var a=this.eb-this.la;a>this.rc&&(this.S+=a,this.S>this.eb&&(this.S=this.eb))}try{do{var b=jd(this,this.A.qb?1:this.kb);try{this.cb(b)}catch(e){if("number"!=typeof e)throw e;}b=id(this,!0);this.Ha+=b;this.W+=b;dd(this,b);kd(this,b);this.wa-=b;if(0>=this.wa){this.wa+=this.kb;15<=++this.tc&&(this.C&&this.C.Z(),this.tc=0);break}}while(this.A.ca)}catch(e){this.ha();this.C&&this.C.stop(Ba(),ed(this));vb(this,
|
k.Vd=function(){if(this.B.Z){this.Db>=this.kb&&jd(this,!0);this.Aa=0;this.jb=Ba();if(this.$){var a=this.jb-this.$;a>this.Sb&&(this.R+=a,this.R>this.jb&&(this.R=this.jb))}try{do{var b=ld(this,this.B.ub?1:this.hb);try{this.gb(b)}catch(e){if("number"!=typeof e)throw e;}b=kd(this,!0);this.Aa+=b;this.V+=b;Xb(this,b);Vb(this,b);this.ua-=b;if(0>=this.ua){this.ua+=this.hb;15<=++this.tc&&(this.u&&this.u.ca(),this.tc=0);break}}while(this.B.Z)}catch(e){this.ha();this.u&&this.u.stop(Ba(),hd(this));vb(this,e.stack||
|
||||||
e.stack||e.message);return}if(this.A.ca){a=setTimeout;b=this.uc;this.la=Ba();var c=this.rc;this.Ha&&(c=Math.round(c*this.Ha/this.kb));var c=c-(this.la-this.eb),d=this.la-this.S;d&&(this.$=Math.round(this.W/(10*d))/100,864E5<=d&&(this.ta=0,fd(this)));if(0>c||this.$<this.mb)-1E3>c&&(this.S-=c),c=0;this.Cb+=this.Ha;this.la+=c;a(b,c)}}};
|
e.message);return}if(this.B.Z){a=setTimeout;b=this.uc;this.$=Ba();var c=this.Sb;this.Aa&&(c=Math.round(c*this.Aa/this.hb));var c=c-(this.$-this.jb),d=this.$-this.R;d&&(this.Y=Math.round(this.V/(10*d))/100,864E5<=d&&(this.la=0,id(this)));if(0>c||this.Y<this.nb)-1E3>c&&(this.R-=c),c=0;this.Db+=this.Aa;this.$+=c;a(b,c)}}};
|
||||||
k.bb=function(a){if(ub(this))return!1;if(this.A.ca)return this.j(this.toString()+" busy"),!1;fd(this);this.A.ca=!0;this.A.Tb=!0;var b=this.G.run;b&&(b.textContent="Halt");this.C&&(a&&this.C.ob(!0),this.C.start(this.S,ed(this)));setTimeout(this.uc,0);return!0};k.cb=function(){return 0};k.ha=function(a){var b=!1;if(this.A.ca){id(this);gd(this,this.W);this.W=0;this.A.ca=!1;if(b=this.G.run)b.textContent="Run";this.C&&this.C.stop(Ba(),ed(this));b=!0}this.A.complete=a;return b};
|
k.fb=function(a){if(ub(this))return!1;if(this.B.Z)return this.j(this.toString()+" busy"),!1;id(this);this.B.Z=!0;this.B.Wb=!0;var b=this.G.run;b&&(b.textContent="Halt");this.u&&(a&&this.u.qb(!0),this.u.start(this.R,hd(this)));setTimeout(this.uc,0);return!0};k.gb=function(){return 0};k.ha=function(a){var b=!1;if(this.B.Z){kd(this);Wb(this,this.V);this.V=0;this.B.Z=!1;if(b=this.G.run)b.textContent="Run";this.u&&this.u.stop(Ba(),hd(this));b=!0}this.B.complete=a;return b};
|
||||||
function ld(a){this.rb=+a.model||1170;this.Ob=a.addrReset||0;Yc.call(this,a,6666667);this.decode=1120==this.rb?md.bind(this):nd.bind(this);od(this);this.N=0;this.O=null;this.A.complete=!1}z(ld,Yc);k=ld.prototype;k.reset=function(){this.status("model "+this.rb);this.A.ca&&this.ha();od(this);ad(this);this.A.error=!1;this.parent.reset.call(this)};
|
function md(a){this.vb=+a.model||1170;this.Nb=a.addrReset||0;bd.call(this,a,6666667);this.decode=1120==this.vb?nd.bind(this):od.bind(this);pd(this);this.L=0;this.N=null;this.B.complete=!1}z(md,bd);k=md.prototype;k.reset=function(){this.status("model "+this.vb);this.B.Z&&this.ha();pd(this);ed(this);this.B.error=!1;this.parent.reset.call(this)};
|
||||||
function od(a){a.T=65536;a.U=32768;a.aa=65535;a.Y=32768;a.M=15;a.u=[0,0,0,0,0,0,0,a.Ob];a.Sa=[0,0,0,0,0,0];a.Ga=[0,0,0,0];a.v=0;a.hb=0;a.Pc=[4,2,0,1];a.V=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.xa=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Jb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
function pd(a){a.S=65536;a.T=32768;a.aa=65535;a.X=32768;a.M=15;a.v=[0,0,0,0,0,0,0,a.Nb];a.Ua=[0,0,0,0,0,0];a.Ha=[0,0,0,0];a.w=0;a.Ma=0;a.Qc=[4,2,0,1];a.U=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.wa=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Kb=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
0,0,0,0,0,0,0,0,0,0];a.zc=[0,0,0,0,0,0,0,0];a.yc=0;a.H=0;a.D=a.J=0;a.g=a.f=a.Ab=0;a.Aa=-1;Ub(a)}function Ub(a){a.Za=255;a.ga=0;a.ec=0;a.B=0;a.Ya=0;a.Hb=0;a.xb=0;a.da=0;a.gb=0;a.qc=262143;a.O=null;a.w&&wc(a)}function wc(a){a.da?(a.R=65536,a.ba=a.Oc,a.ra=a.Rd,a.Lb=a.Ie,gc(a.w,a.xb&16?22:18)):(a.R=0,a.ba=a.Nc,a.ra=a.xc,a.Lb=a.Ec,gc(a.w,16))}function pd(a,b,c){a.Ob=b;P(a,b);!c&&a.i&&(a.ha()||a.i.Z())}k.nc=function(){return 0};
|
0,0,0,0,0,0,0,0,0,0];a.Ac=[0,0,0,0,0,0,0,0];a.zc=0;a.I=0;a.D=a.H=0;a.g=a.f=a.rb=0;a.va=-1;Ub(a)}function Ub(a){a.bb=255;a.ga=0;a.hc=0;a.C=0;a.ab=0;a.Ib=0;a.ob=0;a.Za=0;a.La=0;a.Qb=262143;a.N=null;a.A&&Jc(a)}function Jc(a){a.Za?(a.P=65536,a.ba=a.Pc,a.ra=a.Sd,a.Mb=a.Je,lc(a.A,a.ob&16?22:18)):(a.P=0,a.ba=a.Oc,a.ra=a.yc,a.Mb=a.Fc,lc(a.A,16))}function qd(a,b,c){a.Nb=b;O(a,b);!c&&a.i&&(a.ha()||a.i.ca())}k.qc=function(){return 0};
|
||||||
k.save=function(){var a=new R(this);a.set(0,[]);a.set(1,[this.ta,this.Xa]);a.set(2,oc(this.w));return a.data()};k.restore=function(a){var b=a[1];this.ta=b[1];fd(this,b[3]);a:{b=this.w;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.J){for(var f=0,g=Array(b.J),h=0;h<e.length-1;)for(var l=e[h++],m=e[h++];l--;)g[f++]=m;e=g}f=b.X[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function qd(a){return a.T&65536?1:0}
|
k.save=function(){var a=new P(this);a.set(0,[]);a.set(1,[this.la,this.$a]);a.set(2,tc(this.A));return a.data()};k.restore=function(a){var b=a[1];this.la=b[1];id(this,b[3]);a:{b=this.A;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.J){for(var f=0,g=Array(b.J),h=0;h<e.length-1;)for(var l=e[h++],m=e[h++];l--;)g[f++]=m;e=g}f=b.W[d];if(!f||!f.restore(e)){q("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function rd(a){return a.S&65536?1:0}
|
||||||
function rd(a){return a.U&32768?2:0}function sd(a){return a.aa&65535?0:4}k.Qa=function(){return this.Y&32768?8:0};function td(a){var b=a.u[7];a.B&57344||(a.Ya=0,a.Hb=b);a.u[7]=b+2&65535;return a.ra(b)}function ud(a,b){var c=a.u[7];a.u[7]=c+b&65535;return c}function P(a,b){a.u[7]=b&65535}function vc(a,b){return{Wd:a,ub:b,next:null}}function tc(a,b){if(b!=a.O){var c=a.O;if(!c||c.ub<=b.ub)b.next=c,a.O=b;else{do{var d=c.next;if(!d||d.ub<=b.ub){b.next=d;c.next=b;break}c=d}while(c)}}a.H|=2}
|
function sd(a){return a.T&32768?2:0}function td(a){return a.aa&65535?0:4}k.Sa=function(){return this.X&32768?8:0};function ud(a){var b=a.v[7];a.C&57344||(a.ab=0,a.Ib=b);a.v[7]=b+2&65535;return a.ra(b)}function vd(a,b){var c=a.v[7];a.v[7]=c+b&65535;return c}function O(a,b){a.v[7]=b&65535}function Ic(a,b){return{Xd:a,yb:b,next:null}}function xc(a,b){if(b!=a.N){var c=a.N;if(!c||c.yb<=b.yb)b.next=c,a.N=b;else{do{var d=c.next;if(!d||d.yb<=b.yb){b.next=d;c.next=b;break}c=d}while(c)}}a.I|=2}
|
||||||
function Xb(a){return a.M=a.M&63728|a.Qa()|sd(a)|rd(a)|qd(a)}function xc(a,b){a.Y=b<<12;a.aa=~b&4;a.U=b<<14;a.T=b<<16;if((b^a.M)&2048)for(var c=a.Sa.length;0<=--c;){var d=a.u[c];a.u[c]=a.Sa[c];a.Sa[c]=d}a.v=b>>14&3;c=a.M>>14&3;a.v!=c&&(a.Ga[c]=a.u[6],a.u[6]=a.Ga[a.v]);a.M=b;a.H|=2}function S(a,b){a.H&128||(a.Y=a.aa=b,a.U=0)}function vd(a,b,c){a.H&128||(a.Y=a.aa=a.T=b,a.U=c||0)}function wd(a,b,c,d){a.H&128||(a.Y=a.aa=a.T=b,a.U=(c^b)&(d^b))}
|
function bc(a){return a.M=a.M&63728|a.Sa()|td(a)|sd(a)|rd(a)}function Kc(a,b){a.X=b<<12;a.aa=~b&4;a.T=b<<14;a.S=b<<16;if((b^a.M)&2048)for(var c=a.Ua.length;0<=--c;){var d=a.v[c];a.v[c]=a.Ua[c];a.Ua[c]=d}a.w=b>>14&3;c=a.M>>14&3;a.w!=c&&(a.Ha[c]=a.v[6],a.v[6]=a.Ha[a.w]);a.M=b;a.I|=2}function R(a,b){a.I&128||(a.X=a.aa=b,a.T=0)}function wd(a,b,c){a.I&128||(a.X=a.aa=a.S=b,a.T=c||0)}function xd(a,b,c,d){a.I&128||(a.X=a.aa=a.S=b,a.T=(c^b)&(d^b))}
|
||||||
function xd(a,b){a.H&128||(a.Y=a.aa=a.T=b,a.U=a.Y^a.T>>1)}function yd(a,b,c,d){a.H&128||(a.Y=a.aa=a.T=b,a.U=(c^d)&(d^b))}k.pa=function(a,b){if(!this.N){var c=!1;0>this.Aa?this.Aa=Xb(this):this.v||(a=4,c=!0);this.B&57344||(this.Ya=63222,this.Hb=a);this.v=0;var d=this.ra(a|this.R),e=this.ra(a+2&65535|this.R);xc(this,e&-12289|this.Aa>>2&12288);c&&(this.ga|=4,this.u[6]=4);zd(this,this.Aa);zd(this,this.u[7]);P(this,d);this.H&=-113;this.Aa=-1;this.H|=8;this.Tc=a;this.Sc=b;if(26!=b)throw a;}};
|
function yd(a,b){a.I&128||(a.X=a.aa=a.S=b,a.T=a.X^a.S>>1)}function zd(a,b,c,d){a.I&128||(a.X=a.aa=a.S=b,a.T=(c^d)&(d^b))}k.pa=function(a,b){if(!this.L){var c=!1;0>this.va?this.va=bc(this):this.w||(a=4,c=!0);this.C&57344||(this.ab=63222,this.Ib=a);this.w=0;var d=this.ra(a|this.P),e=this.ra(a+2&65535|this.P);Kc(this,e&-12289|this.va>>2&12288);c&&(this.ga|=4,this.v[6]=4);Ad(this,this.va);Ad(this,this.v[7]);O(this,d);this.I&=-113;this.va=-1;this.I|=8;this.Uc=a;this.Sc=b;if(26!=b)throw a;}};
|
||||||
function Ad(a){var b=Bd(a),c=Bd(a)&-1793;a.M&49152&&(c=c&-225|a.M&63712);P(a,b);xc(a,c);a.H&=-17}function nc(a,b){var c=b>>13&31;31>c&&a.xb&32&&(b=a.Jb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b}
|
function Bd(a){var b=Td(a),c=Td(a)&-1793;a.M&49152&&(c=c&-225|a.M&63712);O(a,b);Kc(a,c);a.I&=-17}function sc(a,b){var c=b>>13&31;31>c&&a.ob&32&&(b=a.Kb[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b}
|
||||||
function Td(a,b,c){var d,e,f,g=0;d=b>>13;a.xb&a.Pc[a.v]||(d&=7);e=a.V[a.v][d];f=(a.xa[a.v][d]<<6)+(b&8191)&a.qc;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.V[a.v][d]=e;if(4194170!==f||a.v)a.gb=a.v,a.hb=d;b=!1;g&&(g&57344&&(0<=a.Aa&&(g|=128),a.B&57344||(a.B=a.B|g|a.gb<<5|a.hb<<1),b=!0),a.B&61440||!(4191360>
|
function Ud(a,b,c){var d,e,f,g=0;d=b>>13;a.ob&a.Qc[a.w]||(d&=7);e=a.U[a.w][d];f=(a.wa[a.w][d]<<6)+(b&8191)&a.Qb;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.U[a.w][d]=e;if(4194170!==f||a.w)a.La=a.w,a.Ma=d;b=!1;g&&(g&57344&&(0<=a.va&&(g|=128),a.C&57344||(a.C=a.C|g|a.La<<5|a.Ma<<1),b=!0),a.C&61440||!(4191360>
|
||||||
f||4194239<f)||(a.B|=4096,a.B&512&&(a.H|=32)),b&&a.pa(168,16));return f}function Ud(a,b){return a.w.Db(b)}function Vd(a,b,c){b&1&&a.b--;a.w.Sb(b,c&255)}function Bd(a){var b=a.ra(a.u[6]|a.R);a.u[6]=a.u[6]+2&65535;return b}function zd(a,b){var c=a.u[6]-2&65535;a.u[6]=c;a.B&57344||(a.Ya=a.Ya<<8|246);!a.v&&c<=a.Za&&4<c&&(c<=a.Za-32?(a.ga|=4,a.u[6]=4,a.pa(4,18)):(a.ga|=8,a.H|=4));a.Lb(c,b)}
|
f||4194239<f)||(a.C|=4096,a.C&512&&(a.I|=32)),b&&a.pa(168,16));return f}function Vd(a,b){return a.A.Eb(b)}function Wd(a,b,c){b&1&&a.b--;a.A.Vb(b,c&255)}function Td(a){var b=a.ra(a.v[6]|a.P);a.v[6]=a.v[6]+2&65535;return b}function Ad(a,b){var c=a.v[6]-2&65535;a.v[6]=c;a.C&57344||(a.ab=a.ab<<8|246);!a.w&&c<=a.bb&&4<c&&(c<=a.bb-32?(a.ga|=4,a.v[6]=4,a.pa(4,18)):(a.ga|=8,a.I|=4));a.Mb(c,b)}
|
||||||
function Wd(a,b,c,d){var e,f,g=d&8?0:a.R;switch(b){case 0:return a.pa(4,20),0;case 1:return 6===c&&!a.v&&d&4&&(a.u[6]<=a.Za||65534<=a.u[6])&&(a.u[6]<=a.Za-32||65534<=a.u[6]?(a.ga|=4,a.u[6]=4,a.pa(4,22)):(a.ga|=8,a.H|=64)),a.b-=3,7===c?a.u[c]:a.u[c]|g;case 2:f=2;e=a.u[c];7!==c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.u[c];7!==c&&(e|=g);e=a.ra(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.u[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.u[c]-2&65535;7!==c&&(e|=g);e=a.ra(e)|
|
function Xd(a,b,c,d){var e,f,g=d&8?0:a.P;switch(b){case 0:return a.pa(4,20),0;case 1:return 6===c&&!a.w&&d&4&&(a.v[6]<=a.bb||65534<=a.v[6])&&(a.v[6]<=a.bb-32||65534<=a.v[6]?(a.ga|=4,a.v[6]=4,a.pa(4,22)):(a.ga|=8,a.I|=64)),a.b-=3,7===c?a.v[c]:a.v[c]|g;case 2:f=2;e=a.v[c];7!==c&&(e|=g,6>c&&d&1&&(f=1));a.b-=3;break;case 3:f=2;e=a.v[c];7!==c&&(e|=g);e=a.ra(e);e|=g;a.b-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.v[c]+f&65535;7!==c&&(e|=g);a.b-=4;break;case 5:f=-2;e=a.v[c]-2&65535;7!==c&&(e|=g);e=a.ra(e)|
|
||||||
g;a.b-=8;break;case 6:return e=a.ra(ud(a,2)),e=e+a.u[c]&65535|g,a.b-=6,e;case 7:return e=a.ra(ud(a,2)),e=e+a.u[c]&65535,e=a.ra(e|a.R)|g,a.b-=10,e}a.u[c]=a.u[c]+f&65535;!g||a.B&57344||(a.Ya=a.Ya<<8|f<<3&248|c);6==c&&!a.v&&d&4&&0>=f&&(a.u[6]<=a.Za||65534<=a.u[6])&&(a.u[6]<=a.Za-32?(a.ga|=4,a.u[6]=4,a.pa(4,24)):(a.ga|=8,a.H|=64));return e}k.Qb=function(a){if(!this.da)return this.w.Qb(a);this.N++;a=Ud(this,Td(this,a,3));this.N--;return a};
|
g;a.b-=8;break;case 6:return e=a.ra(vd(a,2)),e=e+a.v[c]&65535|g,a.b-=6,e;case 7:return e=a.ra(vd(a,2)),e=e+a.v[c]&65535,e=a.ra(e|a.P)|g,a.b-=10,e}a.v[c]=a.v[c]+f&65535;!g||a.C&57344||(a.ab=a.ab<<8|f<<3&248|c);6==c&&!a.w&&d&4&&0>=f&&(a.v[6]<=a.bb||65534<=a.v[6])&&(a.v[6]<=a.bb-32?(a.ga|=4,a.v[6]=4,a.pa(4,24)):(a.ga|=8,a.I|=64));return e}k.Tb=function(a){if(!this.Za)return this.A.Tb(a);this.L++;a=Vd(this,Ud(this,a,3));this.L--;return a};
|
||||||
k.lb=function(a){if(!this.da)return this.w.lb(a);this.N++;a=this.xc(Td(this,a,2));this.N--;return a};k.nb=function(a,b){this.da?(this.N++,Vd(this,Td(this,a,5),b),this.N--):this.w.nb(a,b)};k.Ib=function(a,b){this.da?(this.N++,this.Ec(Td(this,a,4),b),this.N--):this.w.Ib(a,b)};k.Nc=function(a,b,c){return Wd(this,a,b,c)};k.Oc=function(a,b,c){return Td(this,Wd(this,a,b,c),c)};k.xc=function(a){return this.w.oa(a)};k.Rd=function(a){return this.w.oa(Td(this,a,2))};k.Ec=function(a,b){this.w.ab(a,b&65535)};
|
k.mb=function(a){if(!this.Za)return this.A.mb(a);this.L++;a=this.yc(Ud(this,a,2));this.L--;return a};k.pb=function(a,b){this.Za?(this.L++,Wd(this,Ud(this,a,5),b),this.L--):this.A.pb(a,b)};k.Jb=function(a,b){this.Za?(this.L++,this.Fc(Ud(this,a,4),b),this.L--):this.A.Jb(a,b)};k.Oc=function(a,b,c){return Xd(this,a,b,c)};k.Pc=function(a,b,c){return Ud(this,Xd(this,a,b,c),c)};k.yc=function(a){return this.A.oa(a)};k.Sd=function(a){return this.A.oa(Ud(this,a,2))};k.Fc=function(a,b){this.A.eb(a,b&65535)};
|
||||||
k.Ie=function(a,b){this.w.ab(Td(this,a,4),b)};function Xd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Wd(a,b,d,2),c&65536||61440!==(a.M&61440)&&(d&=65535),a.v=a.M>>12&3,c=a.ra(d|c&a.R),a.v=a.M>>14&3):c=6!=d||(a.M>>2&12288)===(a.M&12288)?a.u[d]:a.Ga[a.M>>12&3];return c}function Yd(a,b,c,d){a.B&57344||(a.Ya=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Wd(a,b,e,4),c&65536||(e&=65535),a.v=a.M>>12&3,e=Td(a,e|c&65536,4),a.v=a.M>>14&3,a.w.ab(e,d)):6!=e||(a.M>>2&12288)===(a.M&12288)?a.u[e]=d:a.Ga[a.M>>12&3]=d}
|
k.Je=function(a,b){this.A.eb(Ud(this,a,4),b)};function Yd(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?(d=Xd(a,b,d,2),c&65536||61440!==(a.M&61440)&&(d&=65535),a.w=a.M>>12&3,c=a.ra(d|c&a.P),a.w=a.M>>14&3):c=6!=d||(a.M>>2&12288)===(a.M&12288)?a.v[d]:a.Ha[a.M>>12&3];return c}function Zd(a,b,c,d){a.C&57344||(a.ab=22);var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=Xd(a,b,e,4),c&65536||(e&=65535),a.w=a.M>>12&3,e=Ud(a,e|c&65536,4),a.w=a.M>>14&3,a.A.eb(e,d)):6!=e||(a.M>>2&12288)===(a.M&12288)?a.v[e]=d:a.Ha[a.M>>12&3]=d}
|
||||||
function Zd(a,b){b>>=6;var c=a.J=b&7;return(b=a.D=(b&56)>>3)?Ud(a,a.ba(b,c,3)):a.u[c]&255}function $d(a,b){b>>=6;var c=a.J=b&7;return(b=a.D=(b&56)>>3)?a.w.oa(a.ba(b,c,2)):a.u[c]}function ae(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Wd(a,b,c,8)}function be(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Ud(a,a.ba(b,c,3)):a.u[c]&255}function ce(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.w.oa(a.ba(b,c,2)):a.u[c]}
|
function $d(a,b){b>>=6;var c=a.H=b&7;return(b=a.D=(b&56)>>3)?Vd(a,a.ba(b,c,3)):a.v[c]&255}function ae(a,b){b>>=6;var c=a.H=b&7;return(b=a.D=(b&56)>>3)?a.A.oa(a.ba(b,c,2)):a.v[c]}function be(a,b){var c=a.f=b&7;b=a.g=(b&56)>>3;return Xd(a,b,c,8)}function ce(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?Vd(a,a.ba(b,c,3)):a.v[c]&255}function de(a,b){var c=a.f=b&7;return(b=a.g=(b&56)>>3)?a.A.oa(a.ba(b,c,2)):a.v[c]}
|
||||||
function T(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.Ab=a.ba(b,e,7),Vd(a,e,d.call(a,c,Ud(a,e)))):a.u[e]=a.u[e]&65280|d.call(a,c,a.u[e])}function U(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.ba(b,e,6),a.w.ab(e,d.call(a,c,a.w.oa(e)))):a.u[e]=d.call(a,c,a.u[e])}function de(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?Vd(a,a.ba(b,e,5),c):a.u[e]=c?d&1?c<<24>>24&65535:a.u[e]&-256|c&255:a.u[e]&-256;return c}
|
function S(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.rb=a.ba(b,e,7),Wd(a,e,d.call(a,c,Vd(a,e)))):a.v[e]=a.v[e]&65280|d.call(a,c,a.v[e])}function T(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?(e=a.ba(b,e,6),a.A.eb(e,d.call(a,c,a.A.oa(e)))):a.v[e]=d.call(a,c,a.v[e])}function ee(a,b,c,d){var e=a.f=b&7;(b=a.g=(b&56)>>3)?Wd(a,a.ba(b,e,5),c):a.v[e]=c?d&1?c<<24>>24&65535:a.v[e]&-256|c&255:a.v[e]&-256;return c}
|
||||||
function ee(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.w.ab(a.ba(b,d,4),c):a.u[d]=c&65535;return c}function V(a,b,c){c&&(P(a,a.u[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
function fe(a,b,c){var d=a.f=b&7;(b=a.g=(b&56)>>3)?a.A.eb(a.ba(b,d,4),c):a.v[d]=c&65535;return c}function U(a,b,c){c&&(O(a,a.v[7]+(b<<24>>23)),a.b-=2);a.b-=3}
|
||||||
k.cb=function(a){this.A.complete=!0;var b=this.i&&fe(this.i)?1:this.A.Tb?-1:0,c=a?this.A.Tb?0:1:-1;this.A.Tb=!1;this.ma=this.b=a;do{if(b){if(this.i&&ge(this.i,this.u[7],c)){this.ha();break}c||c++;b++}if(this.H){this.H&112&&(this.H&32?this.pa(168,28):this.H&64?this.pa(4,30):this.H&16&&this.pa(12,32),this.H&=-113);if(a=this.H&7){a=!1;if(this.H&2){this.H&=-3;var d=160,e=(this.ec&224)>>5,f=this.O&&this.O.ub>e?this.O:null;f&&(d=f.Wd,e=f.ub);e>(this.M&224)>>5?(this.H&4&&(ud(this,2),this.H&=-5),this.pa(d,
|
k.gb=function(a){this.B.complete=!0;var b=this.i&&ge(this.i)?1:this.B.Wb?-1:0,c=a?this.B.Wb?0:1:-1;this.B.Wb=!1;this.da=this.b=a;do{if(b){if(this.i&&he(this.i,this.v[7],c)){this.ha();break}c||c++;b++}if(this.I){this.I&112&&(this.I&32?this.pa(168,28):this.I&64?this.pa(4,30):this.I&16&&this.pa(12,32),this.I&=-113);if(a=this.I&7){a=!1;if(this.I&2){this.I&=-3;var d=160,e=(this.hc&224)>>5,f=this.N&&this.N.yb>e?this.N:null;f&&(d=f.Xd,e=f.yb);e>(this.M&224)>>5?(this.I&4&&(vd(this,2),this.I&=-5),this.pa(d,
|
||||||
26),e=!0):e=!1;if(e){if(f)if(a=f,f=this.O,f==a)this.O=a.next;else for(;f;){e=f.next;if(e==a){f.next=e.next;break}f=e}a=!0}}else this.H&1&&this.H++;a=a&&0>c}if(a)break}this.H=this.H&7|this.M&16;this.decode(td(this))}while(0<this.b);return this.A.complete?this.ma-this.b:void 0===this.A.complete?0:-1};Xa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ld(d);C(d,c)}});function he(a,b){var c=b+a;wd(this,c,a,b);return c&65535}
|
26),e=!0):e=!1;if(e){if(f)if(a=f,f=this.N,f==a)this.N=a.next;else for(;f;){e=f.next;if(e==a){f.next=e.next;break}f=e}a=!0}}else this.I&1&&this.I++;a=a&&0>c}if(a)break}this.I=this.I&7|this.M&16;this.decode(ud(this))}while(0<this.b);return this.B.complete?this.da-this.b:void 0===this.B.complete?0:-1};Xa(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new md(d);C(d,c)}});function ie(a,b){var c=b+a;xd(this,c,a,b);return c&65535}
|
||||||
function ie(a,b){var c=b+a;wd(this,c<<8,a<<8,b<<8);return c&255}function je(a,b){a=b<<1;xd(this,a);return a&65535}function ke(a,b){a=b<<1;xd(this,a<<8);return a&255}function le(a,b){a=b&32768|b>>1|b<<16;xd(this,a);return a&65535}function me(a,b){a=b&2048|b>>1|b<<8;xd(this,a<<8);return a&255}function ne(a,b){a=b&~a;S(this,a);return a}function oe(a,b){a=b&~a;S(this,a<<8);return a}function pe(a,b){a|=b;S(this,a);return a}function qe(a,b){a|=b;S(this,a<<8);return a}
|
function je(a,b){var c=b+a;xd(this,c<<8,a<<8,b<<8);return c&255}function ke(a,b){a=b<<1;yd(this,a);return a&65535}function le(a,b){a=b<<1;yd(this,a<<8);return a&255}function me(a,b){a=b&32768|b>>1|b<<16;yd(this,a);return a&65535}function ne(a,b){a=b&2048|b>>1|b<<8;yd(this,a<<8);return a&255}function oe(a,b){a=b&~a;R(this,a);return a}function pe(a,b){a=b&~a;R(this,a<<8);return a}function qe(a,b){a|=b;R(this,a);return a}function re(a,b){a|=b;R(this,a<<8);return a}
|
||||||
function re(a,b){a=~b|65536;vd(this,a);return a&65535}function se(a,b){a=~b|256;vd(this,a<<8);return a&255}function te(a,b){a=b-a;this.H&128||(this.Y=this.aa=a,this.U=b&(b^a));return a&65535}function ue(a,b){a=b-a;var c=a<<8;b<<=8;this.H&128||(this.Y=this.aa=c,this.U=b&(b^c));return a&255}function ve(a,b){a=b+a;this.H&128||(this.Y=this.aa=a,this.U=a&(b^a));return a&65535}function we(a,b){a=b+a;var c=a<<8;this.H&128||(this.Y=this.aa=c,this.U=c&(b<<8^c));return a&255}
|
function se(a,b){a=~b|65536;wd(this,a);return a&65535}function te(a,b){a=~b|256;wd(this,a<<8);return a&255}function ue(a,b){a=b-a;this.I&128||(this.X=this.aa=a,this.T=b&(b^a));return a&65535}function ve(a,b){a=b-a;var c=a<<8;b<<=8;this.I&128||(this.X=this.aa=c,this.T=b&(b^c));return a&255}function we(a,b){a=b+a;this.I&128||(this.X=this.aa=a,this.T=a&(b^a));return a&65535}function xe(a,b){a=b+a;var c=a<<8;this.I&128||(this.X=this.aa=c,this.T=c&(b<<8^c));return a&255}
|
||||||
function xe(a,b){a=-b;vd(this,a,a&b&32768);return a&65535}function ye(a,b){a=-b;vd(this,a<<8,(a&b&128)<<8);return a&255}function ze(a,b){a=b<<1|this.T>>16&1;xd(this,a);return a&65535}function Ae(a,b){a=b<<1|this.T>>16&1;xd(this,a<<8);return a&255}function Be(a,b){a=(this.T&65536|b)>>1|b<<16;xd(this,a);return a&65535}function Ce(a,b){a=((this.T&65536)>>8|b)>>1|b<<8;xd(this,a<<8);return a&255}function De(a,b){var c=b-a;yd(this,c,a,b);return c&65535}
|
function ye(a,b){a=-b;wd(this,a,a&b&32768);return a&65535}function ze(a,b){a=-b;wd(this,a<<8,(a&b&128)<<8);return a&255}function Ae(a,b){a=b<<1|this.S>>16&1;yd(this,a);return a&65535}function Be(a,b){a=b<<1|this.S>>16&1;yd(this,a<<8);return a&255}function Ce(a,b){a=(this.S&65536|b)>>1|b<<16;yd(this,a);return a&65535}function De(a,b){a=((this.S&65536)>>8|b)>>1|b<<8;yd(this,a<<8);return a&255}function Ee(a,b){var c=b-a;zd(this,c,a,b);return c&65535}
|
||||||
function Ee(a,b){var c=b-a;yd(this,c<<8,a<<8,b<<8);return c&255}function Fe(a,b){this.H&128||(this.Y=this.aa=b&65280,this.U=this.T=0);return(b<<8|b>>8)&65535}function Ge(a,b){a^=b;S(this,a);return a&65535}function He(a){U(this,a,$d(this,a),he);this.b-=this.g?9+(this.J&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}
|
function Fe(a,b){var c=b-a;zd(this,c<<8,a<<8,b<<8);return c&255}function Ge(a,b){this.I&128||(this.X=this.aa=b&65280,this.T=this.S=0);return(b<<8|b>>8)&65535}function He(a,b){a^=b;R(this,a);return a&65535}function Ie(a){T(this,a,ae(this,a),ie);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}
|
||||||
function Ie(a){var b=ce(this,a);a=a>>6&7;var c=this.u[a];c&32768&&(c|=4294901760);this.T=this.U=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.T=c<<17-b,c>>=b;else if(b)if(16<b)this.U=c,c=0;else{this.T=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.U=32768)}this.u[a]=c&65535;this.Y=this.aa=c;this.b-=(this.g?6:7)+b}
|
function Je(a){var b=de(this,a);a=a>>6&7;var c=this.v[a];c&32768&&(c|=4294901760);this.S=this.T=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.S=c<<17-b,c>>=b;else if(b)if(16<b)this.T=c,c=0;else{this.S=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.T=32768)}this.v[a]=c&65535;this.X=this.aa=c;this.b-=(this.g?6:7)+b}
|
||||||
function Je(a){var b=ce(this,a);a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.T=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.T=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.U=32768)):d=c;this.u[a]=d>>16&65535;this.u[a|1]=d&65535;this.Y=d>>16;this.aa=d>>16|d;this.b-=(this.g?6:7)+b}function Ke(a){V(this,a,!qd(this))}function Le(a){V(this,a,qd(this))}
|
function Ke(a){var b=de(this,a);a=a>>6&7;var c=this.v[a]<<16|this.v[a|1];this.S=this.T=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.S=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.S=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.T=32768)):d=c;this.v[a]=d>>16&65535;this.v[a|1]=d&65535;this.X=d>>16;this.aa=d>>16|d;this.b-=(this.g?6:7)+b}function Le(a){U(this,a,!rd(this))}function Me(a){U(this,a,rd(this))}
|
||||||
function Me(a){U(this,a,$d(this,a),ne);this.b-=this.g?9+(this.J&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Ne(a){T(this,a,Zd(this,a),oe);this.b-=this.g?9+(this.J&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Oe(a){U(this,a,$d(this,a),pe);this.b-=this.g?9+(this.J&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Pe(a){T(this,a,Zd(this,a),qe);this.b-=this.g?9+(this.J&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}
|
function Ne(a){T(this,a,ae(this,a),oe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Oe(a){S(this,a,$d(this,a),pe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Pe(a){T(this,a,ae(this,a),qe);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}function Qe(a){S(this,a,$d(this,a),re);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}
|
||||||
function Qe(a){S(this,$d(this,a)&ce(this,a));this.b-=this.g?4+(this.J&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function Re(a){S(this,(Zd(this,a)&be(this,a))<<8);this.b-=this.g?4+(this.J&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function Se(a){V(this,a,sd(this))}function Te(a){V(this,a,!this.Qa()==!rd(this))}function Ue(a){V(this,a,!sd(this)&&!this.Qa()==!rd(this))}function Ve(a){V(this,a,!qd(this)&&!sd(this))}function We(a){V(this,a,sd(this)||!this.Qa()!=!rd(this))}
|
function Re(a){R(this,ae(this,a)&de(this,a));this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function Se(a){R(this,($d(this,a)&ce(this,a))<<8);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function Te(a){U(this,a,td(this))}function Ue(a){U(this,a,!this.Sa()==!sd(this))}function Ve(a){U(this,a,!td(this)&&!this.Sa()==!sd(this))}function We(a){U(this,a,!rd(this)&&!td(this))}function Xe(a){U(this,a,td(this)||!this.Sa()!=!sd(this))}
|
||||||
function Xe(a){V(this,a,qd(this)||sd(this))}function Ye(a){V(this,a,!this.Qa()!=!rd(this))}function Ze(a){V(this,a,this.Qa())}function $e(a){V(this,a,!sd(this))}function af(a){V(this,a,!this.Qa())}function bf(){this.pa(12,1);this.b-=5}function cf(a){V(this,a,!0)}function df(a){V(this,a,!rd(this))}function ef(a){V(this,a,rd(this))}function W(a){a&1&&(this.T=0);a&2&&(this.U=0);a&4&&(this.aa=1);a&8&&(this.Y=0);this.b-=5}
|
function Ye(a){U(this,a,rd(this)||td(this))}function Ze(a){U(this,a,!this.Sa()!=!sd(this))}function $e(a){U(this,a,this.Sa())}function af(a){U(this,a,!td(this))}function bf(a){U(this,a,!this.Sa())}function cf(){this.pa(12,1);this.b-=5}function df(a){U(this,a,!0)}function ef(a){U(this,a,!sd(this))}function ff(a){U(this,a,sd(this))}function V(a){a&1&&(this.S=0);a&2&&(this.T=0);a&4&&(this.aa=1);a&8&&(this.X=0);this.b-=5}
|
||||||
function ff(a){var b=$d(this,a);a=ce(this,a);yd(this,b-a,a,b);this.b-=this.g?4+(this.J&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function gf(a){var b=Zd(this,a)<<8;a=be(this,a)<<8;yd(this,b-a,a,b);this.b-=this.g?4+(this.J&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}
|
function gf(a){var b=ae(this,a);a=de(this,a);zd(this,b-a,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}function hf(a){var b=$d(this,a)<<8;a=ce(this,a)<<8;zd(this,b-a,a,b);this.b-=this.g?4+(this.H&&6<=this.f?1:0):(this.D?4:3)+(7==this.f?2:0)}
|
||||||
function hf(a){var b=ce(this,a);if(b){a=a>>6&7;var c=this.u[a]<<16|this.u[a|1];this.T=this.U=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.u[a]=d&65535,this.u[a|1]=c-d*b&65535,this.aa=d>>16|d,this.Y=d>>16):(this.U=32768,this.aa=d>>15|d,this.Y=c>>16,-1===b&&65534===this.u[a]&&(this.u[a]=this.u[a|1]=1));this.b-=53}else this.aa=this.Y=0,this.U=32768,this.T=65536,this.b-=7}function jf(){this.pa(24,2);this.b-=25}
|
function jf(a){var b=de(this,a);if(b){a=a>>6&7;var c=this.v[a]<<16|this.v[a|1];this.S=this.T=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.v[a]=d&65535,this.v[a|1]=c-d*b&65535,this.aa=d>>16|d,this.X=d>>16):(this.T=32768,this.aa=d>>15|d,this.X=c>>16,-1===b&&65534===this.v[a]&&(this.v[a]=this.v[a|1]=1));this.b-=53}else this.aa=this.X=0,this.T=32768,this.S=65536,this.b-=7}function kf(){this.pa(24,2);this.b-=25}
|
||||||
function kf(){this.M&49152?(this.ga|=128,this.pa(4,3)):this.i?qc(this.i):this.ha();this.b-=7}function lf(){this.pa(16,4);this.b-=25}var mf=[0,7,7,10,7,11,9,13];function nf(a){this.K=this.b;P(this,ae(this,a));this.b=this.K-mf[this.g]}var of=[0,14,14,17,14,18,16,20];function pf(a){this.K=this.b;var b=ae(this,a);a=a>>6&7;zd(this,this.u[a]);this.u[a]=this.u[7];P(this,b);this.b=this.K-of[this.g]}var qf=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
|
function lf(){this.M&49152?(this.ga|=128,this.pa(4,3)):this.i?mf(this.i):this.ha();this.b-=7}function nf(){this.pa(16,4);this.b-=25}var of=[0,7,7,10,7,11,9,13];function pf(a){this.J=this.b;O(this,be(this,a));this.b=this.J-of[this.g]}var qf=[0,14,14,17,14,18,16,20];function rf(a){this.J=this.b;var b=be(this,a);a=a>>6&7;Ad(this,this.v[a]);this.v[a]=this.v[7];O(this,b);this.b=this.J-qf[this.g]}var sf=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
|
||||||
function rf(a){var b=$d(this,a);this.K=this.b;S(this,ee(this,a,b));this.b=this.K-qf[(this.D?8:0)+this.g]+(7!=this.f||this.g?0:2)}function sf(a){var b=Zd(this,a);S(this,de(this,a,b,1)<<8);this.b-=this.g?9+(this.J&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}var tf=[7,13,13,17,14,18,17,21];
|
function tf(a){var b=ae(this,a);this.J=this.b;R(this,fe(this,a,b));this.b=this.J-sf[(this.D?8:0)+this.g]+(7!=this.f||this.g?0:2)}function uf(a){var b=$d(this,a);R(this,ee(this,a,b,1)<<8);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}var vf=[7,13,13,17,14,18,17,21];
|
||||||
function uf(a){var b=ce(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.u[a];c&32768&&(c|=-65536);b=~~(b*c);this.u[a]=b>>16&65535;this.u[a|1]=b&65535;this.H&128||(this.Y=b>>16,this.aa=this.Y|b,this.U=0,this.T=-32768>b||32767<b?65536:0);this.b-=23}function vf(){this.b-=5}function wf(){this.M&49152||(this.w.reset(),Ub(this));this.b-=667}function xf(){Ad(this);this.H|=this.M&16;this.b-=13}
|
function wf(a){var b=de(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.v[a];c&32768&&(c|=-65536);b=~~(b*c);this.v[a]=b>>16&65535;this.v[a|1]=b&65535;this.I&128||(this.X=b>>16,this.aa=this.X|b,this.T=0,this.S=-32768>b||32767<b?65536:0);this.b-=23}function xf(){this.b-=5}function yf(){this.M&49152||(this.A.reset(),Ub(this));this.b-=667}function zf(){Bd(this);this.I|=this.M&16;this.b-=13}
|
||||||
function yf(a){if(a&8)X.call(this,a);else{var b=Bd(this);a&=7;7==a?P(this,b):(P(this,this.u[a]),this.u[a]=b);this.b-=9}}function zf(a){a&1&&(this.T=65536);a&2&&(this.U=32768);a&4&&(this.aa=0);a&8&&(this.Y=32768);this.b-=5}function Af(a){var b=(a&448)>>6;if(this.u[b]=this.u[b]-1&65535)P(this,this.u[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Bf(a){U(this,a,$d(this,a),De);this.b-=this.g?9+(this.J&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}
|
function Af(a){if(a&8)W.call(this,a);else{var b=Td(this);a&=7;7==a?O(this,b):(O(this,this.v[a]),this.v[a]=b);this.b-=9}}function X(a){a&1&&(this.S=65536);a&2&&(this.T=32768);a&4&&(this.aa=0);a&8&&(this.X=32768);this.b-=5}function Bf(a){var b=(a&448)>>6;if(this.v[b]=this.v[b]-1&65535)O(this,this.v[7]-((a&63)<<1)),this.b+=1;this.b-=6}function Cf(a){T(this,a,ae(this,a),Ee);this.b-=this.g?9+(this.H&&6<=this.f?1:0):(this.D?5:3)+(7==this.f?2:0)}
|
||||||
function Cf(a){U(this,a,0,Fe);this.b-=this.g?9:3+(7==this.f?2:0)}function Df(){this.pa(28,5);this.b-=5}function Ef(){this.H&4||this.C.Z();this.H|=4;ud(this,-2);this.b-=3}function Ff(a){U(this,a,$d(this,a),Ge);this.b-=this.g?9:3+(7==this.f?2:0)}function X(a){var b;if(b=this.i)b=this.i,E(b,"undefined opcode "+J(b,a),!0,!0),b=qc(b);b||this.pa(8,6)}function md(a){Gf[a>>12].call(this,a)}function Hf(a){If[a>>6&3].call(this,a)}function Jf(a){Kf[a>>6&3].call(this,a)}
|
function Df(a){T(this,a,0,Ge);this.b-=this.g?9:3+(7==this.f?2:0)}function Ef(){this.pa(28,5);this.b-=5}function Ff(){this.I&4||this.u&&this.u.ca();this.I|=4;vd(this,-2);this.b-=3}function Gf(a){T(this,a,ae(this,a),He);this.b-=this.g?9:3+(7==this.f?2:0)}function W(a){var b;if(b=this.i)b=this.i,E(b,"undefined opcode "+J(b,a),!0,!0),b=mf(b);b||this.pa(8,6)}function nd(a){Hf[a>>12].call(this,a)}function If(a){Jf[a>>6&3].call(this,a)}function Kf(a){Lf[a>>6&3].call(this,a)}
|
||||||
function Lf(a){Mf[a>>6&3].call(this,a)}function Nf(a){Of[a&15].call(this,a)}function Pf(a){Qf[a&15].call(this,a)}function Rf(a){Sf[a>>6&3].call(this,a)}function Tf(a){Uf[a>>6&3].call(this,a)}function Vf(a){Wf[a>>6&3].call(this,a)}
|
function Mf(a){Nf[a>>6&3].call(this,a)}function Of(a){Pf[a&15].call(this,a)}function Qf(a){Rf[a&15].call(this,a)}function Sf(a){Tf[a>>6&3].call(this,a)}function Uf(a){Vf[a>>6&3].call(this,a)}function Wf(a){Xf[a>>6&3].call(this,a)}
|
||||||
var Gf=[function(a){Xf[a>>8&15].call(this,a)},rf,ff,Qe,Me,Oe,He,X,function(a){Yf[a>>8&15].call(this,a)},sf,gf,Re,Ne,Pe,Bf,X],Xf=[function(a){Zf[a>>4&15].call(this,a)},cf,$e,Se,Te,Ye,Ue,We,pf,pf,Hf,Jf,Lf,X,X,X],If=[function(a){vd(this,ee(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,re);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,1,ve);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,1,te);this.b-=this.g?9:3+(7==this.f?2:0)}],Kf=[function(a){U(this,a,0,
|
var Hf=[function(a){Yf[a>>8&15].call(this,a)},tf,gf,Re,Ne,Pe,Ie,W,function(a){Zf[a>>8&15].call(this,a)},uf,hf,Se,Oe,Qe,Cf,W],Yf=[function(a){$f[a>>4&15].call(this,a)},df,af,Te,Ue,Ze,Ve,Xe,rf,rf,If,Kf,Mf,W,W,W],Jf=[function(a){wd(this,fe(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,se);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,we);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,ue);this.b-=this.g?9:3+(7==this.f?2:0)}],Lf=[function(a){T(this,a,0,
|
||||||
xe);this.b-=this.g?11:6},function(a){U(this,a,qd(this)?1:0,he);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,qd(this)?1:0,De);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=ce(this,a);vd(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Mf=[function(a){U(this,a,0,Be);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,ze);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,le);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){U(this,a,0,je);this.b-=this.g?9:3+(7==this.f?2:0)}],
|
ye);this.b-=this.g?11:6},function(a){T(this,a,rd(this)?1:0,ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,rd(this)?1:0,Ee);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=de(this,a);wd(this,a);this.b-=this.g?4:3+(7==this.f?2:0)}],Nf=[function(a){T(this,a,0,Ce);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,Ae);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,me);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,ke);this.b-=this.g?9:3+(7==this.f?2:0)}],
|
||||||
Zf=[function(a){$f[a&15].call(this,a)},X,X,X,nf,nf,nf,nf,yf,X,Nf,Pf,Cf,Cf,Cf,Cf],$f=[kf,Ef,xf,bf,lf,wf,X,X,X,X,X,X,X,X,X,X],Of=[vf,function(){this.T=0;this.b-=5},function(){this.U=0;this.b-=5},W,function(){this.aa=1;this.b-=5},W,W,W,function(){this.Y=0;this.b-=5},W,W,W,W,W,W,W],Qf=[vf,function(){this.T=65536;this.b-=5},function(){this.U=32768;this.b-=5},zf,function(){this.aa=0;this.b-=5},zf,zf,zf,function(){this.Y=32768;this.b-=5},zf,zf,zf,zf,zf,zf,zf],Yf=[af,Ze,Ve,Xe,df,ef,Ke,Le,jf,Df,Rf,Tf,Vf,X,
|
$f=[function(a){ag[a&15].call(this,a)},W,W,W,pf,pf,pf,pf,Af,W,Of,Qf,Df,Df,Df,Df],ag=[lf,Ff,zf,cf,nf,yf,W,W,W,W,W,W,W,W,W,W],Pf=[xf,function(){this.S=0;this.b-=5},function(){this.T=0;this.b-=5},V,function(){this.aa=1;this.b-=5},V,V,V,function(){this.X=0;this.b-=5},V,V,V,V,V,V,V],Rf=[xf,function(){this.S=65536;this.b-=5},function(){this.T=32768;this.b-=5},X,function(){this.aa=0;this.b-=5},X,X,X,function(){this.X=32768;this.b-=5},X,X,X,X,X,X,X],Zf=[bf,$e,We,Ye,ef,ff,Le,Me,kf,Ef,Sf,Uf,Wf,W,W,W],Tf=[function(a){wd(this,
|
||||||
X,X],Sf=[function(a){vd(this,de(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,se);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,we);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,1,ue);this.b-=this.g?9:3+(7==this.f?2:0)}],Uf=[function(a){T(this,a,0,ye);this.b-=this.g?11:6},function(a){T(this,a,qd(this)?1:0,ie);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,qd(this)?1:0,Ee);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=be(this,a);vd(this,
|
ee(this,a,0));this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,te);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,1,xe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,1,ve);this.b-=this.g?9:3+(7==this.f?2:0)}],Vf=[function(a){S(this,a,0,ze);this.b-=this.g?11:6},function(a){S(this,a,rd(this)?1:0,je);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,rd(this)?1:0,Fe);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){a=ce(this,a);wd(this,a<<8);this.b-=this.g?4:3+(7==
|
||||||
a<<8);this.b-=this.g?4:3+(7==this.f?2:0)}],Wf=[function(a){T(this,a,0,Ce);this.b-=this.g?9+(this.Ab&1):3+(7==this.f?2:0)},function(a){T(this,a,0,Ae);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){T(this,a,0,me);this.b-=this.g?9+(this.Ab&1):3+(7==this.f?2:0)},function(a){T(this,a,0,ke);this.b-=this.g?9:3+(7==this.f?2:0)}];function nd(a){ag[a>>12].call(this,a)}
|
this.f?2:0)}],Xf=[function(a){S(this,a,0,De);this.b-=this.g?9+(this.rb&1):3+(7==this.f?2:0)},function(a){S(this,a,0,Be);this.b-=this.g?9:3+(7==this.f?2:0)},function(a){S(this,a,0,ne);this.b-=this.g?9+(this.rb&1):3+(7==this.f?2:0)},function(a){S(this,a,0,le);this.b-=this.g?9:3+(7==this.f?2:0)}];function od(a){bg[a>>12].call(this,a)}
|
||||||
var ag=[function(a){bg[a>>8&15].call(this,a)},rf,ff,Qe,Me,Oe,He,function(a){cg[a>>8&15].call(this,a)},function(a){dg[a>>8&15].call(this,a)},sf,gf,Re,Ne,Pe,Bf,X],bg=[function(a){eg[a>>4&15].call(this,a)},cf,$e,Se,Te,Ye,Ue,We,pf,pf,Hf,Jf,Lf,function(a){fg[a>>6&3].call(this,a)},X,X],fg=[function(a){a=this.u[7]+((a&63)<<1)&65535;var b=this.ra(a|this.R);P(this,this.u[5]);this.u[6]=a+2&65535;this.u[5]=b;this.b-=8},function(a){a=Xd(this,a,0);zd(this,a);S(this,a);this.b-=11},function(a){var b=Bd(this);this.K=
|
var bg=[function(a){cg[a>>8&15].call(this,a)},tf,gf,Re,Ne,Pe,Ie,function(a){dg[a>>8&15].call(this,a)},function(a){eg[a>>8&15].call(this,a)},uf,hf,Se,Oe,Qe,Cf,W],cg=[function(a){fg[a>>4&15].call(this,a)},df,af,Te,Ue,Ze,Ve,Xe,rf,rf,If,Kf,Mf,function(a){gg[a>>6&3].call(this,a)},W,W],gg=[function(a){a=this.v[7]+((a&63)<<1)&65535;var b=this.ra(a|this.P);O(this,this.v[5]);this.v[6]=a+2&65535;this.v[5]=b;this.b-=8},function(a){a=Yd(this,a,0);Ad(this,a);R(this,a);this.b-=11},function(a){var b=Td(this);this.J=
|
||||||
this.b;Yd(this,a,0,b);S(this,b);this.b=this.K-tf[this.g]},function(a){S(this,ee(this,a,this.Qa?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],eg=[function(a){gg[a&15].call(this,a)},X,X,X,nf,nf,nf,nf,yf,function(a){a&8?(this.M&49152||(this.M=this.M&-2017|(a&7)<<5,this.H|=1),this.b-=5):X.call(this,a)},Nf,Pf,Cf,Cf,Cf,Cf],gg=[kf,Ef,xf,bf,lf,wf,function(){Ad(this);this.b-=13},X,X,X,X,X,X,X,X,X],cg=[uf,uf,hf,hf,Ie,Ie,Je,Je,Ff,Ff,X,X,X,X,Af,Af],dg=[af,Ze,Ve,Xe,df,ef,Ke,Le,jf,Df,Rf,Tf,Vf,function(a){hg[a>>
|
this.b;Zd(this,a,0,b);R(this,b);this.b=this.J-vf[this.g]},function(a){R(this,fe(this,a,this.Sa?65535:0));this.b-=this.g?9:3+(7==this.f?2:0)}],fg=[function(a){hg[a&15].call(this,a)},W,W,W,pf,pf,pf,pf,Af,function(a){a&8?(this.M&49152||(this.M=this.M&-2017|(a&7)<<5,this.I|=1),this.b-=5):W.call(this,a)},Of,Qf,Df,Df,Df,Df],hg=[lf,Ff,zf,cf,nf,yf,function(){Bd(this);this.b-=13},W,W,W,W,W,W,W,W,W],dg=[wf,wf,jf,jf,Je,Je,Ke,Ke,Gf,Gf,W,W,W,W,Bf,Bf],eg=[bf,$e,We,Ye,ef,ff,Le,Me,kf,Ef,Sf,Uf,Wf,function(a){ig[a>>
|
||||||
6&3].call(this,a)},X,X],hg=[X,function(a){a=Xd(this,a,65536);zd(this,a);S(this,a);this.b-=11},function(a){var b=Bd(this);this.K=this.b;Yd(this,a,65536,b);S(this,b);this.b=this.K-tf[this.g]},X];
|
6&3].call(this,a)},W,W],ig=[W,function(a){a=Yd(this,a,65536);Ad(this,a);R(this,a);this.b-=11},function(a){var b=Td(this);this.J=this.b;Zd(this,a,65536,b);R(this,b);this.b=this.J-vf[this.g]},W];
|
||||||
function ig(a){u.call(this,"ROM",a,ig);this.ia=this.f=null;this.B=a.addr;this.g=a.size;this.v=a.alias;this.C=a.file;this.D=sa(this.C);if(this.C){a=this.C;var b=ta(this.D);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.C+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.P("Unable to load ROM resource (error "+f+": "+a+")"),c.C=null):(nb(c.Na,a,b),(a=Fa(a,b))?(c.f=a.ea,c.ia=a.ia):c.C=null);jg(c)})}}z(ig);ig.prototype.Da=function(a,b,c,d){this.w=b;this.b=c;this.i=d;jg(this)};
|
function jg(a){u.call(this,"ROM",a,jg);this.ia=this.u=null;this.C=a.addr;this.f=a.size;this.w=a.alias;this.g=a.file;this.D=sa(this.g);if(this.g){a=this.g;var b=ta(this.D);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.g+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.O("Unable to load ROM resource (error "+f+": "+a+")"),c.g=null):(nb(c.Pa,a,b),(a=Fa(a,b))?(c.u=a.ea,c.ia=a.ia):c.g=null);kg(c)})}}z(jg);jg.prototype.Ea=function(a,b,c,d){this.A=b;this.b=c;this.i=d;kg(this)};
|
||||||
ig.prototype.Fa=function(){this.ia&&(this.i&&kg(this.i,this.id,this.B,this.g,this.ia),delete this.ia);return!0};ig.prototype.Ea=function(){return!0};
|
jg.prototype.Ga=function(){this.ia&&(this.i&&lg(this.i,this.id,this.C,this.f,this.ia),delete this.ia);return!0};jg.prototype.Fa=function(){return!0};
|
||||||
function jg(a){if(!tb(a)){if(a.C){if(!a.f||!a.w)return;a.g||(a.g=a.f.length);if(a.f.length!=a.g)vb(a,"ROM size ("+p(a.f.length,8,!0)+") does not match specified size ("+p(a.g,8,!0)+")");else{var b;b=a.B;if(jc(a.w,b,a.g,Nc)){var c;for(c=0;c<a.f.length;c++)a.w.nb(b+c,a.f[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.v?b.push(a.v):null!=a.v&&a.v.length&&(b=a.v);for(c=0;c<b.length;c++){var d=a,e=b[c],f=ic(d.w,d.B,d.g);hc(d.w,e,d.g,f)}delete a.f}}}H(a)}}
|
function kg(a){if(!tb(a)){if(a.g){if(!a.u||!a.A)return;a.f||(a.f=a.u.length);if(a.u.length!=a.f)vb(a,"ROM size ("+p(a.u.length,8,!0)+") does not match specified size ("+p(a.f,8,!0)+")");else{var b;b=a.C;if(oc(a.A,b,a.f,Rc)){var c;for(c=0;c<a.u.length;c++)a.A.pb(b+c,a.u[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.w?b.push(a.w):null!=a.w&&a.w.length&&(b=a.w);for(c=0;c<b.length;c++){var d=a,e=b[c],f=nc(d.A,d.C,d.f);mc(d.A,e,d.f,f)}delete a.u}}}H(a)}}
|
||||||
Xa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new ig(d);C(d,c)}});
|
Xa(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new jg(d);C(d,c)}});
|
||||||
function lg(a){u.call(this,"RAM",a,lg);this.ia=this.g=null;this.C=a.addr;this.B=a.size;this.Ja=a.load;this.Ia=a.exec;this.v=!1;this.f=a.file;this.D=sa(this.f);if(this.f){a=this.f;var b=ta(this.D);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.f+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.P("Unable to load RAM resource (error "+f+": "+a+")"),c.f=null):(nb(c.Na,a,b),(a=Fa(a,b))?(c.g=a.ea,c.ia=a.ia,null==c.Ja&&(c.Ja=a.Ja),null==c.Ia&&(c.Ia=a.Ia)):c.f=null);mg(c)})}}
|
function mg(a){u.call(this,"RAM",a,mg);this.ia=this.f=null;this.g=a.addr;this.C=a.size;this.Ja=a.load;this.Ia=a.exec;this.w=!1;this.u=a.file;this.D=sa(this.u);if(this.u){a=this.u;var b=ta(this.D);"json"!=b&&"hex"!=b&&(a=Ga()+"/api/v1/dump?file="+this.u+"&format=bytes&decimal=true");var c=this;Ea(a,null,!0,function(a,b,f){f?(c.O("Unable to load RAM resource (error "+f+": "+a+")"),c.u=null):(nb(c.Pa,a,b),(a=Fa(a,b))?(c.f=a.ea,c.ia=a.ia,null==c.Ja&&(c.Ja=a.Ja),null==c.Ia&&(c.Ia=a.Ia)):c.u=null);ng(c)})}}
|
||||||
z(lg);lg.prototype.Da=function(a,b,c,d){this.w=b;this.b=c;this.i=d;mg(this)};lg.prototype.Fa=function(){this.ia&&(this.i&&kg(this.i,this.id,this.C,this.B,this.ia),delete this.ia);return!0};lg.prototype.Ea=function(){return!0};function mg(a){if(a.w&&(!a.v&&a.B&&jc(a.w,a.C,a.B,1)&&(a.v=!0),!tb(a))){if(!a.v)q("No RAM allocated");else if(a.f){if(!a.g||!a.w)return;Gg(a,a.g,a.Ja,a.Ia,a.C)}H(a)}}
|
z(mg);mg.prototype.Ea=function(a,b,c,d){this.A=b;this.b=c;this.i=d;ng(this)};mg.prototype.Ga=function(){this.ia&&(this.i&&lg(this.i,this.id,this.g,this.C,this.ia),delete this.ia);return!0};mg.prototype.Fa=function(){return!0};function ng(a){if(a.A&&(!a.w&&a.C&&oc(a.A,a.g,a.C,1)&&(a.w=!0),!tb(a))){if(!a.w)q("No RAM allocated");else if(a.u){if(!a.f||!a.A)return;Hg(a,a.f,a.Ja,a.Ia,a.g)}H(a)}}
|
||||||
lg.prototype.reset=function(){if(this.v){for(var a=this.w,b=this.C,c=this.B,d=b&a.w,b=b>>>a.ka;0<c&&b<a.X.length;){var e=a.X[b],f=c,g,d=d||0;void 0===f&&(f=e.size);if(wb)for(g=d;f--&&g<e.G.length;g++)e.G[g]=0;else for(g=d;f--&&g<e.size;g++)e.Vb(d,0,e.F+d);c-=a.ya;b++;d=0}this.g&&Gg(this,this.g,this.Ja,this.Ia,this.C,!0)}};
|
mg.prototype.reset=function(){if(this.w){for(var a=this.A,b=this.g,c=this.C,d=b&a.A,b=b>>>a.ka;0<c&&b<a.W.length;){var e=a.W[b],f=c,g,d=d||0;void 0===f&&(f=e.size);if(wb)for(g=d;f--&&g<e.G.length;g++)e.G[g]=0;else for(g=d;f--&&g<e.size;g++)e.Yb(d,0,e.F+d);c-=a.xa;b++;d=0}this.f&&Hg(this,this.f,this.Ja,this.Ia,this.g,!0)}};
|
||||||
function Gg(a,b,c,d,e,f){var g=!1;if(null==c)for(var h=0;h<b.length-1;){var l=b[h]&255|(b[h+1]&255)<<8;if(l)if(l&255){if(1!=l)break;if(h+6>=b.length)break;for(var h=h+2,m=b[h++]&255|(b[h++]&255)<<8,n=b[h++]&255|(b[h++]&255)<<8,l=l+((m&255)+(m>>8)+(n&255)+(n>>8)),r=h,t=m-=6;0<m&&h<b.length;)l+=b[h++]&255,m--;if(m||h>=b.length)break;l+=b[h++]&255;if(l&255)break;if(t)for(;t--;)a.b.nb(n++,b[r++]&255);else n&1?a.b.ha():pd(a.b,n,f);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)a.b.nb(c+
|
function Hg(a,b,c,d,e,f){var g=!1;if(null==c)for(var h=0;h<b.length-1;){var l=b[h]&255|(b[h+1]&255)<<8;if(l)if(l&255){if(1!=l)break;if(h+6>=b.length)break;for(var h=h+2,m=b[h++]&255|(b[h++]&255)<<8,n=b[h++]&255|(b[h++]&255)<<8,l=l+((m&255)+(m>>8)+(n&255)+(n>>8)),r=h,t=m-=6;0<m&&h<b.length;)l+=b[h++]&255,m--;if(m||h>=b.length)break;l+=b[h++]&255;if(l&255)break;if(t)for(;t--;)a.b.pb(n++,b[r++]&255);else n&1?a.b.ha():qd(a.b,n,f);g=!0}else h++;else h+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)a.b.pb(c+
|
||||||
e,b[e]);null!=d&&pd(a.b,d,f);g=!0}return g}Xa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new lg(d);C(d,c)}});function Hg(a){u.call(this,"Keyboard",a,Hg,65536);H(this)}z(Hg);Hg.prototype.sa=function(){return!1};Hg.prototype.Da=function(a,b,c,d){this.C=a;this.b=c;this.i=d};Xa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Hg(d);C(d,c)}});
|
e,b[e]);null!=d&&qd(a.b,d,f);g=!0}return g}Xa(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new mg(d);C(d,c)}});function Ig(a){u.call(this,"Keyboard",a,Ig,65536);H(this)}z(Ig);Ig.prototype.sa=function(){return!1};Ig.prototype.Ea=function(a,b,c,d){this.u=a;this.b=c;this.i=d};Xa(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ig(d);C(d,c)}});
|
||||||
function Y(a){this.N=a.baudReceive||9600;this.R=a.baudTransmit||9600;this.da=a.upperCase;this.v=this.D=null;this.S=a.tabSize;this.O=a.charBOL;this.I=0;u.call(this,"SerialPort",a,Y,8388608);var b=a.binding;if("console"==b)this.D="";else{var c;a=Ig;b&&(void 0===c&&(c="Panel"),(c=qb(c,this.id))&&(b=c.G[b])&&this.sa(null,a,b))}this.J=this.L=null;this.exports={connect:this.sc,receiveData:this.dc}}z(Y);var Ig="buffer";k=Y.prototype;
|
function Y(a){this.N=a.baudReceive||9600;this.R=a.baudTransmit||9600;this.da=a.upperCase;this.w=this.D=null;this.V=a.tabSize;this.P=a.charBOL;this.H=0;u.call(this,"SerialPort",a,Y,8388608);var b=a.binding;if("console"==b)this.D="";else{var c;a=Jg;b&&(void 0===c&&(c="Panel"),(c=qb(c,this.id))&&(b=c.G[b])&&this.sa(null,a,b))}this.J=this.L=null;this.exports={connect:this.vc,receiveData:this.gc}}z(Y);var Jg="buffer";k=Y.prototype;
|
||||||
k.sa=function(a,b,c){var d=this;switch(b){case Ig:return this.G[b]=this.v=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.dc(b);return!0},c.onkeypress=function(a){a=a||window.event;d.dc(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
k.sa=function(a,b,c){var d=this;switch(b){case Jg:return this.G[b]=this.w=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.gc(b);return!0},c.onkeypress=function(a){a=a||window.event;d.gc(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||||
k.Da=function(a,b,c,d){this.C=a;this.w=b;this.b=c;this.i=d;var e=this;this.la=vc(48,4);this.W=sc(this.b,function(){e.f&128||!e.B.length||(e.K=e.B.shift()&255,e.da&&97<=e.K&&122>e.K&&(e.K-=32),e.f|=128,e.f&64&&tc(e.b,e.la))});this.ma=vc(52,4);this.$=sc(this.b,function(){e.g|=128;e.g&64&&tc(e.b,e.ma)});Ab(b,this,Jg);H(this)};
|
k.Ea=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.i=d;var e=this;this.la=Ic(48,4);this.Y=wc(this.b,function(){e.f&128||!e.C.length||(e.K=e.C.shift()&255,e.da&&97<=e.K&&122>e.K&&(e.K-=32),e.f|=128,e.f&64&&xc(e.b,e.la))});this.ma=Ic(52,4);this.$=wc(this.b,function(){e.g|=128;e.g&64&&xc(e.b,e.ma)});Ab(b,this,Kg);H(this)};
|
||||||
k.sc=function(){if(!this.J){var a=$c(this.C,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ya(b[0]);if(c!=this.fb)return;b=ya(b[1]);if(this.J=pb(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.L=d.receiveData){this.status(this.Na+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Fa=function(a,b){if(!b)if(this.sc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
k.vc=function(){if(!this.J){var a=dd(this.u,"connection");if(a){var b=a.split("->");if(2==b.length){var c=ya(b[0]);if(c!=this.ib)return;b=ya(b[1]);if(this.J=pb(b)){var d=this.J.exports;if(d){var e=d.connect;e&&e.call(this.J);if(this.L=d.receiveData){this.status(this.Pa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};k.Ga=function(a,b){if(!b)if(this.vc(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
k.Ea=function(a){return a?this.save():!0};k.reset=function(){Kg(this)};k.save=function(){var a=new R(this);a.set(0,[]);return a.data()};k.restore=function(){return Kg(this)};function Kg(a){a.K=0;a.f=0;a.g=128;a.B=[];return!0}k.dc=function(a){if("number"==typeof a)this.B.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.B.push(a.charCodeAt(b));else this.B=this.B.concat(a);uc(this.b,this.W,1E3/Math.round(this.N/10));return!0};k.Ad=function(){return this.f&65534};
|
k.Fa=function(a){return a?this.save():!0};k.reset=function(){Lg(this)};k.save=function(){var a=new P(this);a.set(0,[]);return a.data()};k.restore=function(){return Lg(this)};function Lg(a){a.K=0;a.f=0;a.g=128;a.C=[];return!0}k.gc=function(a){if("number"==typeof a)this.C.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.C.push(a.charCodeAt(b));else this.C=this.C.concat(a);yc(this.b,this.Y,1E3/Math.round(this.N/10));return!0};k.Bd=function(){return this.f&65534};
|
||||||
k.re=function(a){this.f=this.f&-112|a&111};k.zd=function(){this.f&=-129;0<this.B.length&&uc(this.b,this.W,1E3/Math.round(this.N/10));return this.K};k.qe=function(){};k.Td=function(){return this.g};k.Ke=function(a){128==(this.g&192)&&a&64&&uc(this.b,this.$,1E3/Math.round(this.R/10));this.g=this.g&-70|a&69};k.Sd=function(){return 0};
|
k.se=function(a){this.f=this.f&-112|a&111};k.Ad=function(){this.f&=-129;0<this.C.length&&yc(this.b,this.Y,1E3/Math.round(this.N/10));return this.K};k.re=function(){};k.Ud=function(){return this.g};k.Le=function(a){128==(this.g&192)&&a&64&&yc(this.b,this.$,1E3/Math.round(this.R/10));this.g=this.g&-70|a&69};k.Td=function(){return 0};
|
||||||
k.Je=function(a){if(a&=255){E(this,"transmitByte("+p(a,2,!0)+")");this.L&&this.L.call(this.J,a);if(this.v)if(13==a)this.I=0;else if(8==a)this.v.value=this.v.value.slice(0,-1),0<this.I&&this.I--;else{var b;b=(b=za[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.S||8,c=a-this.I%a,this.S&&(b=xa("",c)));this.O&&!this.I&&c&&(b=String.fromCharCode(this.O)+b);this.v.value+=b;this.v.scrollTop=this.v.scrollHeight;this.I+=c}else if(null!=this.D){if(10==a||1024<=this.D.length)this.j(this.D),
|
k.Ke=function(a){if(a&=255){E(this,"transmitByte("+p(a,2,!0)+")");this.L&&this.L.call(this.J,a);if(this.w)if(13==a)this.H=0;else if(8==a)this.w.value=this.w.value.slice(0,-1),0<this.H&&this.H--;else{var b;b=(b=za[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.V||8,c=a-this.H%a,this.V&&(b=xa("",c)));this.P&&!this.H&&c&&(b=String.fromCharCode(this.P)+b);this.w.value+=b;this.w.scrollTop=this.w.scrollHeight;this.H+=c}else if(null!=this.D){if(10==a||1024<=this.D.length)this.j(this.D),
|
||||||
this.D="";10!=a&&(this.D+=String.fromCharCode(a))}this.g&=-129;uc(this.b,this.$,1E3/Math.round(this.R/10))}};var Lg={},Jg=(Lg[65392]=[null,null,Y.prototype.Ad,Y.prototype.re,"RCSR"],Lg[65394]=[null,null,Y.prototype.zd,Y.prototype.qe,"RBUF"],Lg[65396]=[null,null,Y.prototype.Td,Y.prototype.Ke,"XCSR"],Lg[65398]=[null,null,Y.prototype.Sd,Y.prototype.Je,"XBUF"],Lg);Xa(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Y(d);C(d,c)}});
|
this.D="";10!=a&&(this.D+=String.fromCharCode(a))}this.g&=-129;yc(this.b,this.$,1E3/Math.round(this.R/10))}};var Mg={},Kg=(Mg[65392]=[null,null,Y.prototype.Bd,Y.prototype.se,"RCSR"],Mg[65394]=[null,null,Y.prototype.Ad,Y.prototype.re,"RBUF"],Mg[65396]=[null,null,Y.prototype.Ud,Y.prototype.Le,"XCSR"],Mg[65398]=[null,null,Y.prototype.Td,Y.prototype.Ke,"XBUF"],Mg);Xa(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Y(d);C(d,c)}});
|
||||||
function Hc(a){u.call(this,"PC11",a,Hc);this.g=a.autoMount||null;this.D=0;this.$=a.baudReceive||3600;this.K=this.L=this.f=0;this.J=[];this.I=Mg;this.v=Ng;this.N=this.B="";this.ea=this.Ja=this.Ia=null;this.R=-1;this.O=!Pa("Mobi")&&window&&"FileReader"in window}z(Hc);var Mg="",Ng=0;k=Hc.prototype;
|
function Lc(a){u.call(this,"PC11",a,Lc);this.g=a.autoMount||null;this.D=0;this.$=a.baudReceive||3600;this.K=this.L=this.f=0;this.J=[];this.H=Ng;this.w=Og;this.N=this.C="";this.ea=this.Ja=this.Ia=null;this.R=-1;this.P=!Pa("Mobi")&&window&&"FileReader"in window}z(Lc);var Ng="",Og=0;k=Lc.prototype;
|
||||||
k.sa=function(a,b,c){var d=this,e=Ng;switch(b){case "listTapes":return this.G[b]=c,c.onchange=function(){var a=d.G.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){q("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.G[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.G[b]=c,c.onclick=
|
k.sa=function(a,b,c){var d=this,e=Og;switch(b){case "listTapes":return this.G[b]=c,c.onchange=function(){var a=d.G.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){q("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.G[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.G[b]=c,c.onclick=
|
||||||
function(){var a=d.G.listTapes;a&&Og(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.O){c.parentNode.removeChild(c);break}this.G[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Og(d,sa(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.G[b]=c,!0}return!1};
|
function(){var a=d.G.listTapes;a&&Pg(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.P){c.parentNode.removeChild(c);break}this.G[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Pg(d,sa(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.G[b]=c,!0}return!1};
|
||||||
k.Da=function(a,b,c,d){this.C=a;this.w=b;this.b=c;this.i=d;this.S=Pg(a);var e=this;if((this.g=$c(this.C,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){q("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.W=vc(56,4);this.da=sc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.K<e.J.length&&(e.L=e.J[e.K++]&255,Qg(e,e.K/e.J.length*100),e.f|=128,e.f&=-2049,e.f&64&&tc(e.b,e.W))});Ab(b,this,Rg);Sg(this,"None",Mg,!0);this.O&&Sg(this,"Local Tape",
|
k.Ea=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.i=d;this.V=Qg(a);var e=this;if((this.g=dd(this.u,"autoMount")||this.g)&&"string"==typeof this.g)try{this.g=eval("("+this.g+")")}catch(f){q("PC11 auto-mount error: "+f.message+" ("+this.g+")"),this.g=null}this.Y=Ic(56,4);this.da=wc(this.b,function(){1==(e.f&32769)&&!(e.f&128)&&e.K<e.J.length&&(e.L=e.J[e.K++]&255,Rg(e,e.K/e.J.length*100),e.f|=128,e.f&=-2049,e.f&64&&xc(e.b,e.Y))});Ab(b,this,Sg);Tg(this,"None",Ng,!0);this.P&&Tg(this,"Local Tape",
|
||||||
"?");Sg(this,"Remote Tape","??");Tg(this)||H(this)};k.Fa=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Ea=function(a){return a?this.save():!0};k.reset=function(){this.f&=-2241;this.L=0};function Tg(a){a.D=0;if(a.g){var b=a.g.path||"",c;if(!(c=a.g.name))a:{if((c=a.G.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=sa(b,!0)}b&&c?Ug(a,c,b,1,!0):Vg(a)}return!!a.D}
|
"?");Tg(this,"Remote Tape","??");Ug(this)||H(this)};k.Ga=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};k.Fa=function(a){return a?this.save():!0};k.reset=function(){this.f&=-2241;this.L=0};function Ug(a){a.D=0;if(a.g){var b=a.g.path||"",c;if(!(c=a.g.name))a:{if((c=a.G.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=sa(b,!0)}b&&c?Vg(a,c,b,1,!0):Wg(a)}return!!a.D}
|
||||||
function Og(a,b,c,d,e){if(c)if("?"==c)a.P('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=sa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.I="??"}else a.I=c;Ug(a,b,c,d,!1,e)}else Wg(a,!1)}
|
function Pg(a,b,c,d,e){if(c)if("?"==c)a.O('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=sa(c);a.status("Attempting to load "+c+' as "'+b+'"');a.H="??"}else a.H=c;Vg(a,b,c,d,!1,e)}else Xg(a,!1)}
|
||||||
function Ug(a,b,c,d,e,f){var g=-1;if(a.B.toLowerCase()!=c.toLowerCase()||a.v!=d)g++,Wg(a,!0),a.A.Va?a.P("PC11 busy"):(e&&(a.D++,F(a)&&E(a,"auto-loading tape: "+b)),Xg(a,b,c,d,f)?g++:a.A.Va=!0);g&&Yg(a,a.N,a.B,a.v,a.ea,a.Ja,a.Ia)}
|
function Vg(a,b,c,d,e,f){var g=-1;if(a.C.toLowerCase()!=c.toLowerCase()||a.w!=d)g++,Xg(a,!0),a.B.Xa?a.O("PC11 busy"):(e&&(a.D++,F(a)&&E(a,"auto-loading tape: "+b)),Yg(a,b,c,d,f)?g++:a.B.Xa=!0);g&&Zg(a,a.N,a.C,a.w,a.ea,a.Ja,a.Ia)}
|
||||||
function Xg(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Yg(a,b,c,d,e),a.I="?");Vg(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=ta(c),f="json"==e||"gz"==e?encodeURI(c):Ga()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ea(f,null,!0,function(e,f,g){var h=0>g&&a.C&&!a.C.A.ja;g?a.P('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(nb(a.Na,e,f),(e=Fa(e,f))&&Yg(a,b,c,d,e.ea,e.Ja,
|
function Yg(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),Zg(a,b,c,d,e),a.H="?");Wg(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=ta(c),f="json"==e||"gz"==e?encodeURI(c):Ga()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!Ea(f,null,!0,function(e,f,g){var h=0>g&&a.u&&!a.u.B.ja;g?a.O('Unable to load tape "'+b+'" (error '+g+": "+e+")",h):(nb(a.Pa,e,f),(e=Fa(e,f))&&Zg(a,b,c,d,e.ea,e.Ja,
|
||||||
e.Ia));a.A.Va=!1;a.D&&(a.D--,a.D||H(a));Vg(a)})}function Sg(a,b,c,d){if((a=a.G.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
e.Ia));a.B.Xa=!1;a.D&&(a.D--,a.D||H(a));Wg(a)})}function Tg(a,b,c,d){if((a=a.G.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function Vg(a){var b=a.G.listTapes;if(b&&b.options){a=a.I||a.B;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Qg(a,b){b|=0;if(b!==a.R){var c=a.G.readProgress;c&&(c=(c=D(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.R=b}}
|
function Wg(a){var b=a.G.listTapes;if(b&&b.options){a=a.H||a.C;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}function Rg(a,b){b|=0;if(b!==a.R){var c=a.G.readProgress;c&&(c=(c=D(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.R=b}}
|
||||||
function Yg(a,b,c,d,e,f,g){a.N=b;a.B=c;a.v=d;a.ea=e;a.Ja=f;a.Ia=g;2==d?a.S&&Gg(a.S,e,f,g)?a.status("tape loaded: "+b):(a.N="",a.B="",a.I=Mg,a.v=Ng,a.P("No load address available for tape: "+b)):(a.K=0,a.J=e,a.status("tape attached: "+b),Qg(a,0))}function Wg(a,b){if(a.B||!1===b)a.N="",a.B="",b||(a.v&&a.status(1==a.v?"tape detached":"tape unloaded"),a.I=Mg,a.v=Ng,Vg(a))}k.save=function(){return(new R(this)).data()};k.restore=function(){return!0};k.td=function(){return this.f&65534};
|
function Zg(a,b,c,d,e,f,g){a.N=b;a.C=c;a.w=d;a.ea=e;a.Ja=f;a.Ia=g;2==d?a.V&&Hg(a.V,e,f,g)?a.status("tape loaded: "+b):(a.N="",a.C="",a.H=Ng,a.w=Og,a.O("No load address available for tape: "+b)):(a.K=0,a.J=e,a.status("tape attached: "+b),Rg(a,0))}function Xg(a,b){if(a.C||!1===b)a.N="",a.C="",b||(a.w&&a.status(1==a.w?"tape detached":"tape unloaded"),a.H=Ng,a.w=Og,Wg(a))}k.save=function(){return(new P(this)).data()};k.restore=function(){return!0};k.ud=function(){return this.f&65534};
|
||||||
k.ke=function(a){a&1&&(this.f&32768?(a&=-2,this.f&64&&tc(this.b,this.W)):(this.f&=-129,this.f|=2048,this.L=0,uc(this.b,this.da,1E3/Math.round(this.$/10))));this.f=this.f&-66|a&65};k.sd=function(){this.f&=-129;this.f|=2048;return this.L};k.je=function(){};var Zg={},Rg=(Zg[65384]=[null,null,Hc.prototype.td,Hc.prototype.ke,"PRS"],Zg[65386]=[null,null,Hc.prototype.sd,Hc.prototype.je,"PRB"],Zg);
|
k.le=function(a){a&1&&(this.f&32768?(a&=-2,this.f&64&&xc(this.b,this.Y)):(this.f&=-129,this.f|=2048,this.L=0,yc(this.b,this.da,1E3/Math.round(this.$/10))));this.f=this.f&-66|a&65};k.td=function(){this.f&=-129;this.f|=2048;return this.L};k.ke=function(){};var $g={},Sg=($g[65384]=[null,null,Lc.prototype.ud,Lc.prototype.le,"PRS"],$g[65386]=[null,null,Lc.prototype.td,Lc.prototype.ke,"PRB"],$g);
|
||||||
function $g(a,b,c){u.call(this,"Disk",{id:a.Na+".disk"+p(++ah,4)},$g,2097152);this.controller=a;this.C=a.C;this.i=a.i;this.v=b;this.Ta=b.name;this.$b=b.$b;bh(this,c,b.ua,b.za,b.qa,b.Ka);H(this)}var ah=0;z($g);k=$g.prototype;k.Da=function(a,b,c,d){this.i=d};
|
function ah(a,b,c){u.call(this,"Disk",{id:a.Pa+".disk"+p(++bh,4)},ah,2097152);this.controller=a;this.u=a.u;this.i=a.i;this.w=b;this.Va=b.name;this.cc=b.cc;ch(this,c,b.ta,b.ya,b.qa,b.Ka);H(this)}var bh=0;z(ah);k=ah.prototype;k.Ea=function(a,b,c,d){this.i=d};
|
||||||
function bh(a,b,c,d,e,f){a.mode=b;a.ua=c;a.za=d;a.qa=e;a.Ka=f;a.b=[];if("preload"!=a.mode){b=Array(a.ua);for(c=0;c<b.length;c++){d=Array(a.za);for(e=0;e<d.length;e++){f=Array(a.qa);for(var g=1;g<=f.length;g++)f[g-1]=ch(null,c,e,g,a.Ka,0);d[e]=f}b[c]=d}a.b=b}a.f=null}
|
function ch(a,b,c,d,e,f){a.mode=b;a.ta=c;a.ya=d;a.qa=e;a.Ka=f;a.b=[];if("preload"!=a.mode){b=Array(a.ta);for(c=0;c<b.length;c++){d=Array(a.ya);for(e=0;e<d.length;e++){f=Array(a.qa);for(var g=1;g<=f.length;g++)f[g-1]=dh(null,c,e,g,a.Ka,0);d[e]=f}b[c]=d}a.b=b}a.f=null}
|
||||||
function dh(a,b,c,d,e){var f=c;if(a.w)return!0;a.Ta=b;a.$a=c;a.Bc=sa(c);a.w=e;a.B=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=la[d];if(e){a.ua=e[0];a.za=e[1];a.qa=e[2];a.Ka=e[3]||512;c=a.Ka>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ua);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.za),w=0;w<t.length;w++)for(var y=t[w]=Array(a.qa),x=0;x<y.length;x++){for(var A=ch(null,d,w,x+1,a.Ka,0),ka=A.data,Ja=0;Ja<c;Ja++,f+=4)var Q=ka[Ja]=b.getInt32(f,
|
function eh(a,b,c,d,e){var f=c;if(a.A)return!0;a.Va=b;a.cb=c;a.Cc=sa(c);a.A=e;a.C=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=la[d];if(e){a.ta=e[0];a.ya=e[1];a.qa=e[2];a.Ka=e[3]||512;c=a.Ka>>2;var f=e=0,b=new DataView(b,0,d);a.b=Array(a.ta);for(d=0;d<a.b.length;d++)for(var t=a.b[d]=Array(a.ya),w=0;w<t.length;w++)for(var y=t[w]=Array(a.qa),x=0;x<y.length;x++){for(var A=dh(null,d,w,x+1,a.Ka,0),ja=A.data,Ia=0;Ia<c;Ia++,f+=4)var Q=ja[Ia]=b.getInt32(f,
|
||||||
!0),e=e+Q&-1;A.Ba=c;y[x]=A}a.f=e;c=a}else a.P("Unrecognized disk format ("+d+" bytes)");a.w&&(a.w.call(a.controller,a.v,c,a.Ta,a.$a),a.w=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ta(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ua(c,"/")&&(d="dir"),f=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.$b?"":e)+"&format=json"));return!!Ea(f,
|
!0),e=e+Q&-1;A.Ba=c;y[x]=A}a.f=e;c=a}else a.O("Unrecognized disk format ("+d+" bytes)");a.A&&(a.A.call(a.controller,a.w,c,a.Va,a.cb),a.A=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=ta(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ua(c,"/")&&(d="dir"),f=Ga()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.cc?"":e)+"&format=json"));return!!Ea(f,
|
||||||
null,!0,function(b,c,d){eh(a,b,c,d)})}
|
null,!0,function(b,c,d){fh(a,b,c,d)})}
|
||||||
function eh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.C&&!a.C.A.ja;if(d)a.controller.P('Unable to load disk "'+a.Ta+'" (error '+d+": "+b+")",f);else{nb(a.controller.Na,b,c);try{if(0<sa(a.Bc,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.Ta]:h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
function fh(a,b,c,d){var e=null;a.g=!1;var f=0>d&&a.u&&!a.u.B.ja;if(d)a.controller.O('Unable to load disk "'+a.Va+'" (error '+d+": "+b+")",f);else{nb(a.controller.Pa,b,c);try{if(0<sa(a.Cc,!0).toLowerCase().indexOf("-readonly"))a.g=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.g=!0)}var h;"<"==c.substr(0,1)?h=["Missing disk image: "+a.Va]:h=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
||||||
c+")");if(h.length)if(1==h.length)q(h[0]);else{a.ua=h.length;a.za=h[0].length;a.qa=h[0][0].length;var l=h[0][0][0];a.Ka=l&&l.length||512;for(d=c=0;d<a.ua;d++)for(f=0;f<a.za;f++)for(g=0;g<a.qa;g++)if(l=h[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var t=l.bytes;if(void 0!==t&&t.length){for(var w=m<<2,y=t.length;y<w;y++)t[y]=n;fh(l,t)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}ch(l,d,f);for(w=
|
c+")");if(h.length)if(1==h.length)q(h[0]);else{a.ta=h.length;a.ya=h[0].length;a.qa=h[0][0].length;var l=h[0][0][0];a.Ka=l&&l.length||512;for(d=c=0;d<a.ta;d++)for(f=0;f<a.ya;f++)for(g=0;g<a.qa;g++)if(l=h[d][f][g]){var m=l.length;void 0===m&&(m=l.length=512);var m=m>>2,n=l.pattern;void 0===n&&(n=l.pattern=0);var r=l.data;if(void 0===r){var t=l.bytes;if(void 0!==t&&t.length){for(var w=m<<2,y=t.length;y<w;y++)t[y]=n;gh(l,t)}else r=[],n=l.pattern=n|n<<8|n<<16|n<<24,l.data=r;delete l.bytes}dh(l,d,f);for(w=
|
||||||
0;w<r.length;w++)c=c+r[w]&-1}a.b=h;a.f=c;e=a}else q("Empty disk image: "+a.Ta)}catch(x){q("Disk image error ("+b+"): "+x.message)}}a.w&&(a.w.call(a.B,a.v,e,a.Ta,a.$a),a.w=null)}function ch(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Ne=b;a.Oe=c;a.Ma=a.Ba=0;a.Pa=!1;return a}
|
0;w<r.length;w++)c=c+r[w]&-1}a.b=h;a.f=c;e=a}else q("Empty disk image: "+a.Va)}catch(x){q("Disk image error ("+b+"): "+x.message)}}a.A&&(a.A.call(a.C,a.w,e,a.Va,a.cb),a.A=null)}function dh(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.Oe=b;a.Pe=c;a.Oa=a.Ba=0;a.Ra=!1;return a}
|
||||||
k.seek=function(a,b,c,d,e){d=null;var f=this.v,g=this.b[a];if(g){var h=g[b];if(!h&&f.Hc&&b<f.za)for(h=g[b]=Array(f.Ic),g=0;g<h.length;g++)h[g]=ch(null,a,b,g+1,f.vc,0);if(h){for(g=0;g<h.length;g++)if(h[g]&&h[g].sector==c){d=h[g];break}!d&&f.Hc&&9==f.ic&&(d=h[g]=ch(null,a,b,f.ic,f.vc,0))}}e&&e(d,!1);return d};function fh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
k.seek=function(a,b,c,d,e){d=null;var f=this.w,g=this.b[a];if(g){var h=g[b];if(!h&&f.Ic&&b<f.ya)for(h=g[b]=Array(f.Jc),g=0;g<h.length;g++)h[g]=dh(null,a,b,g+1,f.wc,0);if(h){for(g=0;g<h.length;g++)if(h[g]&&h[g].sector==c){d=h[g];break}!d&&f.Ic&&9==f.lc&&(d=h[g]=dh(null,a,b,f.lc,f.wc,0))}}e&&e(d,!1);return d};function gh(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
||||||
k.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ba?f<a.Ma?(a.Ba+=a.Ma-f,a.Ma=f):f>=a.Ma+a.Ba&&(a.Ba+=f-(a.Ma+a.Ba)+1):(a.Ma=f,a.Ba=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
k.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};k.write=function(a,b,c){if(this.g)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.Ba?f<a.Oa?(a.Ba+=a.Oa-f,a.Oa=f):f>=a.Oa+a.Ba&&(a.Ba+=f-(a.Oa+a.Ba)+1):(a.Oa=f,a.Ba=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
||||||
function gh(a,b){var c=a.za*a.qa,d=b/c|0;return d<a.ua?(b%=c,a.seek(d,b/a.qa|0,b%a.qa+1)):null}function hh(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
|
function hh(a,b){var c=a.ya*a.qa,d=b/c|0;return d<a.ta?(b%=c,a.seek(d,b/a.qa|0,b%a.qa+1)):null}function ih(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}
|
||||||
k.save=function(){var a=0,b=[];b[a++]=[this.$a,this.f,this.ua,this.za,this.qa,this.Ka];if(!this.g)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ba){for(var h=[],l=0,m=g.Ma,n=g.Ma+g.Ba;m<n;)h[l++]=g.data[m++];b[a++]=[d,e,f,g.Ma,h]}}return b};
|
k.save=function(){var a=0,b=[];b[a++]=[this.cb,this.f,this.ta,this.ya,this.qa,this.Ka];if(!this.g)for(var c=this.b,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.Ba){for(var h=[],l=0,m=g.Oa,n=g.Oa+g.Ba;m<n;)h[l++]=g.data[m++];b[a++]=[d,e,f,g.Oa,h]}}return b};
|
||||||
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?bh(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],m=g[f++];if(h>=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+
|
k.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.b.length&&6<=e.length?ch(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.f&&e[1]!=this.f&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.f+")",b=-2));for(this.b.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],h=g[f++],l=g[f++],m=g[f++];if(h>=this.b.length||l>=this.b[h].length||m>=this.b[h][l].length){c="sector (CHS="+h+":"+l+":"+m+") out of range ("+
|
||||||
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.Ma=e;for(h.Ba=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.P("Unable to restore disk '"+this.Ta+": "+c);return b};
|
b+" changes applied)";b=-1;break}if(this.g){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(h=this.b[h][l][m]){for(l=h.data.length;l<e;)h.data[l++]=h.pattern;l=0;h.Oa=e;for(h.Ba=f.length;e<g;)h.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.O("Unable to restore disk '"+this.Va+": "+c);return b};
|
||||||
k.toJSON=function(){var a;a=0;for(var b;b=gh(this,a++);)ih(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
k.toJSON=function(){var a;a=0;for(var b;b=hh(this,a++);)jh(b);a=JSON.stringify(this.b,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||||
function ih(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function O(a){u.call(this,"RL11",a,O,2097152);this.v=a.autoMount||null;this.I=0;this.f=Array(1);this.L=!Pa("Mobi")&&window&&"FileReader"in window}z(O);k=O.prototype;
|
function jh(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function N(a){u.call(this,"RL11",a,N,2097152);this.w=a.autoMount||null;this.H=0;this.f=Array(4);this.L=!Pa("Mobi")&&window&&"FileReader"in window}z(N);k=N.prototype;
|
||||||
k.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.G[b]=c,c.onchange=function(){var a=d.G.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){q("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.G[b]=c,c.onchange=function(){var a=ma(c.value,10);null!=a&&jh(d,a)},!0;case "loadDrive":return this.G[b]=
|
k.sa=function(a,b,c){var d=this;switch(b){case "listDisks":return this.G[b]=c,c.onchange=function(){var a=d.G.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(h){q("RL11 option error: "+h.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.G[b]=c,c.onchange=function(){var a=qa(c.value,10);null!=a&&kh(d,a)},!0;case "loadDrive":return this.G[b]=
|
||||||
c,c.onclick=function(){var a=d.G.listDisks;a&&kh(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.L){c.parentNode.removeChild(c);break}this.G[b]=c;c.onclick=function(){var a=d.G.listDrives;if(a&&a.options&&d.f)if(a=d.f[ma(a.value,10)||0])if(a=a.Ca){var b;b="";for(var c=0,h;h=gh(a,c++);)for(var l=0,m=h.length;l<m;l++)b+=String.fromCharCode(hh(a,h,l));b=btoa(b);a=a.Bc.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),
|
c,c.onclick=function(){var a=d.G.listDisks;a&&lh(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.L){c.parentNode.removeChild(c);break}this.G[b]=c;c.onclick=function(){var a=d.G.listDrives;if(a&&a.options&&d.f)if(a=d.f[qa(a.value,10)||0])if(a=a.Ca){var b;b="";for(var c=0,h;h=hh(a,c++);)for(var l=0,m=h.length;l<m;l++)b+=String.fromCharCode(ih(a,h,l));b=btoa(b);a=a.Cc.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),
|
||||||
"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(a?" ("+a+")":"")+".");q(a)}else d.P("No disk loaded in drive.");else d.P("No disk drive selected.")};return!0;case "mountDrive":if(this.L)return this.G[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
"string"!=typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(a?" ("+a+")":"")+".");q(a)}else d.O("No disk loaded in drive.");else d.O("No disk drive selected.")};return!0;case "mountDrive":if(this.L)return this.G[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=
|
||||||
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;kh(d,sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
!a.children[0].files.length}),c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;lh(d,sa(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||||
k.Da=function(a,b,c,d){this.C=a;this.w=b;this.b=c;this.i=d;if((this.v=$c(this.C,"autoMount")||this.v)&&"string"==typeof this.v)try{this.v=eval("("+this.v+")")}catch(e){q("RL11 auto-mount error: "+e.message+" ("+this.v+")"),this.v=null}lh(this);this.O=vc(112,5);Ab(b,this,mh);nh(this,"None","",!0);this.L&&nh(this,"Local Disk","?");nh(this,"Remote Disk","??");oh(this)||H(this)};
|
k.Ea=function(a,b,c,d){this.u=a;this.A=b;this.b=c;this.i=d;if((this.w=dd(this.u,"autoMount")||this.w)&&"string"==typeof this.w)try{this.w=eval("("+this.w+")")}catch(e){q("RL11 auto-mount error: "+e.message+" ("+this.w+")"),this.w=null}mh(this);this.P=Ic(112,5);Ab(b,this,nh,2097152);oh(this,"None","",!0);this.L&&oh(this,"Local Disk","?");oh(this,"Remote Disk","??");ph(this)||H(this)};
|
||||||
k.Fa=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.C.lc){for(a=0;a<this.f.length;a++)ph(this,a,!0);oh(this,!0)}}else if(!this.restore(a))return!1;if(a=this.G.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;1>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";jh(this,0)}}return!0};k.Ea=function(a){return a?this.save():!0};k.reset=function(){lh(this)};k.save=function(){return(new R(this)).data()};
|
k.Ga=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.u.pc){for(a=0;a<this.f.length;a++)qh(this,a,!0);ph(this,!0)}}else if(!this.restore(a))return!1;if(a=this.G.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";kh(this,0)}}return!0};k.Fa=function(a){return a?this.save():!0};k.reset=function(){mh(this)};k.save=function(){return(new P(this)).data()};
|
||||||
k.restore=function(a){return lh(this,a[0])};function oh(a,b){b||(a.I=0);if(a.v)for(var c in a.v){var d=a.v[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.G.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=sa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.f.length)){!qh(a,g,f,e,!0)&&b&&H(a,!1);continue}a.P("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.I}
|
k.restore=function(a){return mh(this,a[0])};function ph(a,b){b||(a.H=0);if(a.w)for(var c in a.w){var d=a.w[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.G.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var h=f.options[g];if(h.value==e){f=h.text;break a}}f=sa(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.f.length)){!rh(a,g,f,e,!0)&&b&&H(a,!1);continue}a.O("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.H}
|
||||||
function kh(a,b,c,d){var e=a.G.listDrives,e=e&&ma(e.value,10);if(void 0===e||0>e||e>=a.f.length)a.P("Unable to load the selected drive");else if(c)if("?"==c)a.P('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=sa(c);a.status("Attempting to load "+c+' as "'+b+'"')}qh(a,e,b,c,!1,d)}else ph(a,e)}
|
function lh(a,b,c,d){var e=a.G.listDrives,e=e&&qa(e.value,10);if(void 0===e||0>e||e>=a.f.length)a.O("Unable to load the selected drive");else if(c)if("?"==c)a.O('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=sa(c);a.status("Attempting to load "+c+' as "'+b+'"')}rh(a,e,b,c,!1,d)}else qh(a,e)}
|
||||||
function qh(a,b,c,d,e,f){var g=-1,h=a.f[b];h.$a.toLowerCase()!=d.toLowerCase()&&(g++,ph(a,b,!0),h.Zb?a.P("RL11 busy"):(h.Zb=!0,e&&(h.Yb=!0,a.I++,F(a)&&E(a,"auto-loading disk: "+c)),h.Mb=!!f,dh(new $g(a,h,"preload"),c,d,f,a.Kc)&&g++));return g}
|
function rh(a,b,c,d,e,f){var g=-1,h=a.f[b];h.cb.toLowerCase()!=d.toLowerCase()&&(g++,qh(a,b,!0),h.bc?a.O("RL11 busy"):(h.bc=!0,e&&(h.ac=!0,a.H++,F(a)&&E(a,"auto-loading disk: "+c)),h.Ob=!!f,eh(new ah(a,h,"preload"),c,d,f,a.Lc)&&g++));return g}
|
||||||
k.Kc=function(a,b,c,d,e){var f;a.Zb=!1;b&&(f=b.b.length?[b.b.length,b.b[0].length,b.b[0][0].length,b.b[0][0][0].length]:[0,0,0,0],b&&f[0]>a.ua||f[1]>a.za)&&(this.P('Disk "'+c+'" too large for drive '+("RL"+a.ac)),b=null);b?(a.Ca=b,a.Ta=c,a.$a=d,this.P('Mounted disk "'+c+'" in drive '+("RL"+a.ac),a.Yb||e),this.C&&this.C.ob()):a.Mb=!1;a.Yb&&(a.Yb=!1,--this.I||H(this));jh(this,a.ac)};
|
k.Lc=function(a,b,c,d,e){var f;a.bc=!1;b&&(f=b.b.length?[b.b.length,b.b[0].length,b.b[0][0].length,b.b[0][0][0].length]:[0,0,0,0],b&&f[0]>a.ta||f[1]>a.ya)&&(this.O('Disk "'+c+'" too large for drive '+("RL"+a.dc)),b=null);b?(a.Ca=b,a.Va=c,a.cb=d,this.O('Mounted disk "'+c+'" in drive '+("RL"+a.dc),a.ac||e),this.u&&this.u.qb()):a.Ob=!1;a.ac&&(a.ac=!1,--this.H||H(this));kh(this,a.dc)};
|
||||||
function nh(a,b,c,d){if((a=a.G.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
function oh(a,b,c,d){if((a=a.G.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function jh(a,b){if(0<=b&&b<a.f.length){var c=a.f[b],d=a.G.listDisks;a=a.G.listDrives;if(d&&a&&d.options&&a.options&&(a=ma(a.value,10),c=c.Mb?"?":c.$a,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function ph(a,b,c){var d=a.f[b];if(d.Ca||!1===c)d.Ta="",d.$a="",d.Ca=null,d.Mb=!1,c||(a.P("Drive RL"+b+" unloaded",c),jh(a,b))}
|
function kh(a,b){if(0<=b&&b<a.f.length){var c=a.f[b],d=a.G.listDisks;a=a.G.listDrives;if(d&&a&&d.options&&a.options&&(a=qa(a.value,10),c=c.Ob?"?":c.cb,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function qh(a,b,c){var d=a.f[b];if(d.Ca||!1===c)d.Va="",d.cb="",d.Ca=null,d.Ob=!1,c||(a.O("Drive RL"+b+" unloaded",c),kh(a,b))}
|
||||||
function lh(a,b){var c=0;b||(b=[]);a.fa=b[c++]||0;a.J=b[c++]||0;a.g=b[c++]||0;a.B=b[c++]||0;a.D=b[c++]||0;a.K=b[c]||0;for(b=0;b<a.f.length;b++){var d=a.f[b];void 0===d&&(d=a.f[b]={});c=a;d.ac=b;d.Zb=d.Mb=!1;d.name=c.fb;d.ua=512;d.za=2;d.qa=40;d.Ka=256;d.$b=!0;d.Me=0;d.Le=0;d.ic=1;d.Ic=d.qa;d.vc=d.Ka;d.Pe=0;d.Re=null;d.Ca||(d.$a="");d.status=29|(512==d.ua?128:0)}return!0}
|
function mh(a,b){var c=0;b||(b=[]);a.fa=b[c++]||0;a.J=b[c++]||0;a.g=b[c++]||0;a.C=b[c++]||0;a.D=b[c++]||0;a.K=b[c]||0;for(b=0;b<a.f.length;b++){var d=a.f[b];void 0===d&&(d=a.f[b]={});c=a;d.dc=b;d.bc=d.Ob=!1;d.name=c.ib;d.ta=512;d.ya=2;d.qa=40;d.Ka=256;d.cc=!0;d.Ne=0;d.Me=0;d.lc=1;d.Jc=d.qa;d.wc=d.Ka;d.Qe=0;d.Se=null;d.Ca||(d.cb="");d.status=29|(512==d.ta?128:0)}return!0}
|
||||||
k.Lc=function(a,b,c,d,e,f){this.J=f&65535;this.fa=this.fa&-49|f>>12&48;this.K=f>>16&63;this.B=this.g=b<<7|(c?64:0)|d&63;this.D=65536-e&65535;a&&(this.fa=this.fa|a|32768);return!0};
|
k.Mc=function(a,b,c,d,e,f){this.J=f&65535;this.fa=this.fa&-49|f>>12&48;this.K=f>>16&63;this.C=this.g=b<<7|(c?64:0)|d&63;this.D=65536-e&65535;a&&(this.fa=this.fa|a|32768);return!0};
|
||||||
k.fd=function(a,b,c,d,e,f,g){for(var h=0,l=a.Ca,m=null,n;e--;){if(!m){m=a.Ca.seek(b,c,d+1);if(!m){h=5120;break}n=0}var r,t;if(0>(r=a.Ca.read(m,n++))||0>(t=a.Ca.read(m,n++))){h=5120;break}this.w.ab(f,r|t<<8);if(rc(this.w)){h=8192;break}f+=2;if(n>=l.Ka&&(m=null,++d>=l.qa&&(d=0,++c>=l.za&&(c=0,++b>=l.ua)))){h=5120;break}}return g(h,b,c,d,e,f)};
|
k.gd=function(a,b,c,d,e,f,g){for(var h=0,l=a.Ca,m=null,n;e--;){if(!m){m=a.Ca.seek(b,c,d+1);if(!m){h=5120;break}n=0}var r,t;if(0>(r=a.Ca.read(m,n++))||0>(t=a.Ca.read(m,n++))){h=5120;break}this.A.eb(f,r|t<<8);if(vc(this.A)){h=8192;break}f+=2;if(n>=l.Ka&&(m=null,++d>=l.qa&&(d=0,++c>=l.ya&&(c=0,++b>=l.ta)))){h=5120;break}}return g(h,b,c,d,e,f)};
|
||||||
k.$d=function(a,b,c,d,e,f,g){for(var h=0,l=a.Ca,m=null,n;e--;){var r=this.w.oa(f);if(rc(this.w)){h=8192;break}f+=2;if(!m){m=a.Ca.seek(b,c,d+1,!0);if(!m){h=5120;break}n=0}if(!a.Ca.write(m,n++,r&255)||!a.Ca.write(m,n++,r>>8)){h=5120;break}if(n>=l.Ka&&(m=null,++d>=l.qa&&(d=0,++c>=l.za&&(c=0,++b>=l.ua)))){h=5120;break}}return g(h,b,c,d,e,f)};k.Dd=function(){return this.fa&65535};
|
k.ae=function(a,b,c,d,e,f,g){for(var h=0,l=a.Ca,m=null,n;e--;){var r=this.A.oa(f);if(vc(this.A)){h=8192;break}f+=2;if(!m){m=a.Ca.seek(b,c,d+1,!0);if(!m){h=5120;break}n=0}if(!a.Ca.write(m,n++,r&255)||!a.Ca.write(m,n++,r>>8)){h=5120;break}if(n>=l.Ka&&(m=null,++d>=l.qa&&(d=0,++c>=l.ya&&(c=0,++b>=l.ta)))){h=5120;break}}return g(h,b,c,d,e,f)};k.Ed=function(){return this.fa&65535};
|
||||||
k.ue=function(a){this.fa=this.fa&-1023|a&1022;this.N=this.N&-4|(a&48)>>4;if(!(this.fa&128)){var b;a=!0;var c=this.f[(this.fa&768)>>8],d,e,f,g;this.fa&=-2;switch(this.fa&14){case 4:this.g&8&&(this.fa&=63);this.D=c.status|this.B&64;break;case 6:1==(this.g&3)&&(b=this.g&65408,c=(this.g&16)<<2,this.B=this.g&4?this.B+b:this.B-b,this.g=this.B=this.B&65408|c);break;case 8:this.D=this.B;break;case 12:b=this.fd;case 10:b||(b=this.$d),d=this.g>>7,e=this.g&64?0:1,f=this.g&63,d>=c.ua||f>=c.qa?this.fa|=37888:
|
k.ve=function(a){this.fa=this.fa&-1023|a&1022;this.N=this.N&-4|(a&48)>>4;if(!(this.fa&128)){var b;a=!0;var c=this.f[(this.fa&768)>>8],d,e,f,g;this.fa&=-2;switch(this.fa&14){case 4:this.g&8&&(this.fa&=63);this.D=c.status|this.C&64;break;case 6:1==(this.g&3)&&(b=this.g&65408,c=(this.g&16)<<2,this.C=this.g&4?this.C+b:this.C-b,this.g=this.C=this.C&65408|c);break;case 8:this.D=this.C;break;case 12:b=this.gd;case 10:b||(b=this.ae),d=this.g>>7,e=this.g&64?0:1,f=this.g&63,d>=c.ta||f>=c.qa?this.fa|=37888:
|
||||||
(g=(this.K&63)<<16|this.J,a=65536-this.D&65535,a=b.call(this,c,d,e,f,a,g,this.Lc.bind(this)))}a&&(this.fa|=129,this.fa&64&&tc(this.b,this.O))}};k.Bd=function(){return this.J};k.se=function(a){this.J=a&65534};k.Ed=function(){return this.g};k.ve=function(a){this.g=a};k.Fd=function(){return this.D};k.we=function(a){this.D=a};k.Cd=function(){return this.K};k.te=function(a){this.K=a&63};
|
(g=(this.K&63)<<16|this.J,a=65536-this.D&65535,a=b.call(this,c,d,e,f,a,g,this.Mc.bind(this)))}a&&(this.fa|=129,this.fa&64&&xc(this.b,this.P))}};k.Cd=function(){return this.J};k.te=function(a){this.J=a&65534};k.Fd=function(){return this.g};k.we=function(a){this.g=a};k.Gd=function(){return this.D};k.xe=function(a){this.D=a};k.Dd=function(){return this.K};k.ue=function(a){this.K=a&63};
|
||||||
var rh={},mh=(rh[63744]=[null,null,O.prototype.Dd,O.prototype.ue,"RLCS"],rh[63746]=[null,null,O.prototype.Bd,O.prototype.se,"RLBA"],rh[65284]=[null,null,O.prototype.Ed,O.prototype.ve,"RLDA"],rh[65286]=[null,null,O.prototype.Fd,O.prototype.we,"RLMP"],rh[65288]=[null,null,O.prototype.Cd,O.prototype.te,"RLBE"],rh);function sh(a){u.call(this,"Debugger",a,sh);this.$=a.base||16;this.wa=!1;this.J=0;this.O=!1;this.v=-1;this.g=[];this.S={}}z(sh);
|
var sh={},nh=(sh[63744]=[null,null,N.prototype.Ed,N.prototype.ve,"RLCS"],sh[63746]=[null,null,N.prototype.Cd,N.prototype.te,"RLBA"],sh[65284]=[null,null,N.prototype.Fd,N.prototype.we,"RLDA"],sh[65286]=[null,null,N.prototype.Gd,N.prototype.xe,"RLMP"],sh[65288]=[null,null,N.prototype.Dd,N.prototype.ue,"RLBE"],sh);function th(a){u.call(this,"Debugger",a,th);this.$=a.base||16;this.Aa=!1;this.J=0;this.P=!1;this.w=-1;this.g=[];this.V={}}z(th);
|
||||||
var th={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};sh.prototype.oc=function(){return-1};sh.prototype.pc=function(){};
|
var uh={"||":0,"&&":1,"|":2,"^":3,"&":4,"!=":5,"==":5,">=":6,">":6,"<=":6,"<":6,">>>":7,">>":7,"<<":7,"-":8,"+":8,"%":9,"/":9,"*":9};th.prototype.rc=function(){return-1};th.prototype.sc=function(){};
|
||||||
function uh(a,b,c,d){if(c)if(b){0>a.v&&a.g.length&&(a.v=0);if(0>a.v||b!=a.g[a.v])a.g.splice(0,0,b),a.v=0;a.v--}else a.O?b="end":b=a.g[a.v+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ya(b.substring(c,f))),c=f+1}}return a}
|
function vh(a,b,c,d){if(c)if(b){0>a.w&&a.g.length&&(a.w=0);if(0>a.w||b!=a.g[a.w])a.g.splice(0,0,b),a.w=0;a.w--}else a.P?b="end":b=a.g[a.w+1];a=[];if(b){b=b.replace(/""/g,"'");c=0;var e=null;d=d||";";for(var f=0;f<=b.length;f++){var g=b.charAt(f);if('"'==g||"'"==g)e?g==e&&(e=null):e=g;else if(g==d&&!e||!g)a.push(ya(b.substring(c,f))),c=f+1}}return a}
|
||||||
function vh(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
function wh(a,b,c){for(c=c||-1;c--&&b.length;){var d=b.pop();if(2>a.length)return!1;var e=a.pop(),f=a.pop();switch(d){case "*":d=f*e;break;case "/":if(!e)return!1;d=f/e;break;case "%":if(!e)return!1;d=f%e;break;case "+":d=f+e;break;case "-":d=f-e;break;case "<<":d=f<<e;break;case ">>":d=f>>e;break;case ">>>":d=f>>>e;break;case "<":d=f<e?1:0;break;case "<=":d=f<=e?1:0;break;case ">":d=f>e?1:0;break;case ">=":d=f>=e?1:0;break;case "==":d=f==e?1:0;break;case "!=":d=f!=e?1:0;break;case "&":d=f&e;break;
|
||||||
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
case "^":d=f^e;break;case "|":d=f|e;break;case "&&":d=f&&e?1:0;break;case "||":d=f||e?1:0;break;default:return!1}a.push(d|0)}return!0}
|
||||||
function wh(a,b,c){var d;if(b){b=xh(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ya(n);if(!n){f=!0;break}n=yh(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],t=n.length;l.length&&th[n]<th[l[l.length-1]]&&vh(h,l,1);l.push(n);b=b.substr(r+t)}vh(h,l)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&zh(a,null,
|
function xh(a,b,c){var d;if(b){b=yh(a,b);for(var e=0,f=!1,g=b,h=[],l=[],m=b.split(/(\|\||&&|\||^|&|!=|==|>=|>>>|>>|>|<=|<<|<|-|\+|%|\/|\*)/);e<m.length;){var n=m[e++],r=n.length,n=ya(n);if(!n){f=!0;break}n=zh(a,n,null,!1===c);if(void 0===n){f=!0;c=!1;break}h.push(n);if(e==m.length)break;var n=m[e++],t=n.length;l.length&&uh[n]<uh[l[l.length-1]]&&wh(h,l,1);l.push(n);b=b.substr(r+t)}wh(h,l)&&1==h.length||(f=!0);f?c&&a.j("error parsing '"+g+"' at character "+(g.length-b.length)):(d=h.pop(),c&&Ah(a,null,
|
||||||
d))}return d}function xh(a,b){for(var c,d=a.wa?"(":"{",e=a.wa?")":"}",f=new RegExp(a.wa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=wh(a,c[1]);b=b.replace(d+c[1]+e,null!=g?J(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
d))}return d}function yh(a,b){for(var c,d=a.Aa?"(":"{",e=a.Aa?")":"}",f=new RegExp(a.Aa?"\\((.*?)\\)":"\\{(.*?)\\}");(c=b.match(f))&&!(0<=c[1].indexOf(d));){var g=xh(a,c[1]);b=b.replace(d+c[1]+e,null!=g?J(a,g):"undefined")}for(;(c=b.match(/\[(.*?)]/))&&!(0<=c[1].indexOf("["));)b=b.replace("["+c[1]+"]","unimplemented");for(a=b;b=a.match(/\$([a-z]+)/i);){c=null;switch(b[1].toLowerCase()){case "ops":c=0}if(null==c)break;a=a.replace(b[0],c.toString())}return a}
|
||||||
function yh(a,b,c,d){var e;null!=b?(e=a.oc(b),0<=e?e=a.pc(e):(e=a.S[b],null==e&&(e=ma(b,a.$))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
function zh(a,b,c,d){var e;null!=b?(e=a.rc(b),0<=e?e=a.sc(e):(e=a.V[b],null==e&&(e=qa(b,a.$))),null!=e||d||a.j("invalid "+(c?c:"value")+": "+b)):d||a.j("missing "+(c||"value"));return e}
|
||||||
function zh(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var l=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==l||isNaN(l))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(l&1?"1":"0")+n,l>>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ra(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Ah(a,b){if(b)return zh(a,b,a.S[b]);var c=0;for(b in a.S)zh(a,b,a.S[b]),c++;return 0<c}
|
function Ah(a,b,c){var d,e=!1;if(void 0!==c){e=!0;d=c;var f=0,g="";if(!f||4<f)f=4;for(var h=0;h<f;h++){g&&(g=","+g);var l=d&255,m=8,n="";m?32<m&&(m=32):m=32;if(null==l||isNaN(l))for(;0<m--;)n="?"+n;else for(;0<m--;)n=(l&1?"1":"0")+n,l>>=1;g=n+g;d>>=8}d=p(c,0,!0)+" "+c+". "+ra(c,0,!0)+" "+("0b"+g);32<=c&&127>c&&(d+=" '"+String.fromCharCode(c)+"'")}a.j((null!=b?b+": ":"")+d);return e}function Bh(a,b){if(b)return Ah(a,b,a.V[b]);var c=0;for(b in a.V)Ah(a,b,a.V[b]),c++;return 0<c}
|
||||||
function J(a,b,c,d){switch(a.$){case 8:a=ra(b,3*c);break;case 10:a=b.toString();break;default:a=p(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}
|
function J(a,b,c,d){switch(a.$){case 8:a=ra(b,3*c);break;case 10:a=b.toString();break;default:a=p(b,2*c)}d?d=a.replace(/^0+([0-9A-F]+)$/i,"$1"):d=a;return d}
|
||||||
function Bh(a){sh.call(this,a);this.hb=!1;this.wa=!0;this.K=Z(0);this.gb=Z(0);this.N=Z(0);this.I=[];this.f=this.L=this.B=[];Ch(this);this.ma=0;Dh(this);this.Aa={};Eh(this,a.messages);this.Ha=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return cd(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return cd(b,a)})}z(Bh,sh);
|
function Ch(a){th.call(this,a);this.kb=!1;this.Aa=!0;this.K=Z(0);this.jb=Z(0);this.N=Z(0);this.H=[];this.f=this.L=this.C=[];Dh(this);this.ma=0;Eh(this);this.La={};Fh(this,a.messages);this.Ma=a.commands;var b=this;window?void 0===window.pdp11&&(window.pdp11=function(a){return gd(b,a)}):void 0===global.pdp11&&(global.pdp11=function(a){return gd(b,a)})}z(Ch,th);
|
||||||
var Fh={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Gh=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
var Gh={"?":"help/print","a [#]":"assemble","b [#]":"breakpoint",c:"clear output","d [#]":"dump memory","e [#]":"edit memory","g [#]":"go [to #]",h:"halt","if":"eval expression","int [#]":"request interrupt",k:"stack trace",ln:"list nearest symbol(s)",m:"messages",p:"step over",print:"print expression",r:"dump/set registers",reset:"reset machine",s:"set options","t [#]":"trace","u [#]":"unassemble","var":"assign variable",ver:"print version"},Hh=".WORD ADC ADCB ADD ASL ASLB ASR ASRB BCC BCS BEQ BGE BGT BHI BIC BICB BIS BISB BIT BITB BLE BLOS BLT BMI BNE BPL BPT BR BVC BVS CCC CLC CLCN CLCV CLCVN CLCVZ CLCZ CLCZN CLN CLR CLRB CLV CLVN CLVZ CLVZN CLZ CLZN CMP CMPB COM COMB DEC DECB INC INCB HALT JMP JSR MARK MFPD MFPI MFPS MOV MOVB MTPD MTPI MTPS NEG NEGB NOP RESET ROL ROLB ROR RORB RTI RTS SBC SBCB SCC SEC SECN SECV SECVN SECVZ SECZ SECZN SEN SEV SEVN SEVZ SEVZN SEZ SEZN SUB SWAB SXT TST TSTB WAIT MUL DIV ASH ASHC XOR SOB EMT TRAP SPL IOT RTT MFPT".split(" "),
|
||||||
Hh={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
Ih={61440:{4096:[62,4032,63],8192:[47,4032,63],12288:[18,4032,63],16384:[14,4032,63],20480:[16,4032,63],24576:[3,4032,63],36864:[63,4032,63],40960:[48,4032,63],45056:[19,4032,63],49152:[15,4032,63],53248:[17,4032,63],57344:[94,4032,63]},65024:{2048:[57,448,63],28672:[100,63,448],29184:[101,63,448],29696:[102,63,448],30208:[103,63,448],30720:[104,448,63],32256:[105,448,8192]},65280:{256:[27,4096],512:[24,4096],768:[10,4096],1024:[11,4096],1280:[22,4096],1536:[12,4096],1792:[20,4096],32768:[25,4096],
|
||||||
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106,32768],35072:[107,32768]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,
|
33024:[23,4096],33280:[13,4096],33536:[21,4096],33792:[28,4096],34048:[29,4096],34304:[8,4096],34560:[9,4096],34816:[106,32768],35072:[107,32768]},65472:{64:[56,63],192:[95,63],2560:[39,63],2624:[49,63],2688:[53,63],2752:[51,63],2816:[67,63],2880:[1,63],2944:[77,63],3008:[97,63],3072:[73,63],3136:[71,63],3200:[6,63],3264:[4,63],3328:[58,24576],3392:[60,63],3456:[65,63],3520:[96,63],35328:[40,63],35392:[50,63],35456:[54,63],35520:[52,63],35584:[68,63],35648:[2,63],35712:[78,63],35776:[98,63],35840:[74,
|
||||||
63],35904:[72,63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Ih=[0],Jh=
|
63],35904:[72,63],35968:[7,63],36032:[5,63],36096:[66,63],36160:[59,63],36224:[64,63],36288:[61,63]},65528:{128:[76,7],152:[108,12288]},65535:{0:[55],1:[99],2:[75],3:[26],4:[109],5:[70],6:[110],7:[111],160:[69],161:[31],162:[41],163:[33],164:[45],165:[36],166:[43],167:[35],168:[38],169:[32],170:[42],171:[34],172:[46],173:[37],174:[44],175:[30],176:[69],177:[80],178:[88],179:[82],180:[92],181:[85],182:[90],183:[84],184:[87],185:[81],186:[89],187:[83],188:[93],189:[86],190:[91],191:[79]}},Jh=[0],Kh=
|
||||||
[58,60,65,96,108,110,100,101,102,103,104,105,59,64];k=Bh.prototype;
|
[58,60,65,96,108,110,100,101,102,103,104,105,59,64];k=Ch.prototype;
|
||||||
k.Da=function(a,b,c,d){this.w=b;this.b=c;this.C=a;(a=$c(a,"messages"))&&Eh(this,a);this.kb=Hh;this.Ab=1145>this.b.rb?Jh:[];Kh(this,function(a){a:{var b=d.w.X,c=a[0],e=a=0,l=b.length;if(c){a=d.ba(Lh(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.w.ka;l=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=mc[c],n&&d.j(p(n.id,8)+" %"+p(e<<d.w.ka,
|
k.Ea=function(a,b,c,d){this.A=b;this.b=c;this.u=a;(a=dd(a,"messages"))&&Fh(this,a);this.tb=Ih;this.Db=1145>this.b.vb?Kh:[];Lh(this,function(a){a:{var b=d.A.W,c=a[0],e=a=0,l=b.length;if(c){a=d.ba(Mh(d,c));if(-1===a){d.j("invalid address: "+c);break a}e=a>>>d.A.ka;l=1}d.j("blockid physical blockaddr used size type");d.j("-------- --------- ---------- ------ ------ ----");for(var c=-1,m=0;l--;){var n=b[e];n.type==c?m++||d.j("..."):(c=n.type,m=rc[c],n&&d.j(p(n.id,8)+" %"+p(e<<d.A.ka,
|
||||||
8)+" %%"+p(n.F,8)+" "+p(n.Kb,4,!0)+" "+p(n.size,4,!0)+" "+m),c!=Mc&&(c=-1),m=0);a+=d.w.ya;e++}}});H(this)};
|
8)+" %%"+p(n.F,8)+" "+p(n.Lb,4,!0)+" "+p(n.size,4,!0)+" "+m),c!=Qc&&(c=-1),m=0);a+=d.A.xa;e++}}});H(this)};
|
||||||
k.sa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.la=this.G[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",cd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.v<d.g.length-1&&(b=d.g[++d.v])):40==a.keyCode&&(0<d.v?b=d.g[--d.v]:(b="",d.v=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.G[b]=c,Ra(c,function(){if(d.la){var a=d.la.value;
|
k.sa=function(a,b,c){var d=this;switch(b){case "debugInput":return this.la=this.G[b]=c,c.onkeydown=function(a){var b;if(13==a.keyCode)b=c.value,c.value="",gd(d,b,!0);else if(27==a.keyCode)c.value=b="";else if(38==a.keyCode?(b=null,d.w<d.g.length-1&&(b=d.g[++d.w])):40==a.keyCode&&(0<d.w?b=d.g[--d.w]:(b="",d.w=-1)),null!=b){var e=b.length;c.value=b;c.setSelectionRange(e,e)}null!=b&&a.preventDefault&&a.preventDefault()},!0;case "debugEnter":return this.G[b]=c,Ra(c,function(){if(d.la){var a=d.la.value;
|
||||||
d.la.value="";cd(d,a,!0);return!0}return!1}),!0;case "step":return this.G[b]=c,Ra(c,function(a){var b=!1;sb(d,!0)||(rb(d,!0),b=d.cb(a?1:0),rb(d,!1));return b}),!0}return!1};k.ob=function(a){if(this.la){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.la.focus();!a&&window&&window.scrollTo(b,c)}};k.ba=function(a){a=a&&a.F;null==a&&(a=-1);return a};k.Db=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=a.Nb?this.w.Qb(d):this.b.Qb(d),b&&Mh(a,b));return c};
|
d.la.value="";gd(d,a,!0);return!0}return!1}),!0;case "step":return this.G[b]=c,Ra(c,function(a){var b=!1;sb(d,!0)||(rb(d,!0),b=d.gb(a?1:0),rb(d,!1));return b}),!0}return!1};k.qb=function(a){if(this.la){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.la.focus();!a&&window&&window.scrollTo(b,c)}};k.ba=function(a){a=a&&a.F;null==a&&(a=-1);return a};k.Eb=function(a,b){var c=255,d=this.ba(a,!1,1);-1!==d&&(c=a.Pb?this.A.Tb(d):this.b.Tb(d),b&&Nh(a,b));return c};
|
||||||
k.oa=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=a.Nb?this.w.lb(d):this.b.lb(d),b&&Mh(a,b));return c};k.Sb=function(a,b,c){var d=this.ba(a,!0,1);-1!==d&&(a.Nb?this.w.nb(d,b):this.b.nb(d,b),c&&Mh(a,c),this.C.Z(!0))};k.ab=function(a,b,c){var d=this.ba(a,!0,2);-1!==d&&(a.Nb?this.w.Ib(d,b):this.b.Ib(d,b),c&&Mh(a,c),this.C.Z(!0))};function Z(a,b){return{F:a,Nb:b,La:!1}}function Nh(a){return[a.F,a.La]}function Oh(a){return{F:a[0],La:a[1]}}
|
k.oa=function(a,b){var c=65535,d=this.ba(a,!1,2);-1!==d&&(c=a.Pb?this.A.mb(d):this.b.mb(d),b&&Nh(a,b));return c};k.Vb=function(a,b,c){var d=this.ba(a,!0,1);-1!==d&&(a.Pb?this.A.pb(d,b):this.b.pb(d,b),c&&Nh(a,c),this.u.ca(!0))};k.eb=function(a,b,c){var d=this.ba(a,!0,2);-1!==d&&(a.Pb?this.A.Jb(d,b):this.b.Jb(d,b),c&&Nh(a,c),this.u.ca(!0))};function Z(a,b){return{F:a,Pb:b,Na:!1}}function Oh(a){return[a.F,a.Na]}function Ph(a){return{F:a[0],Na:a[1]}}
|
||||||
function Lh(a,b,c){var d,e=(c?a.K:a.gb).F;c=!1;if(void 0!==b){b=xh(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.I.length;e++){var g=a.I[e].ia[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=wh(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Ph(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Fc=uh(a,b.Ac=c[2]))}function Mh(a,b){null!=a.F&&(a.F+=b||1)}
|
function Mh(a,b,c){var d,e=(c?a.K:a.jb).F;c=!1;if(void 0!==b){b=yh(a,b);"%"==b.charAt(0)&&(c=!0,b=b.substr(1));d=b;var f;if(d.match(/^[a-z_][a-z0-9_]*$/i))for(d=d.toUpperCase(),e=0;e<a.H.length;e++){var g=a.H[e].ia[d];if(void 0!==g){d=g.o;void 0!==d&&(f=Z(d));break}}if(d=f)return d;e=xh(a,b,void 0)}null!=e&&(d=Z(e,c));return d}function Qh(a,b,c){c&&(c=c.match(/(['"])(.*?)\1/))&&(b.Gc=vh(a,b.Bc=c[2]))}function Nh(a,b){null!=a.F&&(a.F+=b||1)}
|
||||||
function Eh(a,b){a.i=a;a.na=a.Jc=536870912;a.da=null;a.ta=[];b=uh(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in xb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.na|=xb[c],a.j(c+" messages enabled"))}}function Kh(a,b){for(var c in xb)if(64==xb[c]){a.Aa[c]=b;break}}
|
function Fh(a,b){a.i=a;a.na=a.Kc=536870912;a.da=null;a.ua=[];b=vh(a,b.replace("keys","key").replace("kbd","keyboard"),!1,"|");if(b.length)for(var c in xb){var d;a:if(d=void 0,Array.prototype.indexOf)d=b.indexOf(c,d);else{d=d||0;0>d&&(d+=b.length);0>d&&(d=0);for(var e=b.length;d<e;d++)if(d in b&&b[d]===c)break a;d=-1}0<=d&&(a.na|=xb[c],a.j(c+" messages enabled"))}}function Lh(a,b){for(var c in xb)if(64==xb[c]){a.La[c]=b;break}}
|
||||||
k.oc=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Qh(a){return 6>a?"R"+a:6==a?"SP":"PC"}k.pc=function(a){var b;0<=a&&(8>a?b=this.b.u[a]:16>a?b=this.b.Sa[a-8]:20>a?b=this.b.Ga[a-16]:20==a&&(b=Xb(this.b)));return b};
|
k.rc=function(a){var b=-1;a=a.toUpperCase();switch(a){case "SP":b=6;break;case "PC":b=7;break;default:"R"==a.charAt(0)&&(b=+a.charAt(1),0>b||7<b)&&(b=-1)}return b};function Rh(a){return 6>a?"R"+a:6==a?"SP":"PC"}k.sc=function(a){var b;0<=a&&(8>a?b=this.b.v[a]:16>a?b=this.b.Ua[a-8]:20>a?b=this.b.Ha[a-16]:20==a&&(b=bc(this.b)));return b};
|
||||||
k.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.Hb).F));this.na&1073741824?this.ta.push(a):this.da&&a==this.da||(this.da=a,this.na&-2147483648&&(this.ha(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,id(a),a.wa=0,a.C.Z()))};function Dh(a){var b;if(!fe(a))a.D&&a.D.length&&a.j("instruction history buffer freed"),a.W=0,a.D=[];else if(!a.D||!a.D.length){a.D=Array(1E3);for(b=0;b<a.D.length;b++)a.D[b]=Z();a.W=0;a.j("instruction history buffer allocated")}}
|
k.message=function(a,b){b&&(a+=" @"+J(this,Z(this.b.Ib).F));this.na&1073741824?this.ua.push(a):this.da&&a==this.da||(this.da=a,this.na&-2147483648&&this.b&&this.b.B.Z&&(this.ha(),a+=" (cpu halted)"),this.j(a),this.b&&(a=this.b,kd(a),a.ua=0,a.u&&a.u.ca()))};function Eh(a){var b;if(!ge(a))a.D&&a.D.length&&a.j("instruction history buffer freed"),a.Y=0,a.D=[];else if(!a.D||!a.D.length){a.D=Array(1E3);for(b=0;b<a.D.length;b++)a.D[b]=Z();a.Y=0;a.j("instruction history buffer allocated")}}
|
||||||
k.bb=function(a,b){if(!Rh(this,b))return!1;this.b.bb(a);return!0};k.cb=function(a,b,c){if(!Rh(this))return!1;this.J=0;a||fe(this)&&ge(this,this.b.u[7],0);try{a=jd(this.b,a);var d=this.b.cb(a);0<d&&(kd(this.b,a),this.J+=d,gd(this.b,d,!0),dd(this.b,d),this.va++)}catch(e){"number"!=typeof e&&(this.J=0,vb(this.b,e.stack||e.message))}!1!==c&&this.C.Z();this.Z(b||!1);return 0<this.J};k.ha=function(a){this.b&&this.b.ha(a)};
|
k.fb=function(a,b){if(!Sh(this,b))return!1;this.b.fb(a);return!0};k.gb=function(a,b,c){if(!Sh(this))return!1;this.J=0;a||ge(this)&&he(this,this.b.v[7],0);try{a=ld(this.b,a);var d=this.b.gb(a);0<d&&(Vb(this.b,d),this.J+=d,Wb(this.b,d,!0),Xb(this.b,d),this.va++)}catch(e){"number"!=typeof e&&(this.J=0,vb(this.b,e.stack||e.message))}!1!==c&&(this.u.za&&this.u.za.stop&&this.u.za.stop(),this.u.ca());this.ca(b||!1);return 0<this.J};k.ha=function(a){this.b&&this.b.ha(a)};
|
||||||
k.Z=function(a){if(this.hb){void 0===a&&(a=!0);var b;b=this.b;if(b=b.H&8?b.Tc|b.Sc<<8:0){var c=b>>8;this.j("trapped to "+J(this,b&255,1)+(c?" ("+J(this,c)+")":""))}this.K=Z(this.b.u[7]);a&&1!=this.R?Sh(this):Th(this)}};function Rh(a,b){var c;(c=!a.b||!tb(a.b))||(c=a.b,c.A.ja?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.A.ca?(b||a.j("cpu busy or unavailable, command ignored"),!1):!ub(a.b)}k.Fa=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
|
k.ca=function(a){if(this.kb){void 0===a&&(a=!0);var b;b=this.b;if(b=b.I&8?b.Uc|b.Sc<<8:0){var c=b>>8;this.j("trapped to "+J(this,b&255,1)+(c?" ("+J(this,c)+")":""))}this.K=Z(this.b.v[7]);a&&1!=this.R?Th(this):Uh(this)}};function Sh(a,b){var c;(c=!a.b||!tb(a.b))||(c=a.b,c.B.ja?c=!0:(c.j(c.toString()+" not powered"),c=!1),c=!c);return c||a.b.B.Z?(b||a.j("cpu busy or unavailable, command ignored"),!1):!ub(a.b)}k.Ga=function(a,b){return!b&&(this.reset(!0),a&&this.restore&&!this.restore(a))?!1:!0};
|
||||||
k.Ea=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){Dh(this);this.va=0;this.da=null;this.J=0;this.K=Z(this.b.u[7]);this.A.ca=!1;Uh(this);a||this.Z()};k.save=function(){var a=new R(this);a.set(0,Nh(this.K));a.set(1,Nh(this.N));a.set(2,[this.g,this.O,this.na]);a.set(3,this.I);return a.data()};
|
k.Fa=function(a,b){b&&this.j(a?"suspending":"shutting down");return a?this.save():!0};k.reset=function(a){Eh(this);this.va=0;this.da=null;this.J=0;this.K=Z(this.b.v[7]);this.B.Z=!1;Vh(this);a||this.ca()};k.save=function(){var a=new P(this);a.set(0,Oh(this.K));a.set(1,Oh(this.N));a.set(2,[this.g,this.P,this.na]);a.set(3,this.H);return a.data()};
|
||||||
k.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Oh(a[b++]),this.N=Oh(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.O=a[b][1],this.na|=a[b][2]);a[3]&&(this.I=a[3]);return!0};k.start=function(a,b){this.R||this.j("running");this.A.ca=!0;this.Bb=a;this.Cb=b};
|
k.restore=function(a){var b=0;void 0!==a[2]&&(this.K=Ph(a[b++]),this.N=Ph(a[b++]),this.g=a[b][0],"string"==typeof this.g&&(this.g=[this.g]),this.P=a[b][1],this.na|=a[b][2]);a[3]&&(this.H=a[3]);return!0};k.start=function(a,b){this.R||this.j("running");this.B.Z=!0;this.Nb=a;this.Qb=b};
|
||||||
k.stop=function(a,b){if(this.A.ca){this.A.ca=!1;this.J=b-this.Cb;if(!this.R){b="stopped";if(this.J){a-=this.Bb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";fe(this)&&(b+=this.va+" instructions, ",this.va=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else F(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}this.Z(!0);this.ob();Uh(this,this.b.u[7]);this.da=null}};function fe(a){return 1<a.f.length||!!a.ma}
|
k.stop=function(a,b){if(this.B.Z){this.B.Z=!1;this.J=b-this.Qb;if(!this.R){b="stopped";if(this.J){a-=this.Nb;var c=0<a?Math.round(1E3*this.J/a):0;b+=" (";ge(this)&&(b+=this.va+" instructions, ",this.va=0);b+=this.J+" cycles, "+a+" ms, "+c+" hz)"}else F(this,-2147483648)&&(b+=" (use the 't' command to execute blocked faults)");this.j(b)}this.ca(!0);this.qb();Vh(this,this.b.v[7]);this.da=null}};function ge(a){return 1<a.f.length||!!a.ma}
|
||||||
function ge(a,b,c){var d=-1;c||(d=a.b.lb(b),0==d&&(b=ud(a.b,2)));if(0<c&&(a.ma&&!--a.ma||Vc(a,b,1,a.f)))return!0;0<=c&&a.D.length&&(a.va++,0>d&&(d=a.b.lb(b)),65535!=(d&65535)&&(c=a.D[a.W],c.F=b,c.La=!1,++a.W==a.D.length&&(a.W=0)));return!1}function qc(a){var b=a.b;if(b.A.ca)throw P(b,a.b.Hb),a.ha(),-1;return!1}
|
function he(a,b,c){var d=-1;c||(d=a.b.mb(b),0==d&&(b=vd(a.b,2)));if(0<c&&(a.ma&&!--a.ma||Zc(a,b,1,a.f)))return!0;0<=c&&a.D.length&&(a.va++,0>d&&(d=a.b.mb(b)),65535!=(d&65535)&&(c=a.D[a.Y],c.F=b,c.Na=!1,++a.Y==a.D.length&&(a.Y=0)));return!1}function mf(a){var b=a.b;if(b.B.Z)throw O(b,a.b.Ib),a.ha(),-1;return!1}
|
||||||
function Ch(a){var b,c;a.f=["bp"];if(a.L)for(b=1;b<a.L.length;b++){c=a.L[b];var d=a.w;c=a.ba(c);Wc(d.X[c>>>d.ka],!1)}a.L=["br"];if(a.B)for(b=1;b<a.B.length;b++)c=a.B[b],d=a.w,c=a.ba(c),Wc(d.X[c>>>d.ka],!0);a.B=["bw"];a.eb=0}k.jb=function(a,b,c){var d=!0;c||Vh(this,a,b,!1,!0);if(a!=this.f){var e=this.ba(b);if(-1===e)this.j("invalid address: "+J(this,b.F)),d=!1;else{var f=this.w;f.X[e>>>f.ka].jb(e&f.w,a==this.B)}}d&&(a.push(b),c?b.La=!0:(Wh(this,a,a.length-1,"set"),Dh(this)));return d};
|
function Dh(a){var b,c;a.f=["bp"];if(a.L)for(b=1;b<a.L.length;b++){c=a.L[b];var d=a.A;c=a.ba(c);$c(d.W[c>>>d.ka],!1)}a.L=["br"];if(a.C)for(b=1;b<a.C.length;b++)c=a.C[b],d=a.A,c=a.ba(c),$c(d.W[c>>>d.ka],!0);a.C=["bw"];a.hb=0}k.lb=function(a,b,c){var d=!0;c||Wh(this,a,b,!1,!0);if(a!=this.f){var e=this.ba(b);if(-1===e)this.j("invalid address: "+J(this,b.F)),d=!1;else{var f=this.A;f.W[e>>>f.ka].lb(e&f.A,a==this.C)}}d&&(a.push(b),c?b.Na=!0:(Xh(this,a,a.length-1,"set"),Eh(this)));return d};
|
||||||
function Vh(a,b,c,d,e){var f=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.La)){f=!0;h.La||e||Wh(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.w,Wc(d.X[c>>>d.ka],b==a.B));h.La||Dh(a);break}}return f}function Xh(a,b){for(var c=1;c<b.length;c++)Wh(a,b,c);return b.length-1}function Wh(a,b,c,d){c=b[c];a.j(b[0]+" "+J(a,c.F)+(d?" "+d:c.Ac?' "'+c.Ac+'"':""))}
|
function Wh(a,b,c,d,e){var f=!1;c=a.ba(c);for(var g=1;g<b.length;g++){var h=b[g];if(c==a.ba(h)&&(!d||h.Na)){f=!0;h.Na||e||Xh(a,b,g,"cleared");b.splice(g,1);b!=a.f&&(d=a.A,$c(d.W[c>>>d.ka],b==a.C));h.Na||Eh(a);break}}return f}function Yh(a,b){for(var c=1;c<b.length;c++)Xh(a,b,c);return b.length-1}function Xh(a,b,c,d){c=b[c];a.j(b[0]+" "+J(a,c.F)+(d?" "+d:c.Bc?' "'+c.Bc+'"':""))}
|
||||||
function Uh(a,b){if(void 0!==b)Vc(a,b,1,a.f,!0),a.R=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.La){if(!Vh(a,a.f,c,!0))break;b=0}}}
|
function Vh(a,b){if(void 0!==b)Zc(a,b,1,a.f,!0),a.R=0;else for(b=1;b<a.f.length;b++){var c=a.f[b];if(c.Na){if(!Wh(a,a.f,c,!0))break;b=0}}}
|
||||||
function Vc(a,b,c,d,e){var f=!1;if(!a.eb++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.La)for(var l=a.ba(h),m=0;m<c;m++)if(b+m==l){var n,f=!0;h.La&&(Vh(a,d,h,!0),e=!0);if(n=h.Fc){for(var f=!1,r=0;r<n.length;r++)if(!Yh(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var t=r+1;t<n.length&&n[t].indexOf("else");t++)r++;if(t==n.length){f=!0;break}}a.b.A.ca||(f=!0)}if(f){e||Wh(a,d,g,"hit");break}}}a.eb--;return f}
|
function Zc(a,b,c,d,e){var f=!1;if(!a.hb++)for(var g=1;!f&&g<d.length;g++){var h=d[g];if(!e||h.Na)for(var l=a.ba(h),m=0;m<c;m++)if(b+m==l){var n,f=!0;h.Na&&(Wh(a,d,h,!0),e=!0);if(n=h.Gc){for(var f=!1,r=0;r<n.length;r++)if(!Zh(a,n[r],!0)){if(n[r].indexOf("if")){f=!0;break}for(var t=r+1;t<n.length&&n[t].indexOf("else");t++)r++;if(t==n.length){f=!0;break}}a.b.B.Z||(f=!0)}if(f){e||Xh(a,d,g,"hit");break}}}a.hb--;return f}
|
||||||
function Zh(a,b,c,d){var e=Z(b.F),f=a.oa(b,2),g,h;for(h in a.kb)if(g=a.kb[h][f&h])break;g||(g=Ih);var l=g[0];0<=a.Ab.indexOf(l)&&(g=Ih,l=g[0]);var m=h="",n=Gh[l],r=g.length-1;l||r||(h=J(a,f));for(l=1;l<=r;l++){var t=g[l];if(void 0!==t){var w;w=a;var y=t,t=b,x="",A=y&61440;if(4096==A)t=t.F+((f&255)<<24>>23)&65535,x=J(w,t);else if(8192==A)t=t.F-((f&63)<<1)&65535,x=J(w,t);else if(12288==A)x=J(w,f&7,1);else if(24576==A)x=J(w,f&63,1);else if(32768==A)x=J(w,f&255,1);else if(A=f&y,y&4032&&(A>>=6,y>>=6),
|
function $h(a,b,c,d){var e=Z(b.F),f=a.oa(b,2),g,h;for(h in a.tb)if(g=a.tb[h][f&h])break;g||(g=Jh);var l=g[0];0<=a.Db.indexOf(l)&&(g=Jh,l=g[0]);var m=h="",n=Hh[l],r=g.length-1;l||r||(h=J(a,f));for(l=1;l<=r;l++){var t=g[l];if(void 0!==t){var w;w=a;var y=t,t=b,x="",A=y&61440;if(4096==A)t=t.F+((f&255)<<24>>23)&65535,x=J(w,t);else if(8192==A)t=t.F-((f&63)<<1)&65535,x=J(w,t);else if(12288==A)x=J(w,f&7,1);else if(24576==A)x=J(w,f&63,1);else if(32768==A)x=J(w,f&255,1);else if(A=f&y,y&4032&&(A>>=6,y>>=6),
|
||||||
y&63)switch(y=A&7,A&56){case 0:x=Qh(y);break;case 8:x="@"+Qh(y);break;case 16:7>y?x="("+Qh(y)+")+":(A=w.oa(t,2),x="#"+J(w,A,0,!0));break;case 24:7>y?x="@("+Qh(y)+")+":(A=w.oa(t,2),x="@#"+J(w,A,0,!0));break;case 32:x="-("+Qh(y)+")";break;case 40:x="@-("+Qh(y)+")";break;case 48:A=w.oa(t,2);x=J(w,A,0,!0)+"("+Qh(y)+")";7==y&&(x=J(w,A+t.F&65535));break;case 56:A=w.oa(t,2),x="@"+J(w,A)+"("+Qh(y)+")",7==y&&(x="@"+J(w,A+t.F&65535))}w=x;if(!w||!w.length){h="INVALID";break}"string"!=typeof w&&(m=w[1],w=w[0]);
|
y&63)switch(y=A&7,A&56){case 0:x=Rh(y);break;case 8:x="@"+Rh(y);break;case 16:7>y?x="("+Rh(y)+")+":(A=w.oa(t,2),x="#"+J(w,A,0,!0));break;case 24:7>y?x="@("+Rh(y)+")+":(A=w.oa(t,2),x="@#"+J(w,A,0,!0));break;case 32:x="-("+Rh(y)+")";break;case 40:x="@-("+Rh(y)+")";break;case 48:A=w.oa(t,2);x=J(w,A,0,!0)+"("+Rh(y)+")";7==y&&(x=J(w,A+t.F&65535));break;case 56:A=w.oa(t,2),x="@"+J(w,A)+"("+Rh(y)+")",7==y&&(x="@"+J(w,A+t.F&65535))}w=x;if(!w||!w.length){h="INVALID";break}"string"!=typeof w&&(m=w[1],w=w[0]);
|
||||||
0<h.length&&(h+=",");h+=w||"???"}}f="";g=J(a,e.F)+":";if(-1!==e.F&&-1!==b.F){do if(f+=" "+J(a,a.oa(e,2)),null==e.F)break;while(e.F!=b.F)}g+=xa(f,24);g+=xa(n,5);h&&(g+=" "+h);if(c||m)g=xa(g,60)+";"+(c||""),g=a.b.A.qb?g+("cycles="+ed(a.b).toString()+" cs="+p(a.b.Eb)):g+(null!=d?"="+d.toString():""),m&&(g+=" @"+m);return g}function $h(a,b){switch(b){case "N":a=a.b.Qa();break;case "Z":a=sd(a.b);break;case "V":a=rd(a.b);break;case "C":a=qd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
0<h.length&&(h+=",");h+=w||"???"}}f="";g=J(a,e.F)+":";if(-1!==e.F&&-1!==b.F){do if(f+=" "+J(a,a.oa(e,2)),null==e.F)break;while(e.F!=b.F)}g+=xa(f,24);g+=xa(n,5);h&&(g+=" "+h);if(c||m)g=xa(g,60)+";"+(c||""),g=a.b.B.ub?g+("cycles="+hd(a.b).toString()+" cs="+p(a.b.Fb)):g+(null!=d?"="+d.toString():""),m&&(g+=" @"+m);return g}function ai(a,b){switch(b){case "N":a=a.b.Sa();break;case "Z":a=td(a.b);break;case "V":a=sd(a.b);break;case "C":a=rd(a.b);break;default:a=0}return b.charAt(0)+(a?"1":"0")+" "}
|
||||||
function ai(a,b){var c="",d=a.b;8>b?(c=Qh(b),c+="="+J(a,d.u[b])):13>b?c="A"+(b-8)+"="+J(a,d.Sa[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.Ga[b-16]):20==b&&(c="PS="+J(a,Xb(d)));c&&(c+=" ");return c}function bi(a){var b,c="";for(b=0;6>b;b++)c+=ai(a,b);c=c+"\n"+(ai(a,6)+ai(a,7)+ai(a,20));return c+=$h(a,"T")+$h(a,"N")+$h(a,"Z")+$h(a,"V")+$h(a,"C")}k.jc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
function bi(a,b){var c="",d=a.b;8>b?(c=Rh(b),c+="="+J(a,d.v[b])):13>b?c="A"+(b-8)+"="+J(a,d.Ua[b-8]):16<=b&&20>b?c="S"+(b-16)+"="+J(a,d.Ha[b-16]):20==b&&(c="PS="+J(a,bc(d)));c&&(c+=" ");return c}function ci(a){var b,c="";for(b=0;6>b;b++)c+=bi(a,b);c=c+"\n"+(bi(a,6)+bi(a,7)+bi(a,20));return c+=ai(a,"T")+ai(a,"N")+ai(a,"Z")+ai(a,"V")+ai(a,"C")}k.mc=function(a,b){return a[0]>b[0]?1:a[0]<b[0]?-1:0};
|
||||||
function kg(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=Aa(n,l,a.jc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.I.push({Qe:b,F:c,Qc:d,ia:e,hc:f})}function ci(a,b,c){var d=[],e=a.ba(b)>>>0;for(b=0;b<a.I.length;b++){var f=a.I[b],g=f.F>>>0,h=f.Qc;if(e>=g&&e<g+h){e=Aa(f.hc,[e-g],a.jc);0<=e?di(a,b,e,d):c&&(e=~e,di(a,b,e-1,d),di(a,b,e,d));break}}return d}
|
function lg(a,b,c,d,e){var f=[],g;for(g in e){var h=e[g];"number"==typeof h&&(e[g]=h={o:h});var l=h.o,m=h.a;if(void 0!==l){var n=f,l=[l>>>0,g],r=Aa(n,l,a.mc);0>r&&n.splice(-(r+1),0,l)}m&&(h.a=m.replace(/''/g,'"'))}a.H.push({Re:b,F:c,Tc:d,ia:e,kc:f})}function di(a,b,c){var d=[],e=a.ba(b)>>>0;for(b=0;b<a.H.length;b++){var f=a.H[b],g=f.F>>>0,h=f.Tc;if(e>=g&&e<g+h){e=Aa(f.kc,[e-g],a.mc);0<=e?ei(a,b,e,d):c&&(e=~e,ei(a,b,e-1,d),ei(a,b,e,d));break}}return d}
|
||||||
function di(a,b,c,d){var e={},f=a.I[b].hc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.I[b].ia[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function ei(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Ah(a)||a.j("no variables"),!0;if(!c[2])return Ah(a,c[1]);if(!c[3])return delete a.S[c[1]],!0;b=wh(a,c[3]);return void 0!==b?(a.S[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
function ei(a,b,c,d){var e={},f=a.H[b].kc,g=0,h=null;0<=c&&c<f.length&&(g=f[c][0],h=f[c][1]);h&&(e=a.H[b].ia[h],h="."==h.charAt(0)?null:e.l||h);d.push(h);d.push(g);d.push(e.a);d.push(e.c)}function fi(a,b){var c=b.match(/^\s*([A-Z_]?[A-Z0-9_]*)\s*(=?)\s*(.*)$/i);if(c){if(!c[1])return Bh(a)||a.j("no variables"),!0;if(!c[2])return Bh(a,c[1]);if(!c[3])return delete a.V[c[1]],!0;b=xh(a,c[3]);return void 0!==b?(a.V[c[1]]=b,!0):!1}a.j("invalid assignment:"+b);return!1}
|
||||||
function fi(a,b,c){var d=null;if(b=Lh(a,b,!0)){a.ba(b);var e=ci(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.F-e[1])&&(g=" + "+p(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.F)&&(g=" - "+p(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
function gi(a,b,c){var d=null;if(b=Mh(a,b,!0)){a.ba(b);var e=di(a,b,!0);if(e.length){var f,g;e[0]&&(g="",(f=b.F-e[1])&&(g=" + "+p(f,4,!0)),f=e[0]+" ("+J(a,e[1])+")"+g,c&&a.j(f),d=f);4<e.length&&e[4]&&(g="",(f=e[5]-b.F)&&(g=" - "+p(f,4,!0)),f=e[4]+" ("+J(a,e[5])+")"+g,c&&a.j(f),d||(d=f))}else c&&a.j("no symbols")}return d}
|
||||||
function Sh(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}f=wh(a,b);if(void 0===f)return;b=e.toUpperCase();switch(b){case "SP":case "R6":d.u[6]=f&65535;break;case "PC":case "R7":P(d,f);a.K=Z(d.u[7]);break;case "N":d.Y=f?32768:0;break;case "Z":d.aa=
|
function Th(a,b){var c;if(b&&"?"==b[1])a.j("register commands:"),a.j("\tr\tdump registers"),a.j("\trx [#]\tset flag or register x to [#]");else{var d=a.b;null==c&&(c=!0);if(b&&1<b.length){var e=b[1],f=e.indexOf("=");if(0<f)b=e.substr(f+1),e=e.substr(0,f);else if(2<b.length)b=b[2];else{a.j("missing value for "+b[1]);return}f=xh(a,b);if(void 0===f)return;b=e.toUpperCase();switch(b){case "SP":case "R6":d.v[6]=f&65535;break;case "PC":case "R7":O(d,f);a.K=Z(d.v[7]);break;case "N":d.X=f?32768:0;break;case "Z":d.aa=
|
||||||
f?0:1;break;case "V":d.U=f?32768:0;break;case "C":d.T=f?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.u[b]=f&65535;break}a.j("unknown register: "+e);return}a.C.Z();a.j("updated registers:")}a.j(bi(a));c&&(a.K=Z(d.u[7]),Th(a,J(a,a.K.F)))}}function gi(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):zh(a,null,c[2].charCodeAt(0)):wh(a,b,!0)}
|
f?0:1;break;case "V":d.T=f?32768:0;break;case "C":d.S=f?65536:0;break;default:if("R"==b.charAt(0)&&(b=+b.charAt(1),0<=b&&6>b)){d.v[b]=f&65535;break}a.j("unknown register: "+e);return}a.u.ca();a.j("updated registers:")}a.j(ci(a));c&&(a.K=Z(d.v[7]),Uh(a,J(a,a.K.F)))}}function hi(a,b){b=ya(b);var c=b.match(/^(['"])(.*?)\1$/);c?1<c[2].length?a.j(c[2]):Ah(a,null,c[2].charCodeAt(0)):xh(a,b,!0)}
|
||||||
function hi(a,b,c){var d="t"!=b;c=yh(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Qa(c,function(){return rb(a,!0)&&a.cb(e,d,!1)},function(){a.C.Z();rb(a,!1)})}
|
function ii(a,b,c){var d="t"!=b;c=zh(a,c,null,!0)||1;var e=1==c?0:1;"tc"==b&&(e=c,c=1);Qa(c,function(){return rb(a,!0)&&a.gb(e,d,!1)},function(){a.u.za&&a.u.za.stop&&a.u.za.stop();a.u.ca();rb(a,!1)})}
|
||||||
function Th(a,b,c,d){if(b=Lh(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=yh(a,c.substr(1)),null!=c&&(d=c);else{d=Lh(a,c,!0);if(!d||d.F<b.F)return;e=d.F-b.F;if(256<e){a.j("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=sb(a,!1)||a.R?a.J:null;var g=null!=f?"cycles":null,h=ci(a,b),l=b.F;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);f=Zh(a,b,g,f);a.j(f);a.K=b;e-=b.F-l;c++}}}
|
function Uh(a,b,c,d){if(b=Mh(a,b,!0)){void 0===d&&(d=1);var e=256;if(void 0!==c)if("l"==c.charAt(0))c=zh(a,c.substr(1)),null!=c&&(d=c);else{d=Mh(a,c,!0);if(!d||d.F<b.F)return;e=d.F-b.F;if(256<e){a.j("range too large");return}d=-1}c=0;for(var f;0<e&&d--;){f=sb(a,!1)||a.R?a.J:null;var g=null!=f?"cycles":null,h=di(a,b),l=b.F;if(h[0]&&d&&(!c&&d||0>h[0].indexOf("+"))){var m=h[0]+":";h[2]&&(m+=" "+h[2]);a.j(m)}h[3]&&(g=h[3],f=null);f=$h(a,b,g,f);a.j(f);a.K=b;e-=b.F-l;c++}}}
|
||||||
function Yh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(">> "+b):(a.O&&(a.j("ended assemble at "+J(a,a.N.F)),a.K=a.N,a.O=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.da=null;if(tb(a)&&0<b.length){a.O&&(b="a "+J(a,a.N.F)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],l=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
|
function Zh(a,b,c){var d=!0;try{b.length&&"end"!=b?c||a.j(">> "+b):(a.P&&(a.j("ended assemble at "+J(a,a.N.F)),a.K=a.N,a.P=!1),b="");var e=b.charAt(0);if('"'==e||"'"==e)return!0;a.da=null;if(tb(a)&&0<b.length){a.P&&(b="a "+J(a,a.N.F)+" "+b);var f=!1,g=b.replace(/ +/g," ").split(" ");g[0]=g[0].toLowerCase();if(g&&g.length)for(var h=g[0],l=h.charAt(0),m=1;m<h.length;m++){var n=h.charAt(m);if("?"==l||"r"==l||"a">n||"z"<n){g[0]=h.substr(m);g.unshift(h.substr(0,m));break}}switch(g[0].charAt(0)){case "a":var r=
|
||||||
Lh(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.j("begin assemble at "+J(a,r.F)),a.O=!0,a.C.Z();else{var t;a.j("not supported yet");t=[];if(t.length){for(var w=0;w<t.length;w++)a.Sb(r,t[w],1);a.j(Zh(a,a.N))}}break;case "b":a:{var y=g[0],x=g[1],A=b;if("?"==x)a.j("breakpoint commands:"),a.j("\tbp [a]\tset exec breakpoint at addr [a]"),a.j("\tbr [a]\tset read breakpoint at addr [a]"),a.j("\tbw [a]\tset write breakpoint at addr [a]"),a.j("\tbc [a]\tclear breakpoint at addr [a]"),a.j("\tbl\tlist all breakpoints"),
|
Mh(a,g[1],!0);if(r)if(a.N=r,void 0===g[2])a.j("begin assemble at "+J(a,r.F)),a.P=!0,a.u.ca();else{var t;a.j("not supported yet");t=[];if(t.length){for(var w=0;w<t.length;w++)a.Vb(r,t[w],1);a.j($h(a,a.N))}}break;case "b":a:{var y=g[0],x=g[1],A=b;if("?"==x)a.j("breakpoint commands:"),a.j("\tbp [a]\tset exec breakpoint at addr [a]"),a.j("\tbr [a]\tset read breakpoint at addr [a]"),a.j("\tbw [a]\tset write breakpoint at addr [a]"),a.j("\tbc [a]\tclear breakpoint at addr [a]"),a.j("\tbl\tlist all breakpoints"),
|
||||||
a.j("\tbn [n]\tbreak after [n] instruction(s)");else{var ka=y.charAt(1);if("l"==ka){var Ja;Ja=0+Xh(a,a.f);Ja+=Xh(a,a.L);(Ja+=Xh(a,a.B))||a.j("no breakpoints")}else if("n"==ka)a.ma=yh(a,x),a.j("break after "+a.ma+" instruction(s)");else if(void 0===x)a.j("missing breakpoint address");else{var Q=Z();if("*"!=x&&(Q=Lh(a,x,!0),!Q))break a;"c"==ka?null==Q.F?(Ch(a),a.j("all breakpoints cleared")):Vh(a,a.f,Q)||Vh(a,a.L,Q)||Vh(a,a.B,Q)||a.j("breakpoint missing: "+J(a,Q.F)):null!=Q.F&&(Ph(a,Q,A),"p"==ka?a.jb(a.f,
|
a.j("\tbn [n]\tbreak after [n] instruction(s)");else{var ja=y.charAt(1);if("l"==ja){var Ia;Ia=0+Yh(a,a.f);Ia+=Yh(a,a.L);(Ia+=Yh(a,a.C))||a.j("no breakpoints")}else if("n"==ja)a.ma=zh(a,x),a.j("break after "+a.ma+" instruction(s)");else if(void 0===x)a.j("missing breakpoint address");else{var Q=Z();if("*"!=x&&(Q=Mh(a,x,!0),!Q))break a;"c"==ja?null==Q.F?(Dh(a),a.j("all breakpoints cleared")):Wh(a,a.f,Q)||Wh(a,a.L,Q)||Wh(a,a.C,Q)||a.j("breakpoint missing: "+J(a,Q.F)):null!=Q.F&&(Qh(a,Q,A),"p"==ja?a.lb(a.f,
|
||||||
Q):"r"==ka?a.jb(a.L,Q):"w"==ka?a.jb(a.B,Q):a.j("unknown breakpoint command: "+ka))}}}break;case "c":a.Oa&&(a.Oa.value="");break;case "d":a:{var eb,fb=g[0],na=g[1],La=g[2],Ai=g[3];if("?"==na){var gb="";for(eb in xb)a.Aa[eb]&&(gb&&(gb+=","),gb+=eb);gb+=",state,symbols";a.j("dump memory commands:");a.j("\tdb [a] [#] dump # bytes at address a");a.j("\tdw [a] [#] dump # words at address a");a.j("\tdd [a] [#] dump # dwords at address a");a.j("\tdh [#] [#] dump # instructions from history");
|
Q):"r"==ja?a.lb(a.L,Q):"w"==ja?a.lb(a.C,Q):a.j("unknown breakpoint command: "+ja))}}}break;case "c":a.Qa&&(a.Qa.value="");break;case "d":a:{var db,eb=g[0],ma=g[1],Ka=g[2],Bi=g[3];if("?"==ma){var fb="";for(db in xb)a.La[db]&&(fb&&(fb+=","),fb+=db);fb+=",state,symbols";a.j("dump memory commands:");a.j("\tdb [a] [#] dump # bytes at address a");a.j("\tdw [a] [#] dump # words at address a");a.j("\tdd [a] [#] dump # dwords at address a");a.j("\tdh [#] [#] dump # instructions from history");
|
||||||
gb.length&&a.j("dump extension commands:\n\t"+gb)}else if("state"==na){var ng=ii(a.C,!0);"console"==La?console.log(ng):(a.Oa&&(a.Oa.value=""),a.j(ng))}else if("symbols"==na)for(var Cd=0;Cd<a.I.length;Cd++){var Dd=a.I[Cd],hb;for(hb in Dd.ia)if("."!=hb.charAt(0)){var og=Dd.ia[hb].o;if(void 0!==og){var pg=Dd.ia[hb].l;pg&&(hb=pg);a.j(J(a,og)+" "+hb)}}}else{if("d"==fb){for(eb in xb)if(g[1]==eb){var qg=a.Aa[eb];qg?(g.shift(),g.shift(),qg(g)):a.j("no dump registered for "+na);break a}na||(fb=a.Ob||"db")}else a.Ob=
|
fb.length&&a.j("dump extension commands:\n\t"+fb)}else if("state"==ma){var og=ji(a.u,!0);"console"==Ka?console.log(og):(a.Qa&&(a.Qa.value=""),a.j(og))}else if("symbols"==ma)for(var Cd=0;Cd<a.H.length;Cd++){var Dd=a.H[Cd],gb;for(gb in Dd.ia)if("."!=gb.charAt(0)){var pg=Dd.ia[gb].o;if(void 0!==pg){var qg=Dd.ia[gb].l;qg&&(gb=qg);a.j(J(a,pg)+" "+gb)}}}else{if("d"==eb){for(db in xb)if(g[1]==db){var rg=a.La[db];rg?(g.shift(),g.shift(),rg(g)):a.j("no dump registered for "+ma);break a}ma||(eb=a.Sb||"db")}else a.Sb=
|
||||||
fb;if("dh"==fb){var rg=na,sg=La,tg="",ug=0,ga=a.W,oa=a.D;if(oa.length){var ba=+rg||a.ib,Hb=+sg||10;isNaN(ba)?ba=Hb:tg="more ";ba>oa.length&&(a.j("note: only "+oa.length+" available"),ba=oa.length);ga-=ba;0>ga&&(null==oa[oa.length-1].F?(ba=ga+ba,ga=0):ga+=oa.length);var Ed=[];"call"==sg&&(Hb=1E5,Ed=["CALL"]);for(void 0!==rg&&a.j(ba+" instructions earlier:");0<Hb&&ga!=a.W;){var vg=oa[ga++];if(null==vg.F)break;var Ib=Z(vg.F),Bi=ba--,wg=Zh(a,Ib,"history",Bi);(!Ed.length||0<=wg.indexOf(Ed[0]))&&a.j(wg);
|
eb;if("dh"==eb){var sg=ma,tg=Ka,ug="",vg=0,fa=a.Y,na=a.D;if(na.length){var aa=+sg||a.rb,Gb=+tg||10;isNaN(aa)?aa=Gb:ug="more ";aa>na.length&&(a.j("note: only "+na.length+" available"),aa=na.length);fa-=aa;0>fa&&(null==na[na.length-1].F?(aa=fa+aa,fa=0):fa+=na.length);var Ed=[];"call"==tg&&(Gb=1E5,Ed=["CALL"]);for(void 0!==sg&&a.j(aa+" instructions earlier:");0<Gb&&fa!=a.Y;){var wg=na[fa++];if(null==wg.F)break;var Hb=Z(wg.F),Ci=aa--,xg=$h(a,Hb,"history",Ci);(!Ed.length||0<=xg.indexOf(Ed[0]))&&a.j(xg);
|
||||||
Ib.Xb&&(ga+=Ib.Xb,Hb-=Ib.Xb,ba-=Ib.Xb);ga>=oa.length&&(ga=0);a.ib=ba;ug++;Hb--}}ug||(a.j("no "+tg+"history available"),a.ib=void 0)}else{var Jb=Lh(a,na);if(Jb){var yc=0;La&&("l"==La.charAt(0)&&(La=La.substr(1)||Ai),yc=yh(a,La)>>>0,65536<yc&&(yc=65536));for(var Kb="",ib="dd"==fb?4:"dw"==fb?2:1,zc=ib*yc||128,Ci=zc+15>>4||1;Ci--&&0<zc;){var Ac=0,Lb=0,Mb,Fd="",xg="",na=J(a,Jb.F);for(Mb=4==ib?16:a.$;0<Mb&&0<zc;Mb--){var Bc=1,Cc=1==ib?a.Db(Jb,Bc):a.oa(Jb,Bc=2),Ac=Ac|Cc<<(Lb<<3),Lb=Lb+Bc;Lb==ib&&(Fd+=J(a,
|
Hb.$b&&(fa+=Hb.$b,Gb-=Hb.$b,aa-=Hb.$b);fa>=na.length&&(fa=0);a.rb=aa;vg++;Gb--}}vg||(a.j("no "+ug+"history available"),a.rb=void 0)}else{var Ib=Mh(a,ma);if(Ib){var zc=0;Ka&&("l"==Ka.charAt(0)&&(Ka=Ka.substr(1)||Bi),zc=zh(a,Ka)>>>0,65536<zc&&(zc=65536));for(var Jb="",hb="dd"==eb?4:"dw"==eb?2:1,Ac=hb*zc||128,Di=Ac+15>>4||1;Di--&&0<Ac;){var Bc=0,Kb=0,Lb,Fd="",yg="",ma=J(a,Ib.F);for(Lb=4==hb?16:a.$;0<Lb&&0<Ac;Lb--){var Cc=1,Dc=1==hb?a.Eb(Ib,Cc):a.oa(Ib,Cc=2),Bc=Bc|Dc<<(Kb<<3),Kb=Kb+Cc;Kb==hb&&(Fd+=J(a,
|
||||||
Ac,ib),Fd+=1==ib?9==Mb?"-":" ":" ",Ac=Lb=0);xg+=32<=Cc&&128>Cc?String.fromCharCode(Cc):".";zc-=Bc}Kb&&(Kb+="\n");Kb+=na+" "+Fd+(0==Mb?" "+xg:"")}Kb&&a.j(Kb);a.gb=Jb}}}}break;case "e":if("else"==g[0])break;var jb,Gd,Hd,Id,Jd=g[0],Kd=g[1];"eb"==Jd?(jb=1,Gd=255,Hd=a.Db,Id=a.Sb):"e"==Jd||"ew"==Jd?(jb=2,Gd=65535,Hd=a.oa,Id=a.ab):Kd=null;if(null==Kd)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var Dc=Lh(a,Kd);if(Dc)for(var Ec=
|
Bc,hb),Fd+=1==hb?9==Lb?"-":" ":" ",Bc=Kb=0);yg+=32<=Dc&&128>Dc?String.fromCharCode(Dc):".";Ac-=Cc}Jb&&(Jb+="\n");Jb+=ma+" "+Fd+(0==Lb?" "+yg:"")}Jb&&a.j(Jb);a.jb=Ib}}}}break;case "e":if("else"==g[0])break;var ib,Gd,Hd,Id,Jd=g[0],Kd=g[1];"eb"==Jd?(ib=1,Gd=255,Hd=a.Eb,Id=a.Vb):"e"==Jd||"ew"==Jd?(ib=2,Gd=65535,Hd=a.oa,Id=a.eb):Kd=null;if(null==Kd)a.j("edit memory commands:"),a.j("\teb [a] [...] edit bytes at address a"),a.j("\tew [a] [...] edit words at address a");else{var Ec=Mh(a,Kd);if(Ec)for(var Fc=
|
||||||
2;Ec<g.length;Ec++){var Nb=wh(a,g[Ec]);if(void 0===Nb){a.j("unrecognized value: "+g[Ec]);break}Nb&~Gd&&a.j("warning: "+p(Nb)+" exceeds "+jb+"-byte value");var Di=Hd.call(a,Dc);a.j("changing "+J(a,Dc.F)+" from "+J(a,Di,jb)+" to "+J(a,Nb,jb));Id.call(a,Dc,Nb,jb)}}break;case "g":a:{var yg=g[1],Ei=b;if(void 0!==yg){var Ld=Lh(a,yg,!0);if(!Ld)break a;Ph(a,Ld,Ei);a.jb(a.f,Ld,!0)}a.bb(!0,c)}break;case "h":a.A.ca?(c||a.j("halting"),a.ha()):sb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Md;
|
2;Fc<g.length;Fc++){var Mb=xh(a,g[Fc]);if(void 0===Mb){a.j("unrecognized value: "+g[Fc]);break}Mb&~Gd&&a.j("warning: "+p(Mb)+" exceeds "+ib+"-byte value");var Ei=Hd.call(a,Ec);a.j("changing "+J(a,Ec.F)+" from "+J(a,Ei,ib)+" to "+J(a,Mb,ib));Id.call(a,Ec,Mb,ib)}}break;case "g":a:{var zg=g[1],Fi=b;if(void 0!==zg){var Ld=Mh(a,zg,!0);if(!Ld)break a;Qh(a,Ld,Fi);a.lb(a.f,Ld,!0)}a.fb(!0,c)}break;case "h":a.B.Z?(c||a.j("halting"),a.ha()):sb(a,!0)||c||a.j("already halted");break;case "i":if("if"==g[0]){var Md;
|
||||||
var Ob=b.substr(2),Ob=ya(Ob);wh(a,Ob)?(c||a.j("true: "+Ob),Md=!0):(c||a.j("false: "+Ob),Md=!1);Md||(d=!1);break}f=!0;break;case "k":var Fi=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Nd=0,Od=Z(),Pb=Z(a.b.u[6]);for(a.j("stack trace for "+J(a,Pb.F));10>Nd;){for(var Ma=null,Gi=256;65536>Pb.F>>>0;){Od.F=a.oa(Pb,2);if(null==Pb.F||!Gi--)break;if(!(Od.F&1)){for(var Hi=a,Fc=Od,zg=null,Qb=Fc.F,Ag=Qb,Pd=1;6>=Pd&&Qb;Pd++){if(2<
|
var Nb=b.substr(2),Nb=ya(Nb);xh(a,Nb)?(c||a.j("true: "+Nb),Md=!0):(c||a.j("false: "+Nb),Md=!1);Md||(d=!1);break}f=!0;break;case "k":var Gi=g[0];if("?"==g[1])a.j("stack trace commands:"),a.j("\tk\tshow frame addresses"),a.j("\tks\tshow symbol information");else{var Nd=0,Od=Z(),Ob=Z(a.b.v[6]);for(a.j("stack trace for "+J(a,Ob.F));10>Nd;){for(var La=null,Hi=256;65536>Ob.F>>>0;){Od.F=a.oa(Ob,2);if(null==Ob.F||!Hi--)break;if(!(Od.F&1)){for(var Ii=a,Gc=Od,Ag=null,Pb=Gc.F,Bg=Pb,Pd=1;6>=Pd&&Pb;Pd++){if(2<
|
||||||
Pd){Fc.F=Qb;var Gc=Zh(Hi,Fc);if(0<=Gc.indexOf("JSR")){var Bg=Gc.indexOf(" ");if(Qb+(Gc.indexOf(" ",Bg+1)-Bg-1)/2==Ag){zg=Gc;break}}}Qb-=2}Fc.F=Ag;if(Ma=zg)break}}if(!Ma||null==Ma)break;var Cg=null;if("ks"==Fi){var Dg=Ma.match(/[0-9A-F]+$/);Dg&&(Cg=fi(a,Dg[0]))}Ma=xa(Ma,50)+" ;"+(Cg||"stack="+J(a,Pb.F));a.j(Ma);Nd++}Nd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){fi(a,g[1],!0);break}f=!0;break;case "m":a:{var pa,qa=null,G=g[1];"?"==G&&(G=void 0);if(void 0!==G){var Da=0;if("all"==
|
Pd){Gc.F=Pb;var Hc=$h(Ii,Gc);if(0<=Hc.indexOf("JSR")){var Cg=Hc.indexOf(" ");if(Pb+(Hc.indexOf(" ",Cg+1)-Cg-1)/2==Bg){Ag=Hc;break}}}Pb-=2}Gc.F=Bg;if(La=Ag)break}}if(!La||null==La)break;var Dg=null;if("ks"==Gi){var Eg=La.match(/[0-9A-F]+$/);Eg&&(Dg=gi(a,Eg[0]))}La=xa(La,50)+" ;"+(Dg||"stack="+J(a,Ob.F));a.j(La);Nd++}Nd||a.j("no return addresses found")}break;case "l":if("ln"==g[0]){gi(a,g[1],!0);break}f=!0;break;case "m":a:{var oa,pa=null,G=g[1];"?"==G&&(G=void 0);if(void 0!==G){var Ca=0;if("all"==
|
||||||
G)Da=1878917119,G=null;else if("on"==G)qa=!0,G=null;else if("off"==G)qa=!1,G=null;else{"keys"==G&&(G="key");"kbd"==G&&(G="keyboard");for(pa in xb)if(G==pa){Da=xb[pa];qa=!!(a.na&Da);break}if(!Da){a.j("unknown message category: "+G);break a}}if(Da)if("on"==g[2])a.na|=Da,qa=!0;else if("off"==g[2]&&(a.na&=~Da,qa=!1,1073741824==Da)){for(var Qd=0;Qd<a.ta.length;Qd++)a.j(a.ta[Qd]);a.ta=[]}}var Ii=0,Rb="";for(pa in xb)if(!G||G==pa){var Ji=!!(a.na&xb[pa]);if(null===qa||qa==Ji)Rb&&(Rb+=","),++Ii%10||(Rb+="\n\t"),
|
G)Ca=1878917119,G=null;else if("on"==G)pa=!0,G=null;else if("off"==G)pa=!1,G=null;else{"keys"==G&&(G="key");"kbd"==G&&(G="keyboard");for(oa in xb)if(G==oa){Ca=xb[oa];pa=!!(a.na&Ca);break}if(!Ca){a.j("unknown message category: "+G);break a}}if(Ca)if("on"==g[2])a.na|=Ca,pa=!0;else if("off"==g[2]&&(a.na&=~Ca,pa=!1,1073741824==Ca)){for(var Qd=0;Qd<a.ua.length;Qd++)a.j(a.ua[Qd]);a.ua=[]}}var Ji=0,Qb="";for(oa in xb)if(!G||G==oa){var Ki=!!(a.na&xb[oa]);if(null===pa||pa==Ki)Qb&&(Qb+=","),++Ji%10||(Qb+="\n\t"),
|
||||||
"key"==pa&&(pa="keys"),Rb+=pa}void 0===G&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==qa?qa?"messages on: ":"messages off: ":"message categories:\n\t")+(Rb||"none"));Dh(a)}break;case "p":if("print"==g[0]){gi(a,b.substr(5));break}var Ki="pr"==g[0]?1:0;if(a.R)a.j("step in progress");else{var Eg=Z(a.b.u[7]);a.Db(Eg);a.R?(a.jb(a.f,Eg,!0),a.bb()||(a.C&&a.C.ob(),a.R=0)):hi(a,Ki?"tr":"t")}break;case "r":if("reset"==b){a.C&&a.C.reset();break}Sh(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Sb=
|
"key"==oa&&(oa="keys"),Qb+=oa}void 0===G&&a.j("message commands:\n\tm [category] [on|off]\tturn categories on/off");a.j((null!==pa?pa?"messages on: ":"messages off: ":"message categories:\n\t")+(Qb||"none"));Eh(a)}break;case "p":if("print"==g[0]){hi(a,b.substr(5));break}var Li="pr"==g[0]?1:0;if(a.R)a.j("step in progress");else{var Fg=Z(a.b.v[7]);a.Eb(Fg);a.R?(a.lb(a.f,Fg,!0),a.fb()||(a.u&&a.u.qb(),a.R=0)):ii(a,Li?"tr":"t")}break;case "r":if("reset"==b){a.u&&a.u.reset();break}Th(a,g);break;case "s":a:switch(g[1]){case "base":if(g[2]){var Rb=
|
||||||
+g[2];if(8==Sb||10==Sb||16==Sb)a.$=Sb;else{a.j("invalid base: "+Sb);break}}a.j("default base: "+a.$);break;case "cs":var Tb;void 0!==g[3]&&(Tb=+g[3]);switch(g[2]){case "int":a.b.sb=Tb;break;case "start":a.b.Fb=Tb;break;case "stop":a.b.tb=Tb;break;default:a.j("unknown cs option");break a}void 0!==Tb&&bd(a.b);a.j("checksums "+(a.b.A.qb?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(fd(a.b,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.b.mb.toFixed(2)+
|
+g[2];if(8==Rb||10==Rb||16==Rb)a.$=Rb;else{a.j("invalid base: "+Rb);break}}a.j("default base: "+a.$);break;case "cs":var Sb;void 0!==g[3]&&(Sb=+g[3]);switch(g[2]){case "int":a.b.wb=Sb;break;case "start":a.b.Gb=Sb;break;case "stop":a.b.xb=Sb;break;default:a.j("unknown cs option");break a}void 0!==Sb&&fd(a.b);a.j("checksums "+(a.b.B.ub?"enabled":"disabled"));break;case "sp":void 0!==g[2]&&(id(a.b,+g[2])||a.j("warning: using 1x multiplier, previous target not reached"));a.j("target speed: "+(a.b.nb.toFixed(2)+
|
||||||
"Mhz")+" ("+a.b.Xa+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":hi(a,g[0],g[1]);break;case "u":Th(a,g[1],g[2],8);break;case "v":if("var"==g[0]){ei(a,b.substr(3))||(d=!1);break}if("ver"==
|
"Mhz")+" ("+a.b.$a+"x)");break;default:if(g[1]){a.j("unknown option: "+g[1]);break}case "?":a.j("debugger options:"),a.j("\tbase #\t\tset default base to #"),a.j("\tcs int #\tset checksum cycle interval to #"),a.j("\tcs start #\tset checksum cycle start count to #"),a.j("\tcs stop #\tset checksum cycle stop count to #"),a.j("\tsp #\t\tset speed multiplier to #")}break;case "t":ii(a,g[0],g[1]);break;case "u":Uh(a,g[1],g[2],8);break;case "v":if("var"==g[0]){fi(a,b.substr(3))||(d=!1);break}if("ver"==
|
||||||
g[0]){a.j("PDPjs version 1.30.2 ("+a.b.rb+",RELEASE"+(wb?",TYPEDARRAYS":",LONGARRAYS")+")");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){gi(a,b.substr(1));break}var Rd="commands:",Sd;for(Sd in Fh)Rd+="\n"+xa(Sd,9)+Fh[Sd];fe(a)||(Rd+="\nnote: history disabled if no exec breakpoints");a.j(Rd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Fg){a.j("debugger error: "+(Fg.stack||Fg.message)),d=!1}return d}
|
g[0]){a.j("PDPjs version 1.30.2 ("+a.b.vb+",RELEASE"+(wb?",TYPEDARRAYS":",LONGARRAYS")+")");a.j(window?window.navigator.userAgent:"");break}f=!0;break;case "?":if(g[1]){hi(a,b.substr(1));break}var Rd="commands:",Sd;for(Sd in Gh)Rd+="\n"+xa(Sd,9)+Gh[Sd];ge(a)||(Rd+="\nnote: history disabled if no exec breakpoints");a.j(Rd);break;default:f=!0}f&&(a.j("unknown command: "+b),d=!1)}}catch(Gg){a.j("debugger error: "+(Gg.stack||Gg.message)),d=!1}return d}
|
||||||
function cd(a,b,c){b=uh(a,b,c);for(var d in b)if(!Yh(a,b[+d]))return!1;return!0}Xa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Bh(d);C(d,c)}});
|
function gd(a,b,c){b=vh(a,b,c);for(var d in b)if(!Zh(a,b[+d]))return!1;return!0}Xa(function(){for(var a=D(document,"pdp11","debugger"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ch(d);C(d,c)}});
|
||||||
function ji(a,b,c){u.call(this,"Computer",a,ji,67108864);this.A.ja=!1;ki(this,b);this.L=$c(this,"autoPower",a);this.C=0;this.W=a.busWidth||a.buswidth;this.f=li;this.J=null;this.B=this.R=!1;this.$=$c(this,"url")||"";(Math.random()+.1).toString(36);this.g=mi(this);if(this.b=qb("CPU",this.id)){this.i=qb("Debugger",this.id);this.w=new Zb({id:this.Na+".bus",busWidth:this.W},this.b,this.i);var d,e=ob(this.id);if((this.I=qb("Panel",this.id))&&this.I.Oa)for(b=0;b<e.length;b++)d=e[b],d.P=this.I.P,d.j=this.I.j,
|
function ki(a,b,c){u.call(this,"Computer",a,ki,67108864);this.B.ja=!1;li(this,b);this.K=dd(this,"autoPower",a);this.g=0;this.V=a.busWidth||a.buswidth;this.u=mi;this.H=null;this.C=this.P=!1;this.Y=dd(this,"url")||"";(Math.random()+.1).toString(36);this.f=ni(this);if(this.b=qb("CPU",this.id)){this.i=qb("Debugger",this.id);this.A=new dc({id:this.Pa+".bus",busWidth:this.V},this.b,this.i);var d,e=ob(this.id);if((this.za=qb("Panel",this.id))&&this.za.Qa)for(b=0;b<e.length;b++)d=e[b],d.O=this.za.O,d.j=this.za.j,
|
||||||
d.Oa=this.I.Oa;this.j("PDPjs v1.30.2\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.j("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Da&&d.Da(this,this.w,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.D=d:this.f=parseInt(d,10));var f;if(a=$c(this,"state")||(f=!0,a.state))b=this.N=a,f||(this.B=!0,this.f=li),this.f&&(this.K=
|
d.Qa=this.za.Qa;this.j("PDPjs v1.30.2\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.j("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.Ea&&d.Ea(this,this.A,this.b,this.i);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.D=d:this.u=parseInt(d,10));var f;if(a=dd(this,"state")||(f=!0,a.state))b=this.L=a,f||(this.C=!0,this.u=mi),this.u&&(this.J=
|
||||||
new R(this,"1.30.2"),ni(this.K)?b=null:delete this.K);!b&&this.f&&(b=oi(this))&&(this.B=!0);if(b){var g=this;Ea(b,null,!0,function(a,b,c){c?(g.D=null,g.B=!1,g.P("Unable to load machine state from server (error "+c+(b?": "+ya(b):"")+")")):(g.J=b,g.R=!0);H(g)})}else H(this);this.G.power||(this.L=!0);!c&&this.L&&pi(this,this.Gb)}else q("Unable to find CPU component")}z(ji);var li=0;
|
new P(this,"1.30.2"),oi(this.J)?b=null:delete this.J);!b&&this.u&&(b=pi(this))&&(this.C=!0);if(b){var g=this;Ea(b,null,!0,function(a,b,c){c?(g.D=null,g.C=!1,g.O("Unable to load machine state from server (error "+c+(b?": "+ya(b):"")+")")):(g.H=b,g.P=!0);H(g)})}else H(this);this.G.power||(this.K=!0);!c&&this.K&&qi(this,this.Hb)}else q("Unable to find CPU component")}z(ki);var mi=0;
|
||||||
function ki(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.S=b}function $c(a,b,c){var d=b.toLowerCase(),d=bb[b]||bb[d];void 0===d&&a.S&&(d=a.S[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function pi(a,b,c){for(var d=ob(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){pi(a,b,c)});return}}b.call(a,c)}
|
function li(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){q(d.message+" ("+c+")")}}a.R=b}function dd(a,b,c){var d=b.toLowerCase(),d=bb[b]||bb[d];void 0===d&&a.R&&(d=a.R[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function qi(a,b,c){for(var d=ob(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!tb(f)){tb(f,function(){qi(a,b,c)});return}}b.call(a,c)}
|
||||||
function qi(a,b){var c=new R(a,"1.30.2","validate");if(ni(c)&&ri(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.P("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=ji.prototype;
|
function ri(a,b){var c=new P(a,"1.30.2","validate");if(oi(c)&&si(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.O("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}k=ki.prototype;
|
||||||
k.Gb=function(a){void 0===a&&(a=this.f||(this.J?1:li));if(!this.C){this.C++;var b=!1,c=!1;this.O=!1;var d=this.K||new R(this,"1.30.2");if(-1==a)b=!0;else if(a>li){if(ni(d,this.J)){this.v=new R(this,"1.30.2","failsafe");ni(this.v)&&(si(this,d),a=2,ti(this.v));this.v.set("timestamp",Ca());ui(this.v);var e=this.f&&!this.B;if(1==a||Ha("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=ri(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?ni(d,g):("error"==
|
k.Hb=function(a){void 0===a&&(a=this.u||(this.H?1:mi));if(!this.g){this.g++;var b=!1,c=!1;this.N=!1;var d=this.J||new P(this,"1.30.2");if(-1==a)b=!0;else if(a>mi){if(oi(d,this.H)){this.w=new P(this,"1.30.2","failsafe");oi(this.w)&&(ti(this,d),a=2,ui(this.w));this.w.set("timestamp",Da());vi(this.w);var e=this.u&&!this.C;if(1==a||Ha("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=si(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?oi(d,g):("error"==
|
||||||
f&&"no machine state"!=g?(this.P("Error: "+g),"unable to verify user"==g&&(Oa("user",""),this.g=null)):this.j(f+": "+g),ti(d),ni(d)?(c=ri(d),e=!0):c=!1))}e&&qi(this,c?d:null)}else 2==a&&d.clear()}else qi(this);delete this.J;delete this.K}e=ob(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=vi(this,g,d,b,c));b=[d,a,c];-1!=a?pi(this,this.kc,b):this.kc(b)}};
|
f&&"no machine state"!=g?(this.O("Error: "+g),"unable to verify user"==g&&(Oa("user",""),this.f=null)):this.j(f+": "+g),ui(d),oi(d)?(c=si(d),e=!0):c=!1))}e&&ri(this,c?d:null)}else 2==a&&d.clear()}else ri(this);delete this.H;delete this.J}e=ob(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.b&&(c=wi(this,g,d,b,c));b=[d,a,c];-1!=a?qi(this,this.nc,b):this.nc(b)}};
|
||||||
function vi(a,b,c,d,e){if(!b.A.ja){b.A.ja=!0;if(b.Fa){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Fa(f,d)&&f&&(q("Unable to restore state for "+b.type),a.N&&!a.R?(c.clear(),a.f=li,window&&window.location.reload()):a.O=!0,b.Fa(null),e=!1)}if(!d&&b.mc)for(a=b.mc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
function wi(a,b,c,d,e){if(!b.B.ja){b.B.ja=!0;if(b.Ga){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.Ga(f,d)&&f&&(q("Unable to restore state for "+b.type),a.L&&!a.P?(c.clear(),a.u=mi,window&&window.location.reload()):a.N=!0,b.Ga(null),e=!1)}if(!d&&b.oc)for(a=b.oc.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
k.kc=function(a){var b=a[0],c=0>a[1];a=a[2];this.da=!0;this.A.ja=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.b&&(vi(this,this.b,b,c,a),this.b.pb());this.O&&(si(this,b),b.clear());!c&&this.v&&(this.v.clear(),delete this.v);this.C=0};
|
k.nc=function(a){var b=a[0],c=0>a[1];a=a[2];this.$=!0;this.B.ja=!0;var d=this.G.power;d&&(d.textContent="Shutdown");this.b&&(wi(this,this.b,b,c,a),this.b.sb());this.N&&(ti(this,b),b.clear());!c&&this.w&&(this.w.clear(),delete this.w);this.g=0};
|
||||||
function si(a,b){if(Ha("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.g||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.2"};d.url=a.$;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}}
|
function ti(a,b){if(Ha("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.f||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.2"};d.url=a.Y;d.user=c;d.type="bug";d.data=b;Ea("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
function ii(a,b,c){var d,e="none";if(a.C)return null;a.C--;var f=new R(a,"1.30.2"),g=new R(a,"1.30.2","validate"),h=Ca();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Ea&&(c&&a.b.ha(),d=a.b.Ea(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.A.ja=!1,!1===d&&(e=null)));for(var h=ob(a.id),l=0;l<h.length;l++){var m=h[l];m.A.ja&&(m.Ea&&(d=m.Ea(b,c),"object"===typeof d&&f.set(m.id,
|
function ji(a,b,c){var d,e="none";if(a.g)return null;a.g--;var f=new P(a,"1.30.2"),g=new P(a,"1.30.2","validate"),h=Da();g.set("timestamp",h);f.set("timestamp",h);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.b&&a.b.Fa&&(c&&a.b.ha(),d=a.b.Fa(b,c),"object"===typeof d&&f.set(a.b.id,d),c&&(a.b.B.ja=!1,!1===d&&(e=null)));for(var h=ob(a.id),l=0;l<h.length;l++){var m=h[l];m.B.ja&&(m.Fa&&(d=m.Fa(b,c),"object"===typeof d&&f.set(m.id,
|
||||||
d)),c&&(m.A.ja=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.g&&wi(a,a.g,f.toString()),ui(g)&&ui(f)||(e=null,d=h=!0)):a.f&&(d=!0,h=3==a.f),d&&f.clear(h)):e=f.toString());c&&(a.A.ja=!1,b=a.G.power)&&(b.textContent="Power");a.C=0;return e}k.reset=function(){this.w&&this.w.reset&&(E(this,"Resetting "+this.w.type),this.w.reset());for(var a=ob(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.w&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
|
d)),c&&(m.B.ja=!1,!1===d&&(e=null)))}e&&(c?(h=d=!1,b?(a.f&&xi(a,a.f,f.toString()),vi(g)&&vi(f)||(e=null,d=h=!0)):a.u&&(d=!0,h=3==a.u),d&&f.clear(h)):e=f.toString());c&&(a.B.ja=!1,b=a.G.power)&&(b.textContent="Power");a.g=0;return e}k.reset=function(){this.A&&this.A.reset&&(E(this,"Resetting "+this.A.type),this.A.reset());for(var a=ob(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.A&&c.reset&&(E(this,"Resetting "+c.type),c.reset())}};
|
||||||
k.start=function(a,b){for(var c=ob(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.Z(!0)};k.stop=function(a,b){for(var c=ob(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.Z(!0)};
|
k.start=function(a,b){for(var c=ob(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.ca(!0)};k.stop=function(a,b){for(var c=ob(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.ca(!0)};
|
||||||
k.sa=function(a,b,c){var d=this;switch(b){case "power":return this.G[b]=c,c.onclick=function(){d.C||(d.A.ja?ii(d,!1,!0):pi(d,d.Gb))},!0;case "reset":return this.G[b]=c,c.onclick=function(){if(d.A.ja&&!d.C)if(d.f&&!d.D){var a=Ha("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ii(d,a,!0);!a&&d.N?window&&window.location.reload():(a||(d.lc=!0),d.Gb(li),d.lc=!1)}else d.reset(),d.b&&d.b.pb()},!0;case "save":if(ua(Ga(),"pcjs.org"))c.parentNode.removeChild(c);
|
k.sa=function(a,b,c){var d=this;switch(b){case "power":return this.G[b]=c,c.onclick=function(){d.g||(d.B.ja?ji(d,!1,!0):qi(d,d.Hb))},!0;case "reset":return this.G[b]=c,c.onclick=function(){if(d.B.ja&&!d.g)if(d.u&&!d.D){var a=Ha("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");ji(d,a,!0);!a&&d.L?window&&window.location.reload():(a||(d.pc=!0),d.Hb(mi),d.pc=!1)}else d.reset(),d.b&&d.b.sb()},!0;case "save":if(ua(Ga(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||||
else return this.G[b]=c,c.onclick=function(){var a=mi(d,!0);if(a){var b=!!(d.f&&!d.D||d.N),c=ii(d,b);b?wi(d,a,c):d.P("Resume disabled, machine state not saved")}},!0}return!1};
|
else return this.G[b]=c,c.onclick=function(){var a=ni(d,!0);if(a){var b=!!(d.u&&!d.D||d.L),c=ji(d,b);b?xi(d,a,c):d.O("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function mi(a,b){var c=a.g;c||((c=Na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=xi(a,c))||a.P("The user ID is invalid.")):b&&a.P("Browser local storage is not available"));return c}
|
function ni(a,b){var c=a.f;c||((c=Na("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=yi(a,c))||a.O("The user ID is invalid.")):b&&a.O("Browser local storage is not available"));return c}
|
||||||
function xi(a,b){a.g=null;b=Ea(Ga()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Oa("user",b.data),a.g=b.data)}catch(d){q(d.message+" ("+c+")")}return a.g}function oi(a){var b=null;a.g&&(b=Ga()+"/api/v1/user?req=load&user="+a.g+"&state="+yi(a,"1.30.2"));return b}
|
function yi(a,b){a.f=null;b=Ea(Ga()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Oa("user",b.data),a.f=b.data)}catch(d){q(d.message+" ("+c+")")}return a.f}function pi(a){var b=null;a.f&&(b=Ga()+"/api/v1/user?req=load&user="+a.f+"&state="+zi(a,"1.30.2"));return b}
|
||||||
function wi(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=yi(a,"1.30.2");d.data=c;b=Ea(Ga()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.P("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.P(c),Oa("user",""),a.g=null)}}
|
function xi(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=zi(a,"1.30.2");d.data=c;b=Ea(Ga()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.O("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.O(c),Oa("user",""),a.f=null)}}
|
||||||
function Pg(a){var b;a=ob(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}k.ob=function(a){if(this.Oa){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.Oa.focus();!a&&window&&window.scrollTo(b,c)}};k.Z=function(a){this.b&&this.b.Z(a);this.I&&this.I.Z(a)};
|
function Qg(a){var b;a=ob(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}k.qb=function(a){if(this.Qa){var b=0,c=0;!a&&window&&(b=window.scrollX,c=window.scrollY);this.Qa.focus();!a&&window&&window.scrollTo(b,c)}};k.ca=function(a){this.b&&this.b.ca(a);this.za&&this.za.ca(a)};
|
||||||
Xa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new ji(g,d,!0);C(g,f);g.L&&pi(g,g.Gb)}});Sa.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=qb("Computer",c.id))&&c.da&&!c.A.ja&&c.Gb(-1)}});
|
Xa(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new ki(g,d,!0);C(g,f);g.K&&qi(g,g.Hb)}});Sa.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=qb("Computer",c.id))&&c.$&&!c.B.ja&&c.Hb(-1)}});Sa.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=qb("Computer",c.id))&&c.B.ja&&ji(c,!(!c.u||c.D),!0)}});
|
||||||
Sa.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=qb("Computer",c.id))&&c.A.ja&&ii(c,!(!c.f||c.D),!0)}});function R(a,b,c){this.id=a.id;this.key=yi(a,b,c);this.i=a.i;ti(this,a.Rc)}function yi(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
function P(a,b,c){this.id=a.id;this.key=zi(a,b,c);this.i=a.i;ui(this,a.Rc)}function zi(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||||
R.prototype={constructor:R,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){ti(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
P.prototype={constructor:P,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){ui(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||||
1);c=0}}};function ti(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function ui(a){var b=!0;if(Ka()){var c=JSON.stringify(a[a.id]);Oa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function ri(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function ni(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Ka()&&(b=Na(a.key))?(a[a.id]=b,a.b=!0):!1}var zi=0;
|
1);c=0}}};function ui(a,b){a[a.id]={};b&&a.set("parms",b);a.b=!1}function vi(a){var b=!0;if(Ma()){var c=JSON.stringify(a[a.id]);Oa(a.key,c)||(q("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function si(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){q(c.message||c),b=!1}return b}function oi(a,b){return b?(a[a.id]=b,a.b=!0):a.b?!0:Ma()&&(b=Na(a.key))?(a[a.id]=b,a.b=!0):!1}var Ai=0;
|
||||||
function Li(a,b,c,d,e,f){e("Loading "+a+"...");Ea(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):Mi(h,a,b,c,d,e,f)})}
|
function Mi(a,b,c,d,e,f){e("Loading "+a+"...");Ea(a,null,!0,function(g,h,l){l?(h||(h="unable to load "+a+" ("+l+")"),f(h,null)):Ni(h,a,b,c,d,e,f)})}
|
||||||
function Mi(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(nb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
function Ni(a,b,c,d,e,f,g){function h(a,f){if(f)g(f,null);else{c&&(nb(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Ni(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(n){f=null,a=n.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Oi(a,f,h):h(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
function Ni(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
function Oi(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");Ea(e,null,!0,function(f,g,h){if(h||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+h+")");else{if(f=d[3])if(h=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=h[0],m,n=/( [a-z]+=)(['"])(.*?)\2/g;m=n.exec(f);)l=0>l.indexOf(m[1])?l.replace(">",m[0]+">"):l.replace(new RegExp(m[1]+"(['\"])(.*?)\\1"),m[0]);h[0]!=l&&(g=g.replace(h[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
"");a=a.replace(d[0],g);Ni(a,b,c)}})}else c(a,null)}
|
"");a=a.replace(d[0],g);Oi(a,b,c)}})}else c(a,null)}
|
||||||
function Oi(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=wa(a))}function f(a){e("Error: "+a);l&&(--zi||Za(!0));l=!1}var g,h,l=!0;zi++;mb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
|
function Pi(a,b,c,d){function e(a){if(void 0===h){var b=g&&D(g,"machine-warning");h=b&&b[0]||g}h&&(h.innerHTML=wa(a))}function f(a){e("Error: "+a);l&&(--Ai||Za(!0));l=!1}var g,h,l=!0;Ai++;mb[a]={};try{if(g=document.getElementById(a)){var m;if("object"==typeof resources&&(m=resources.css)){var n=document.head||document.getElementsByTagName("head")[0],r=document.createElement("style");r.type="text/css";r.styleSheet?r.styleSheet.cssText=m:r.appendChild(document.createTextNode(m));n.appendChild(r)}c||
|
||||||
(c="/versions/pdpjs/1.30.2/components.xsl");m=function(d,h){h?Li(c,null,null,!1,e,function(d,l){l?(nb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--zi||Za(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--zi||Za(!0)):f("invalid machine element: "+
|
(c="/versions/pdpjs/1.30.2/components.xsl");m=function(d,h){h?Mi(c,null,null,!1,e,function(d,l){l?(nb(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=h.transformNode(l))?(g.outerHTML=l,--Ai||Za(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(h,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Ai||Za(!0)):f("invalid machine element: "+
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Li(b,a,d,!0,e,m):Mi(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return l}window.embedPDP11=function(a,b,c,d){Za(!1);return Oi(a,b,c,d)};window.enableEvents=Za;window.sendEvent=$a;})();//# sourceMappingURL=/tmp/pdpjs/1.30.2/pdp11-dbg.map
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Mi(b,a,d,!0,e,m):Ni(b,null,a,d,!1,e,m)}else f("missing machine element: "+a)}catch(t){f(t.message)}return l}window.embedPDP11=function(a,b,c,d){Za(!1);return Pi(a,b,c,d)};window.enableEvents=Za;window.sendEvent=$a;})();//# sourceMappingURL=/tmp/pdpjs/1.30.2/pdp11-dbg.map
|
||||||
|
|
|
||||||
|
|
@ -40,202 +40,203 @@ function pa(a){return String.prototype.trim?a.trim():a.replace(/^\s+|\s+$/g,"")}
|
||||||
function sa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
function sa(){function a(a){return(10>a?"0":"")+a}var b=new Date;return b.getFullYear()+"-"+a(b.getMonth()+1)+"-"+a(b.getDate())+" "+a(b.getHours())+":"+a(b.getMinutes())+":"+a(b.getSeconds())}
|
||||||
function r(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
function r(a,b,c,d){var e=0,f=null,g=null;if("object"==typeof resources&&(f=resources[a]))return d&&d(a,f,e),[f,e];if(c&&"function"==typeof resources)return resources(a,function(b,c){d&&d(a,b,c)}),g;var k=window.XMLHttpRequest?new window.XMLHttpRequest:new window.ActiveXObject("Microsoft.XMLHTTP");c&&(k.onreadystatechange=function(){4===k.readyState&&(f=k.responseText,200==k.status||!k.status&&f.length&&"file:"==(window?window.location.protocol:"file:")||(e=k.status||-1),d&&d(a,f,e))});if(b&&"object"==
|
||||||
typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
typeof b){var l="",n;for(n in b)b.hasOwnProperty(n)&&(l&&(l+="&"),l+=n+"="+encodeURIComponent(b[n]));l=l.replace(/%20/g,"+");k.open("POST",a,!!c);k.setRequestHeader("Content-type","application/x-www-form-urlencoded");k.send(l)}else k.open("GET",a,!!c),"bytes"==b&&k.overrideMimeType("text/plain; charset=x-user-defined"),k.send();c||(f=k.responseText,200!=k.status&&(e=k.status||-1),d&&d(a,f,e),g=[f,e]);return g}
|
||||||
function ta(a,b){var c,d={K:null,X:null,ga:null,fa:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.ga=g.load;d.fa=g.exec;if(e=g.bytes)d.K=e;else if(e=g.words)for(d.K=Array(2*e.length),f=c=0;c<e.length;c++)d.K[f++]=e[c]&255,d.K[f++]=e[c]>>8&255;else if(e=g.data)for(d.K=Array(4*e.length),f=c=0;c<e.length;c++)d.K[f++]=e[c]&255,
|
function ta(a,b){var c,d={K:null,X:null,fa:null,ea:null};if("["==b.charAt(0)||"{"==b.charAt(0))try{var e,f,g;if("<"==b.substr(0,1))throw Error(b);g=0>b.indexOf("0x")&&'["'!=b.substr(0,2)?JSON.parse(b.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+b+")");d.fa=g.load;d.ea=g.exec;if(e=g.bytes)d.K=e;else if(e=g.words)for(d.K=Array(2*e.length),f=c=0;c<e.length;c++)d.K[f++]=e[c]&255,d.K[f++]=e[c]>>8&255;else if(e=g.data)for(d.K=Array(4*e.length),f=c=0;c<e.length;c++)d.K[f++]=e[c]&255,
|
||||||
d.K[f++]=e[c]>>8&255,d.K[f++]=e[c]>>16&255,d.K[f++]=e[c]>>24&255;else d.K=g;d.X=g.symbols;d.K.length?1==d.K.length&&(u(d.K[0]),d=null):(u("Empty resource: "+a),d=null)}catch(k){u("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){u("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.K=e)}return d}
|
d.K[f++]=e[c]>>8&255,d.K[f++]=e[c]>>16&255,d.K[f++]=e[c]>>24&255;else d.K=g;d.X=g.symbols;d.K.length?1==d.K.length&&(u(d.K[0]),d=null):(u("Empty resource: "+a),d=null)}catch(k){u("Resource data error ("+a+"): "+k.message),d=null}else{e=[];b=b.replace(/\n/gm," ").replace(/ +$/,"").split(" ");for(c=0;c<b.length;c++){f=parseInt(b[c],16);if(isNaN(f)){u("Resource data error ("+a+"): invalid hex byte ("+b[c]+")");break}e.push(f&255)}c==b.length&&(d.K=e)}return d}
|
||||||
function v(){return"http://"+(window?window.location.host:"www.pcjs.org")}function u(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}xa=a}return xa}
|
function v(){return"http://"+(window?window.location.host:"www.pcjs.org")}function u(a){window&&window.alert(a)}function ua(a){var b=!1;window&&(b=window.confirm(a));return b}var xa=null;function ya(){if(null==xa){var a=!1;if(window)try{window.localStorage.setItem("PCjs.localStorage","PCjs.localStorage"),a="PCjs.localStorage"==window.localStorage.getItem("PCjs.localStorage"),window.localStorage.removeItem("PCjs.localStorage")}catch(b){a=!1}xa=a}return xa}
|
||||||
function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var Ca={init:[],show:[],exit:[]},Da=!1,Ea=!1,Fa=!0;
|
function za(a){var b;if(window)try{b=window.localStorage.getItem(a)}catch(c){}return b}function Aa(a,b){try{return window.localStorage.setItem(a,b),!0}catch(c){}return!1}function Ba(a){if(window){var b=window?window.navigator.userAgent:"";return"iOS"==a&&b.match(/(iPod|iPhone|iPad)/)&&b.match(/AppleWebKit/)||"MSIE"==a&&b.match(/(MSIE|Trident)/)||0<=b.indexOf(a)?!0:!1}return!1}var Ca={init:[],show:[],exit:[]},Da=!1,Ea=!1,Fa=!0;
|
||||||
function Ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ha(a){Ca.init.push(a)}function Ia(a){if(Fa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ja(a){!Fa&&a?(Fa=!0,Da&&Ka("init"),Ea&&Ka("show")):Fa=a}function Ka(a){Ca[a]&&Ia(Ca[a])}Ga("onload",function(){Da=!0;Ia(Ca.init)});Ga("onpageshow",function(){Ea=!0;Ia(Ca.show)});
|
function Ga(a,b){if(window){var c=window[a];window[a]="function"!==typeof c?b:function(){c&&c();b()}}}function Ha(a){Ca.init.push(a)}function Ia(a){if(Fa)try{for(var b=0;b<a.length;b++)a[b]()}catch(c){u(""+("An unexpected exception occurred:\n\n"+c.message+"\n\nPlease send this information to support@pcjs.org. Thanks."))}}function Ja(a){!Fa&&a?(Fa=!0,Da&&Ka("init"),Ea&&Ka("show")):Fa=a}function Ka(a){Ca[a]&&Ia(Ca[a])}Ga("onload",function(){Da=!0;Ia(Ca.init)});Ga("onpageshow",function(){Ea=!0;Ia(Ca.show)});
|
||||||
Ga(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Ia(Ca.exit)});function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Mb=b.comment;this.tc=b;b=this.id.indexOf(".");0>b?this.Qa=this.id:(this.oa=this.id.substr(0,b),this.Qa=this.id.substr(b+1));this[a]=c;this.j={ready:!1,Ea:!1,ob:!1,P:!1,error:!1};this.jb=null;this.j.error=!1;this.o={};this.C=null;y.push(this)}var La=void 0,Ma={};
|
Ga(Ba("Opera")||Ba("iOS")?"onunload":"onbeforeunload",function(){Ia(Ca.exit)});function x(a,b,c){this.type=a;b||(b={id:"",name:""});this.id=b.id||"";this.name=b.name;this.Lb=b.comment;this.jc=b;b=this.id.indexOf(".");0>b?this.Pa=this.id:(this.na=this.id.substr(0,b),this.Pa=this.id.substr(b+1));this[a]=c;this.l={ready:!1,Ea:!1,nb:!1,O:!1,error:!1};this.jb=null;this.l.error=!1;this.o={};this.C=null;y.push(this)}var La=void 0,Ma={};
|
||||||
if(window){La||(La=window.location.search.substr(1));for(var Na,Oa=/\+/g,Pa=/([^&=]+)=?([^&]*)/g;Na=Pa.exec(La);)Ma[decodeURIComponent(Na[1].replace(Oa," "))]=decodeURIComponent(Na[2].replace(Oa," "))}function Qa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
if(window){La||(La=window.location.search.substr(1));for(var Na,Oa=/\+/g,Pa=/([^&=]+)=?([^&]*)/g;Na=Pa.exec(La);)Ma[decodeURIComponent(Na[1].replace(Oa," "))]=decodeURIComponent(Na[2].replace(Oa," "))}function Qa(a){function b(){}if(window){if(!a)throw new TypeError;if(Object.create)return Object.create(a);var c=typeof a;if("object"!==c&&"function"!==c)throw new TypeError;}b.prototype=a;return new b}
|
||||||
function z(a,b){b||(b=x);a.prototype=Qa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ra=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Ra={},y=[];function Sa(a,b,c){Ra[a]&&b&&(Ra[a][b]=c)}function A(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<y.length;b++){var d=y[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
function z(a,b){b||(b=x);a.prototype=Qa(b.prototype);a.prototype.constructor=a;a.prototype.parent=b.prototype}if(window){window.PCjs||(window.PCjs={});var Ra=window.PCjs.Machines||(window.PCjs.Machines={}),y=window.PCjs.Components||(window.PCjs.Components=[])}else Ra={},y=[];function Sa(a,b,c){Ra[a]&&b&&(Ra[a][b]=c)}function A(a){var b,c=[];a&&(a=0<(b=a.indexOf("."))?a.substr(0,b+1):"");for(b=0;b<y.length;b++){var d=y[b];a&&d.id.indexOf(a)||c.push(d)}return c}
|
||||||
function Ta(a){if(void 0!==a){var b;for(b=0;b<y.length;b++)if(y[b].id===a)return y[b]}return null}function Ua(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<y.length;d++)if(c)c==y[d]&&(c=null);else if(!(a!=y[d].type||b&&y[d].id.indexOf(b)))return y[d]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
|
function Ta(a){if(void 0!==a){var b;for(b=0;b<y.length;b++)if(y[b].id===a)return y[b]}return null}function Ua(a,b){var c;if(void 0!==a){var d;b&&(b=0<(d=b.indexOf("."))?b.substr(0,d+1):"");for(d=0;d<y.length;d++)if(c)c==y[d]&&(c=null);else if(!(a!=y[d].type||b&&y[d].id.indexOf(b)))return y[d]}return null}function B(a){var b=null;if(a=a.getAttribute("data-value"))try{b=eval("("+a+")")}catch(c){u(c.message+" ("+a+")")}return b}
|
||||||
function C(a,b){b=D(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=B(f))&&g.binding&&a.$(g.type,g.binding,f,g.value),l=k.length}}}}
|
function C(a,b){b=D(b.parentNode,"pdp11-control");for(var c=0;c<b.length;c++)for(var d=b[c].childNodes,e=0;e<d.length;e++){var f=d[e];if(1===f.nodeType){var g=f.getAttribute("class");if(g)for(var k=g.split(" "),l=0;l<k.length;l++)switch(g=k[l],g){case "pdp11-binding":(g=B(f))&&g.binding&&a.$(g.type,g.binding,f,g.value),l=k.length}}}}
|
||||||
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
function D(a,b,c){c&&(b+="-"+c+"-object");if(a.getElementsByClassName)return a.getElementsByClassName(b);var d;c=[];a=a.getElementsByTagName("*");var e=new RegExp("(^| )"+b+"( |$)");b=0;for(d=a.length;b<d;b++)e.test(a[b].className)&&c.push(a[b]);return c}
|
||||||
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},$:function(a,b,c){switch(b){case "clear":return this.o[b]||(this.o[b]=c,c.onclick=function(a){return function(){a.o.print&&(a.o.print.value="")}}(this)),!0;case "print":return this.o[b]||(this.Wa=this.o[b]=c,c.value="",this.T=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
x.prototype={constructor:x,parent:null,toString:function(){return this.name?this.name:this.id||this.type},$:function(a,b,c){switch(b){case "clear":return this.o[b]||(this.o[b]=c,c.onclick=function(a){return function(){a.o.print&&(a.o.print.value="")}}(this)),!0;case "print":return this.o[b]||(this.Va=this.o[b]=c,c.value="",this.T=function(a){return function(b,c){8192<a.value.length&&(a.value=a.value.substr(a.value.length-4096));a.value+=(void 0!==c?c+": ":"")+(b||"")+"\n";a.scrollTop=a.scrollHeight}}(c),
|
||||||
this.D=function(a){this.T(a,this.Qa)}),!0;default:return!1}},log:function(){},T:function(){},status:function(a){this.T(this.Qa+": "+a)},D:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},ka:function(){return this.j.P=!0},ja:function(a,b){b&&(this.j.P=!1);return!0}};function Va(a,b){a.j.ob?(a.j.Ea=!1,a.j.ob=!1):a.j.error?a.T(a.toString()+" error"):a.j.Ea=b}function E(a,b){a.j.error||(a.j.ready=!1!==b,a.j.ready&&(b=a.jb,a.jb=null,b&&b()))}
|
this.F=function(a){this.T(a,this.Pa)}),!0;default:return!1}},log:function(){},T:function(){},status:function(a){this.T(this.Pa+": "+a)},F:function(a,b,c){c=c||this.type;b||u((c?c+": ":"")+a)},ja:function(){return this.l.O=!0},ia:function(a,b){b&&(this.l.O=!1);return!0}};function Va(a,b){a.l.nb?(a.l.Ea=!1,a.l.nb=!1):a.l.error?a.T(a.toString()+" error"):a.l.Ea=b}function F(a,b){a.l.error||(a.l.ready=!1!==b,a.l.ready&&(b=a.jb,a.jb=null,b&&b()))}
|
||||||
function Wa(a,b){b&&(a.j.ready?b():a.jb=b);return a.j.ready}Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
function Wa(a,b){b&&(a.l.ready?b():a.jb=b);return a.l.ready}function Xa(a,b){a.l.error=!0;a.F(b)}Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){b=b||0;for(var c=this.length;b<c;b++)if(this[b]===a)return b;return-1});Array.isArray||(Array.isArray=function(a){return"[object Array]"===Object.prototype.toString.call(a)});
|
||||||
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Xa="undefined"!==typeof ArrayBuffer;
|
Function.prototype.bind||(Function.prototype.bind=function(a){function b(){return e.apply(this instanceof c&&a?this:a,d.concat(Array.prototype.slice.call(arguments)))}function c(){}if("function"!=typeof this)throw new TypeError("Function.prototype.bind: non-callable object");var d=Array.prototype.slice.call(arguments,1),e=this;c.prototype=this.prototype;b.prototype=new c;return b});var Ya="undefined"!==typeof ArrayBuffer;
|
||||||
function Ya(a){x.call(this,"Panel",a,Ya);this.m=0;this.w=this.v=!1;this.c=this.i=this.f=0;this.A=20;this.s={};this.b={START:[1,!0,!1,this.pc],STEP:[1,!1,!1,this.qc],ENABLE:[1,!1,!1,this.lc],CONT:[1,!0,!1,this.jc],DEP:[0,!0,!1,this.kc],EXAM:[1,!0,!1,this.mc],LOAD:[1,!0,!1,this.oc],TEST:[0,!0,!1,this.nc]};for(a=0;22>a;a++)this.b["S"+a]=[0,!1,!1,this.rc,a]}z(Ya);h=Ya.prototype;h.reset=function(){this.A=this.A&-120|20};
|
function Za(a){x.call(this,"Panel",a,Za);this.s=0;this.w=this.v=!1;this.c=this.i=this.f=0;this.A=20;this.m={};this.b={START:[1,!0,!1,this.qc],STEP:[1,!1,!1,this.rc],ENABLE:[1,!1,!1,this.mc],CONT:[1,!0,!1,this.kc],DEP:[0,!0,!1,this.lc],EXAM:[1,!0,!1,this.nc],LOAD:[1,!0,!1,this.pc],TEST:[0,!0,!1,this.oc]};for(a=0;22>a;a++)this.b["S"+a]=[0,!1,!1,this.sc,a]}z(Za);h=Za.prototype;h.reset=function(){this.A=this.A&-120|20};
|
||||||
h.$=function(a,b,c,d){if(this.l&&this.l.$(a,b,c,d)||this.a&&this.a.$(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.m++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.s[b]=d?1:0,this.m++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){var c=a.b[b];Za(a,
|
h.$=function(a,b,c,d){if(this.j&&this.j.$(a,b,c,d)||this.a&&this.a.$(a,b,c,d))return!0;switch(b){case "R0":case "R1":case "R2":case "R3":case "R4":case "R5":case "R6":case "R7":case "NF":case "ZF":case "VF":case "CF":case "PS":return this.o[b]=c,this.s++,!0;default:return"led"==a||"rled"==a?(this.o[b]=c,this.m[b]=d?1:0,this.s++,!0):"switch"==a?(void 0===this.b[b]&&(this.b[b]=[d?1:0]),this.o[b]=c,a=c.parentElement||c,a=a.parentElement||a,a.onmousedown=function(a,b){return function(){var c=a.b[b];$a(a,
|
||||||
b,c[0]=1-c[0]);c[2]=!0;c[3]&&c[3].call(a,c[0],c[4]);a.v="DEP"==b;a.w="EXAM"==b}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){var c=a.b[b];c[1]&&c[2]&&(Za(a,b,c[0]=1-c[0]),c[3]&&c[3].call(a,c[0],c[4]));c[2]=!1}}(this,b),!0):this.parent.$.call(this,a,b,c,d)}};h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.C=d;$a(b,this,ab);bb(b,this.reset.bind(this));cb(this);for(var e in this.b)Za(this,e,this.b[e][0])};h.ka=function(a,b){b||db();return!0};h.ja=function(){return!0};
|
b,c[0]=1-c[0]);c[2]=!0;c[3]&&c[3].call(a,c[0],c[4]);a.v="DEP"==b;a.w="EXAM"==b}}(this,b),a.onmouseup=a.onmouseout=function(a,b){return function(){var c=a.b[b];c[1]&&c[2]&&($a(a,b,c[0]=1-c[0]),c[3]&&c[3].call(a,c[0],c[4]));c[2]=!1}}(this,b),!0):this.parent.$.call(this,a,b,c,d)}};h.ha=function(a,b,c,d){this.j=a;this.h=b;this.a=c;this.C=d;ab(b,this,bb);cb(b,this.reset.bind(this));db(this);for(var e in this.b)$a(this,e,this.b[e][0])};h.ja=function(a,b){b||(eb(),this.stop());return!0};h.ia=function(){return!0};
|
||||||
function eb(a,b,c,d){a.o[b]&&(void 0===c&&(a.j.error=!0,a.D("Value for "+b+" is invalid"),F(a.a)),c=8==(a.C&&a.C.h||8)?ka(c,d):m(c,d),a.o[b].textContent!=c&&(a.o[b].textContent=c))}function fb(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function cb(a,b){for(var c in a.s)fb(a,c,null!=b?b:a.s[c])}function Za(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}
|
function fb(a,b,c){if(a=a.o[b])a.style.backgroundColor=c?"#ff0000":"#000000"}function db(a,b){for(var c in a.m)fb(a,c,null!=b?b:a.m[c])}function $a(a,b,c){if(a=a.o[b])a.style.marginTop=c?"0px":"20px",a.style.backgroundColor=c?"#00ff00":"#228B22"}function gb(a,b,c,d){a.o[b]&&(void 0===c&&(Xa(a,"Value for "+b+" is invalid"),G(a.a)),c=8==(a.C&&a.C.h||8)?ka(c,d):m(c,d),a.o[b].textContent!=c&&(a.o[b].textContent=c))}
|
||||||
h.pc=function(a){a||this.a.j.U||(this.h.reset(),gb(this.a),this.b.ENABLE&&this.b.ENABLE[0]&&hb(this.a))};h.qc=function(){};h.lc=function(a){a||F(this.a)};h.jc=function(a){if(!a&&!this.a.j.U)if(this.b.ENABLE&&this.b.ENABLE[0])hb(this.a);else{a=this.C;var b;if(b=a)a.j.Ea&&(a.j.ob=!0),b=!a.j.Ea;b?(Va(a,!0),a.lb(0),Va(a,!1)):(this.a.lb(1),this.aa())}};h.kc=function(a){a&&!this.a.j.U&&(this.v&&ib(this,this.c+2),this.h.Bb(this.c,jb(this,this.f)))};
|
h.qc=function(a){a||this.a.l.U||(this.h.reset(),hb(this.a),this.b.ENABLE&&this.b.ENABLE[0]&&ib(this.a))};h.rc=function(){};h.mc=function(a){a||G(this.a)};h.kc=function(a){if(!a&&!this.a.l.U)if(this.b.ENABLE&&this.b.ENABLE[0])ib(this.a);else{a=this.C;var b;if(b=a)a.l.Ea&&(a.l.nb=!0),b=!a.l.Ea;if(b)Va(a,!0),a.kb(0),Va(a,!1);else try{var c=this.a.kb(1);0<c&&(jb(this.a,c),kb(this.a,c,!0),lb(this.a,c))}catch(d){"number"!=typeof d&&Xa(this.a,d.stack||d.message)}this.stop();this.j&&this.j.ka()}};
|
||||||
h.mc=function(a){a||this.a.j.U||(this.w&&ib(this,this.c+2),jb(this,this.h.sb(this.c)))};h.oc=function(a){a||this.a.j.U||ib(this,this.f)};h.nc=function(a){cb(this,a||null)};h.rc=function(a,b){this.f=a?this.f|1<<b:this.f&~(1<<b)};function ib(a,b){a.c=b&a.h.Aa;b=a.c;for(var c=0;22>c;c++)fb(a,"A"+c,b&1<<c)}function jb(a,b){a.i=b&65535;b=a.i;for(var c=0;16>c;c++)fb(a,"D"+c,b&1<<c);return a.i}
|
h.lc=function(a){a&&!this.a.l.U&&(this.v&&mb(this,this.c+2),this.h.Ab(this.c,nb(this,this.f)))};h.nc=function(a){a||this.a.l.U||(this.w&&mb(this,this.c+2),nb(this,this.h.tb(this.c)))};h.pc=function(a){a||this.a.l.U||mb(this,this.f)};h.oc=function(a){db(this,a||null)};h.sc=function(a,b){this.f=a?this.f|1<<b:this.f&~(1<<b)};function mb(a,b){a.c=b&a.h.Aa;ob(a,"A",a.c,22)}function nb(a,b){a.i=b&65535;ob(a,"D",a.i,16);return a.i}function pb(a,b,c){a.m[b]=c;fb(a,b,c)}
|
||||||
h.aa=function(){if(this.m){for(var a=0;a<this.a.g.length;a++)eb(this,"R"+a,this.a.g[a]);a=kb(this.a);eb(this,"PS",a);eb(this,"NF",a&8?1:0,1);eb(this,"ZF",a&4?1:0,1);eb(this,"VF",a&2?1:0,1);eb(this,"CF",a&1?1:0,1);jb(this,this.a.g[0]);ib(this,this.a.g[7])}};h.uc=function(a){return(a?this.f:this.i)&65535};h.od=function(a){this.i=a};var lb={},ab=(lb[65400]=[null,null,Ya.prototype.uc,Ya.prototype.od,"CNSW"],lb);
|
function ob(a,b,c,d){for(var e=0;e<d;e++)pb(a,b+e,c&1<<e)}h.stop=function(){mb(this,this.a.g[7])};h.ka=function(){if(this.s){for(var a=0;a<this.a.g.length;a++)gb(this,"R"+a,this.a.g[a]);a=qb(this.a);gb(this,"PS",a);gb(this,"NF",a&8?1:0,1);gb(this,"ZF",a&4?1:0,1);gb(this,"VF",a&2?1:0,1);gb(this,"CF",a&1?1:0,1);ob(this,"D",this.i,16);ob(this,"A",this.c,22);a=this.a.Fa?this.a.Ga&16?1:2:4;pb(this,"B22",a&1);pb(this,"B18",a&2);pb(this,"B16",a&4)}};h.tc=function(a){return(a?this.f:this.i)&65535};
|
||||||
function db(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=Ta(e.id);f||(a=!0,f=new Ya(e));C(f,d);a&&E(f)}}Ha(db);
|
h.nd=function(a){this.i=a};var rb={},bb=(rb[65400]=[null,null,Za.prototype.tc,Za.prototype.nd,"CNSW"],rb);function eb(){for(var a=!1,b=D(document,"pdp11","panel"),c=0;c<b.length;c++){var d=b[c],e=B(d),f=Ta(e.id);f||(a=!0,f=new Za(e));C(f,d);a&&F(f)}}Ha(eb);
|
||||||
function mb(a,b,c){x.call(this,"Bus",a,mb);this.a=b;this.C=c;this.I=a.busWidth||16;this.m=0;this.F=[];this.w=null;this.A=Math.pow(2,this.I);this.Aa=this.A-1|0;this.b=G;this.c=Math.log2(this.b);this.G=this.b>>2;this.l=this.b-1;this.v=this.A/this.b|0;this.xa=[];this.f=0;this.i=!1;this.s=[];this.bc=[nb,ob,pb,qb];a=new H(this);rb(a,this.C);this.h=Array(this.v);for(b=0;b<this.v;b++)this.h[b]=a;E(this)}z(mb);var G=8192,sb=G-1;
|
function sb(a,b,c){x.call(this,"Bus",a,sb);this.a=b;this.C=c;this.I=a.busWidth||16;this.m=0;this.G=[];this.w=null;this.A=Math.pow(2,this.I);this.Aa=this.A-1|0;this.b=H;this.c=Math.log2(this.b);this.D=this.b>>2;this.j=this.b-1;this.v=this.A/this.b|0;this.xa=[];this.f=0;this.i=!1;this.s=[];this.ac=[tb,ub,vb,wb];a=new I(this);xb(a,this.C);this.h=Array(this.v);for(b=0;b<this.v;b++)this.h[b]=a;F(this)}z(sb);var H=8192,yb=H-1;
|
||||||
function nb(a,b){var c=-1,d=this.controller,e=d.xa[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.xa[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return c;I(d,b,16);return 255}function ob(a,b,c){var d=!1,e=this.controller,f=e.xa[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.xa[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||I(e,c,16)}
|
function tb(a,b){var c=-1,d=this.controller,e=d.xa[a];e?e[0]?c=e[0](b):e[2]&&(c=b&1?e[2](b&-2)>>8:e[2](b)&255):b&1&&(e=d.xa[a&-2])&&e[2]&&(c=e[2](b&-2)>>8);if(0<=c)return c;J(d,b,16);return 255}function ub(a,b,c){var d=!1,e=this.controller,f=e.xa[a];if(f)if(f[1])f[1](b,c),d=!0;else{if(f[3]){a=f[2]?f[2](0):0;if(c&1)f[3](a&255|b<<8,c&-2);else f[3](a&-256|b,c);d=!0}}else c&1&&(f=e.xa[a&-2])&&f[3]&&(c&=-2,a=f[2]?f[2](0):0,f[3](a&255|b<<8,c),d=!0);d||J(e,c,16)}
|
||||||
function pb(a,b){var c=-1,d=this.controller;(a=d.xa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return c;I(d,b,16);return 65535}function qb(a,b,c){var d=!1,e=this.controller;if(a=e.xa[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||I(e,c,16)}function tb(a,b){if(b!=a.m){var c;a.m&&(c=(1<<a.m)-G,ub(a,c,G,a.F),a.m=0);b&&(a.m=b,c=(1<<b)-G,a.F=vb(a,c,G),a.w?ub(a,c,G,a.w):(wb(a,c,G,xb,a),a.w=vb(a,c,G)))}}h=mb.prototype;
|
function vb(a,b){var c=-1,d=this.controller;(a=d.xa[a])&&(a[2]?c=a[2](b):a[0]&&(c=a[0](b)|a[0](b+1)<<8));if(0<=c)return c;J(d,b,16);return 65535}function wb(a,b,c){var d=!1,e=this.controller;if(a=e.xa[a])a[3]?(a[3](b,c),d=!0):a[1]&&(a[1](b&255,c),a[1](b>>8,c+1),d=!0);d||J(e,c,16)}function zb(a,b){if(b!=a.m){var c;a.m&&(c=(1<<a.m)-H,Ab(a,c,H,a.G),a.m=0);b&&(a.m=b,c=(1<<b)-H,a.G=Bb(a,c,H),a.w?Ab(a,c,H,a.w):(Cb(a,c,H,Db,a),a.w=Bb(a,c,H)))}}h=sb.prototype;
|
||||||
h.reset=function(){for(var a=0;a<this.s.length;a++)this.s[a]();tb(this,16)};h.ka=function(a,b){b||this.reset();return!0};
|
h.reset=function(){for(var a=0;a<this.s.length;a++)this.s[a]();zb(this,16)};h.ja=function(a,b){b||this.reset();return!0};
|
||||||
function wb(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.c;0<g&&k<a.h.length;){var l=a.h[k],n=k*a.b,p=a.b-(f-n);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ja)return l.mb+=l.Ja-f,l.Ja=f,!0;if(f>=l.Ja+l.mb){p=l.size-(f-n);p>g&&(p=g);l.mb=f-l.Ja+p;f=n+a.b;g-=p;k++;continue}}return yb(1,f,g)}f=new H(a,f,p,a.b,d,e);rb(f,a.C,l);a.h[k++]=f;f=n+a.b;g-=p}if(0>=g){c/=1024;var t;e="";t?10<t&&(t=10):t=c&-65536?10:5;if(null==c||isNaN(c))for(;0<t--;)e="?"+e;else for(;0<t--;)e=String.fromCharCode(c%10+48)+e,c/=
|
function Cb(a,b,c,d,e){for(var f=b,g=c,k=f>>>a.c;0<g&&k<a.h.length;){var l=a.h[k],n=k*a.b,p=a.b-(f-n);p>g&&(p=g);if(!e&&l&&l.size){if(l.type==d){if(f+g<=l.Ja)return l.lb+=l.Ja-f,l.Ja=f,!0;if(f>=l.Ja+l.lb){p=l.size-(f-n);p>g&&(p=g);l.lb=f-l.Ja+p;f=n+a.b;g-=p;k++;continue}}return Eb(1,f,g)}f=new I(a,f,p,a.b,d,e);xb(f,a.C,l);a.h[k++]=f;f=n+a.b;g-=p}if(0>=g){c/=1024;var t;e="";t?10<t&&(t=10):t=c&-65536?10:5;if(null==c||isNaN(c))for(;0<t--;)e="?"+e;else for(;0<t--;)e=String.fromCharCode(c%10+48)+e,c/=
|
||||||
10;a.status(e+"Kb "+zb[d]+" at "+ka(b));return!0}return yb(2,b,c)}function vb(a,b,c){var d=[];for(b>>>=a.c;0<c&&b<a.h.length;)d.push(a.h[b++]),c-=a.b;return d}function ub(a,b,c,d){var e=0;for(b>>>=a.c;0<c&&b<a.h.length;){var f=d[e++];if(!f)break;a.h[b++]=f;c-=a.b}}function Ab(a,b){3932160<=b&&(b=Bb(a.a,b));return a.h[(b&a.Aa)>>>a.c].xb(b&a.l,b)}function Cb(a,b){3932160<=b&&(b=Bb(a.a,b));return a.h[(b&a.Aa)>>>a.c].W(b&a.l,b)}
|
10;a.status(e+"Kb "+Fb[d]+" at "+ka(b));return!0}return Eb(2,b,c)}function Bb(a,b,c){var d=[];for(b>>>=a.c;0<c&&b<a.h.length;)d.push(a.h[b++]),c-=a.b;return d}function Ab(a,b,c,d){var e=0;for(b>>>=a.c;0<c&&b<a.h.length;){var f=d[e++];if(!f)break;a.h[b++]=f;c-=a.b}}function Gb(a,b){3932160<=b&&(b=Hb(a.a,b));return a.h[(b&a.Aa)>>>a.c].wb(b&a.j,b)}function Ib(a,b){3932160<=b&&(b=Hb(a.a,b));return a.h[(b&a.Aa)>>>a.c].W(b&a.j,b)}
|
||||||
h.sb=function(a){var b=a&this.l,c=(a&this.Aa)>>>this.c;this.i=!1;this.f++;a=this.h[c].Tb(b,a);this.f--;return a};h.Ya=function(a,b){this.i=!1;this.f++;this.h[(a&this.Aa)>>>this.c].Fb(a&this.l,b&255,a);this.f--};function Db(a,b,c){3932160<=b&&(b=Bb(a.a,b));a.h[(b&a.Aa)>>>a.c].nb(b&a.l,c&65535,b)}h.Bb=function(a,b){var c=a&this.l,d=(a&this.Aa)>>>this.c;this.i=!1;this.f++;this.h[d].$b(c,b&65535,a);this.f--};
|
h.tb=function(a){var b=a&this.j,c=(a&this.Aa)>>>this.c;this.i=!1;this.f++;a=this.h[c].Sb(b,a);this.f--;return a};h.Xa=function(a,b){this.i=!1;this.f++;this.h[(a&this.Aa)>>>this.c].Eb(a&this.j,b&255,a);this.f--};function Jb(a,b,c){3932160<=b&&(b=Hb(a.a,b));a.h[(b&a.Aa)>>>a.c].mb(b&a.j,c&65535,b)}h.Ab=function(a,b){var c=a&this.j,d=(a&this.Aa)>>>this.c;this.i=!1;this.f++;this.h[d].Zb(c,b&65535,a);this.f--};
|
||||||
function Eb(a){for(var b=0,c=[],d=0;d<a.v;d++){var e=a.h[d];if(e.ta||e.gc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Fb(a,b,c,d,e,f,g,k){for(;b<=c;b+=2){var l=b&sb;void 0!==a.xa[l]?u("I/O address already registered: "+m(b,8,!0)):a.xa[l]=[d,e,f,g,k||"unknown",!1]}}
|
function Kb(a){for(var b=0,c=[],d=0;d<a.v;d++){var e=a.h[d];if(e.ta||e.fc){c[b++]=d;var f=b++;if(e=e.save()){for(var g=0,k=0,l=[];g<e.length;){for(var n=e[g],p=g+1;p<e.length&&e[p]===n;)p++;l[k++]=p-g;l[k++]=n;g=p}l.length<e.length&&(e=l)}c[f]=e}}return c}function Lb(a,b,c,d,e,f,g,k,l){for(;b<=c;b+=2){var n=b&yb;void 0!==a.xa[n]?u("I/O address already registered: "+m(b,8,!0)):a.xa[n]=[d,e,f,g,k||"unknown",l,!1]}}
|
||||||
function $a(a,b,c){for(var d in c){var e=+d,f=c[d];if(!(f[6]&&f[6]>a.a.bb)){var g=f[0]?f[0].bind(b):null,k=f[1]?f[1].bind(b):null,l=f[2]?f[2].bind(b):null,n=f[3]?f[3].bind(b):null,p=f[5]||1;65472<=e&&65487>=e&&(!g&&l&&(g=function(a){return function(b){return a(b)&255}.bind(b)}(l)),!k&&n&&(k=function(a){return function(b,c){return a(b,c)}.bind(b)}(n)));for(var t=f[4],w=0;w<p;w++,e+=2)t&&1<p&&(t=f[4]+w),Fb(a,e,e,g,k,l,n,t)}}}function bb(a,b){a.s.push(b)}
|
function ab(a,b,c,d){for(var e in c){var f=+e,g=c[e];if(!(g[6]&&g[6]>a.a.Za)){var k=g[0]?g[0].bind(b):null,l=g[1]?g[1].bind(b):null,n=g[2]?g[2].bind(b):null,p=g[3]?g[3].bind(b):null,t=g[5]||1;65472<=f&&65487>=f&&(!k&&n&&(k=function(a){return function(b){return a(b)&255}.bind(b)}(n)),!l&&p&&(l=function(a){return function(b,c){return a(b,c)}.bind(b)}(p)));for(var w=g[4],E=0;E<t;E++,f+=2)w&&1<t&&(w=g[4]+E),Lb(a,f,f,k,l,n,p,w,d||64)}}}function cb(a,b){a.s.push(b)}
|
||||||
function I(a,b,c){a.i=!0;a.f||(c&&(a.a.M|=c),J(a.a,4,b))}function Gb(a){var b=a.i;a.i=!1;return b}function yb(a,b,c){u("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}function K(a){x.call(this,"Device",a,K);this.b={L:0,Db:-1}}z(K);h=K.prototype;h.ia=function(a,b,c,d){this.h=b;this.a=c;this.C=d;var e=this;this.b.Db=Hb(c,function(){e.b.za|=128;e.b.za&64&&(Ib(e.a,e.b.md),Jb(e.a,e.b.Db,1E3/60))});this.b.md=Kb(64,6);$a(b,this,L);bb(b,this.reset.bind(this));E(this)};
|
function J(a,b,c){a.i=!0;a.f||(c&&(a.a.M|=c),K(a.a,4,b))}function Mb(a){var b=a.i;a.i=!1;return b}function Eb(a,b,c){u("Memory block error ("+a+": "+m(b)+","+m(c)+")");return!1}function L(a){x.call(this,"Device",a,L);this.b={L:0,Cb:-1}}z(L);h=L.prototype;h.ha=function(a,b,c,d){this.h=b;this.a=c;this.C=d;var e=this;this.b.Cb=Nb(c,function(){e.b.za|=128;e.b.za&64&&(Ob(e.a,e.b.ld),Pb(e.a,e.b.Cb,1E3/60))});this.b.ld=Qb(64,6);ab(b,this,M);cb(b,this.reset.bind(this));F(this)};
|
||||||
h.reset=function(){this.b.za=0};h.Cc=function(){var a=this.b.za;this.b.za&=-129;return a};h.wd=function(a){this.b.za=a;a&64&&Jb(this.a,this.b.Db,1E3/60);this.b.za=a&-129};h.Ec=function(){var a=this.a;return a.w&62337|a.$a<<5|a.ab<<1};h.yd=function(a){var b=this.a;a&=62337;if(b.w!=a){b.w=a;b.$a=a>>5&3;b.ab=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.wa!=c&&(b.wa=c,Lb(b));b.G&&b.G.aa()}};h.Fc=function(){var a=this.a.Ba;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Gc=function(){return this.a.zb};h.Hc=function(){return this.a.Na};
|
h.reset=function(){this.b.za=0};h.Bc=function(){var a=this.b.za;this.b.za&=-129;return a};h.vd=function(a){this.b.za=a;a&64&&Pb(this.a,this.b.Cb,1E3/60);this.b.za=a&-129};h.Dc=function(){var a=this.a;return a.w&62337|a.$a<<5|a.ab<<1};h.xd=function(a){var b=this.a;a&=62337;if(b.w!=a){b.w=a;b.$a=a>>5&3;b.ab=a>>1&15;var c=0;a&257&&(c=4,a&1&&(c|=2));b.Fa!=c&&(b.Fa=c,Sb(b))}};h.Ec=function(){var a=this.a.Ba;a&65280&&(a=(a<<8|a>>8)&65535);return a};h.Fc=function(){return this.a.yb};h.Gc=function(){return this.a.Ga};
|
||||||
h.zd=function(a){var b=this.a;1170>b.bb&&(a&=-49);b.Na!=a&&(b.Na=a,b.Nb=a&16?4194303:262143,Lb(b),b.G&&b.G.aa())};h.gd=function(a){a=a>>1&63;var b=this.a.Za[a>>1];return a&1?b>>16:b&65535};h.Zd=function(a,b){b=b>>1&63;var c=b>>1;this.a.Za[c]=b&1?this.a.Za[c]&65535|(a&63)<<16:this.a.Za[c]&-65536|a&65534};h.$c=function(a){return this.a.H[1][a>>1&7]};h.Sd=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.Yc=function(a){return this.a.H[1][(a>>1&7)+8]};h.Qd=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295};
|
h.yd=function(a){var b=this.a;1170>b.Za&&(a&=-49);b.Ga!=a&&(b.Ga=a,b.Mb=a&16?4194303:262143,Sb(b))};h.fd=function(a){a=a>>1&63;var b=this.a.Ya[a>>1];return a&1?b>>16:b&65535};h.Yd=function(a,b){b=b>>1&63;var c=b>>1;this.a.Ya[c]=b&1?this.a.Ya[c]&65535|(a&63)<<16:this.a.Ya[c]&-65536|a&65534};h.Zc=function(a){return this.a.H[1][a>>1&7]};h.Rd=function(a,b){this.a.H[1][b>>1&7]=a&65295};h.Xc=function(a){return this.a.H[1][(a>>1&7)+8]};h.Pd=function(a,b){this.a.H[1][(b>>1&7)+8]=a&65295};
|
||||||
h.Zc=function(a){return this.a.Y[1][a>>1&7]};h.Rd=function(a,b){b=b>>1&7;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Xc=function(a){return this.a.Y[1][(a>>1&7)+8]};h.Pd=function(a,b){b=(b>>1&7)+8;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Bc=function(a){return this.a.H[0][a>>1&7]};h.vd=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.zc=function(a){return this.a.H[0][(a>>1&7)+8]};h.td=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295};h.Ac=function(a){return this.a.Y[0][a>>1&7]};
|
h.Yc=function(a){return this.a.Y[1][a>>1&7]};h.Qd=function(a,b){b=b>>1&7;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Wc=function(a){return this.a.Y[1][(a>>1&7)+8]};h.Od=function(a,b){b=(b>>1&7)+8;this.a.Y[1][b]=a;this.a.H[1][b]&=65295};h.Ac=function(a){return this.a.H[0][a>>1&7]};h.ud=function(a,b){this.a.H[0][b>>1&7]=a&65295};h.yc=function(a){return this.a.H[0][(a>>1&7)+8]};h.sd=function(a,b){this.a.H[0][(b>>1&7)+8]=a&65295};h.zc=function(a){return this.a.Y[0][a>>1&7]};
|
||||||
h.ud=function(a,b){b=b>>1&7;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.yc=function(a){return this.a.Y[0][(a>>1&7)+8]};h.sd=function(a,b){b=(b>>1&7)+8;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.fd=function(a){return this.a.H[3][a>>1&7]};h.Yd=function(a,b){this.a.H[3][b>>1&7]=a&65295};h.dd=function(a){return this.a.H[3][(a>>1&7)+8]};h.Wd=function(a,b){this.a.H[3][(b>>1&7)+8]=a&65295};h.ed=function(a){return this.a.Y[3][a>>1&7]};h.Xd=function(a,b){b=b>>1&7;this.a.Y[3][b]=a;this.a.H[3][b]&=65295};
|
h.td=function(a,b){b=b>>1&7;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.xc=function(a){return this.a.Y[0][(a>>1&7)+8]};h.rd=function(a,b){b=(b>>1&7)+8;this.a.Y[0][b]=a;this.a.H[0][b]&=65295};h.ed=function(a){return this.a.H[3][a>>1&7]};h.Xd=function(a,b){this.a.H[3][b>>1&7]=a&65295};h.cd=function(a){return this.a.H[3][(a>>1&7)+8]};h.Vd=function(a,b){this.a.H[3][(b>>1&7)+8]=a&65295};h.dd=function(a){return this.a.Y[3][a>>1&7]};h.Wd=function(a,b){b=b>>1&7;this.a.Y[3][b]=a;this.a.H[3][b]&=65295};
|
||||||
h.cd=function(a){return this.a.Y[3][(a>>1&7)+8]};h.Vd=function(a,b){b=(b>>1&7)+8;this.a.Y[3][b]=a;this.a.H[3][b]&=65295};h.La=function(a){a&=7;return this.a.B&2048?this.a.Fa[a]:this.a.g[a]};h.Oa=function(a,b){b&=7;this.a.B&2048?this.a.Fa[b]=a:this.a.g[b]=a};h.Mc=function(){return this.a.B&49152?this.a.na[0]:this.a.g[6]};h.Ed=function(a){this.a.B&49152?this.a.na[0]=a:this.a.g[6]=a};h.Pc=function(){return this.a.g[7]};h.Hd=function(a){this.a.g[7]=a};
|
h.bd=function(a){return this.a.Y[3][(a>>1&7)+8]};h.Ud=function(a,b){b=(b>>1&7)+8;this.a.Y[3][b]=a;this.a.H[3][b]&=65295};h.La=function(a){a&=7;return this.a.B&2048?this.a.Ha[a]:this.a.g[a]};h.Na=function(a,b){b&=7;this.a.B&2048?this.a.Ha[b]=a:this.a.g[b]=a};h.Lc=function(){return this.a.B&49152?this.a.ma[0]:this.a.g[6]};h.Dd=function(a){this.a.B&49152?this.a.ma[0]=a:this.a.g[6]=a};h.Oc=function(){return this.a.g[7]};h.Gd=function(a){this.a.g[7]=a};
|
||||||
h.Ma=function(a){a&=7;return this.a.B&2048?this.a.g[a]:this.a.Fa[a]};h.Pa=function(a,b){b&=7;this.a.B&2048?this.a.g[b]=a:this.a.Fa[b]=a};h.Nc=function(){return 1==(this.a.B&49152)>>14?this.a.g[6]:this.a.na[1]};h.Fd=function(a){1==(this.a.B&49152)>>14?this.a.g[6]=a:this.a.na[1]=a};h.Oc=function(){return 3==(this.a.B&49152)>>14?this.a.g[6]:this.a.na[3]};h.Gd=function(a){3==(this.a.B&49152)>>14?this.a.g[6]=a:this.a.na[3]=a};h.wc=function(a){return this.a.Wb[a-65504>>1]};
|
h.Ma=function(a){a&=7;return this.a.B&2048?this.a.g[a]:this.a.Ha[a]};h.Oa=function(a,b){b&=7;this.a.B&2048?this.a.g[b]=a:this.a.Ha[b]=a};h.Mc=function(){return 1==(this.a.B&49152)>>14?this.a.g[6]:this.a.ma[1]};h.Ed=function(a){1==(this.a.B&49152)>>14?this.a.g[6]=a:this.a.ma[1]=a};h.Nc=function(){return 3==(this.a.B&49152)>>14?this.a.g[6]:this.a.ma[3]};h.Fd=function(a){3==(this.a.B&49152)>>14?this.a.g[6]=a:this.a.ma[3]=a};h.vc=function(a){return this.a.Vb[a-65504>>1]};
|
||||||
h.qd=function(a,b){this.a.Wb[b-65504>>1]=a};h.Sb=function(a){return 65520==a?61183:0};h.Zb=function(){};h.bd=function(){return 1};h.Ud=function(){};h.vc=function(){return this.a.M};h.pd=function(){this.a.M=0};h.Dc=function(){return this.a.Vb};h.xd=function(a,b){b&1||(a&=255);this.a.Vb=a};h.Ic=function(a){return a?this.a.Ab:0};h.Ad=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.Ab=a;b.u|=2};h.ad=function(a){return a?this.a.Ca&65280:0};h.Td=function(a){this.a.Ca=a|255};
|
h.pd=function(a,b){this.a.Vb[b-65504>>1]=a};h.Rb=function(a){return 65520==a?61183:0};h.Yb=function(){};h.ad=function(){return 1};h.Td=function(){};h.uc=function(){return this.a.M};h.od=function(){this.a.M=0};h.Cc=function(){return this.a.Ub};h.wd=function(a,b){b&1||(a&=255);this.a.Ub=a};h.Hc=function(a){return a?this.a.zb:0};h.zd=function(a){var b=this.a;if(a&=65024){var c=a>>9;do a+=34;while(c>>=1)}b.zb=a;b.u|=2};h.$c=function(a){return a?this.a.Ca&65280:0};h.Sd=function(a){this.a.Ca=a|255};
|
||||||
h.Lc=function(){return kb(this.a)};h.Dd=function(a){Mb(this.a,a&-1809|kb(this.a)&1808);this.a.u|=128};h.Yb=function(){};
|
h.Kc=function(){return qb(this.a)};h.Cd=function(a){Tb(this.a,a&-1809|qb(this.a)&1808);this.a.u|=128};h.Xb=function(){};
|
||||||
var M={},L=(M[61568]=[null,null,K.prototype.gd,K.prototype.Zd,"UNIMAP",64,1170],M[62592]=[null,null,K.prototype.$c,K.prototype.Sd,"SISDR",8,1145],M[62608]=[null,null,K.prototype.Yc,K.prototype.Qd,"SDSDR",8,1145],M[62624]=[null,null,K.prototype.Zc,K.prototype.Rd,"SISAR",8,1145],M[62640]=[null,null,K.prototype.Xc,K.prototype.Pd,"SDSAR",8,1145],M[62656]=[null,null,K.prototype.Bc,K.prototype.vd,"KISDR",8,1145],M[62672]=[null,null,K.prototype.zc,K.prototype.td,"KDSDR",8,1145],M[62688]=[null,null,K.prototype.Ac,
|
var N={},M=(N[61568]=[null,null,L.prototype.fd,L.prototype.Yd,"UNIMAP",64,1170],N[62592]=[null,null,L.prototype.Zc,L.prototype.Rd,"SISDR",8,1145],N[62608]=[null,null,L.prototype.Xc,L.prototype.Pd,"SDSDR",8,1145],N[62624]=[null,null,L.prototype.Yc,L.prototype.Qd,"SISAR",8,1145],N[62640]=[null,null,L.prototype.Wc,L.prototype.Od,"SDSAR",8,1145],N[62656]=[null,null,L.prototype.Ac,L.prototype.ud,"KISDR",8,1145],N[62672]=[null,null,L.prototype.yc,L.prototype.sd,"KDSDR",8,1145],N[62688]=[null,null,L.prototype.zc,
|
||||||
K.prototype.ud,"KISAR",8,1145],M[62704]=[null,null,K.prototype.yc,K.prototype.sd,"KDSAR",8,1145],M[62798]=[null,null,K.prototype.Hc,K.prototype.zd,"MMR3",1,1145],M[65382]=[null,null,K.prototype.Cc,K.prototype.wd,"LKS"],M[65402]=[null,null,K.prototype.Ec,K.prototype.yd,"MMR0",1,1145],M[65404]=[null,null,K.prototype.Fc,K.prototype.Yb,"MMR1",1,1145],M[65406]=[null,null,K.prototype.Gc,K.prototype.Yb,"MMR2",1,1145],M[65408]=[null,null,K.prototype.fd,K.prototype.Yd,"UISDR",8,1145],M[65424]=[null,null,K.prototype.dd,
|
L.prototype.td,"KISAR",8,1145],N[62704]=[null,null,L.prototype.xc,L.prototype.rd,"KDSAR",8,1145],N[62798]=[null,null,L.prototype.Gc,L.prototype.yd,"MMR3",1,1145],N[65382]=[null,null,L.prototype.Bc,L.prototype.vd,"LKS"],N[65402]=[null,null,L.prototype.Dc,L.prototype.xd,"MMR0",1,1145],N[65404]=[null,null,L.prototype.Ec,L.prototype.Xb,"MMR1",1,1145],N[65406]=[null,null,L.prototype.Fc,L.prototype.Xb,"MMR2",1,1145],N[65408]=[null,null,L.prototype.ed,L.prototype.Xd,"UISDR",8,1145],N[65424]=[null,null,L.prototype.cd,
|
||||||
K.prototype.Wd,"UDSDR",8,1145],M[65440]=[null,null,K.prototype.ed,K.prototype.Xd,"UISAR",8,1145],M[65456]=[null,null,K.prototype.cd,K.prototype.Vd,"UDSAR",8,1145],M[65472]=[null,null,K.prototype.La,K.prototype.Oa,"R0SET0"],M[65473]=[null,null,K.prototype.La,K.prototype.Oa,"R1SET0"],M[65474]=[null,null,K.prototype.La,K.prototype.Oa,"R2SET0"],M[65475]=[null,null,K.prototype.La,K.prototype.Oa,"R3SET0"],M[65476]=[null,null,K.prototype.La,K.prototype.Oa,"R4SET0"],M[65477]=[null,null,K.prototype.La,K.prototype.Oa,
|
L.prototype.Vd,"UDSDR",8,1145],N[65440]=[null,null,L.prototype.dd,L.prototype.Wd,"UISAR",8,1145],N[65456]=[null,null,L.prototype.bd,L.prototype.Ud,"UDSAR",8,1145],N[65472]=[null,null,L.prototype.La,L.prototype.Na,"R0SET0"],N[65473]=[null,null,L.prototype.La,L.prototype.Na,"R1SET0"],N[65474]=[null,null,L.prototype.La,L.prototype.Na,"R2SET0"],N[65475]=[null,null,L.prototype.La,L.prototype.Na,"R3SET0"],N[65476]=[null,null,L.prototype.La,L.prototype.Na,"R4SET0"],N[65477]=[null,null,L.prototype.La,L.prototype.Na,
|
||||||
"R5SET0"],M[65478]=[null,null,K.prototype.Mc,K.prototype.Ed,"R6KERNEL"],M[65479]=[null,null,K.prototype.Pc,K.prototype.Hd,"R7KERNEL"],M[65480]=[null,null,K.prototype.Ma,K.prototype.Pa,"R0SET1",1,1145],M[65481]=[null,null,K.prototype.Ma,K.prototype.Pa,"R1SET1",1,1145],M[65482]=[null,null,K.prototype.Ma,K.prototype.Pa,"R2SET1",1,1145],M[65483]=[null,null,K.prototype.Ma,K.prototype.Pa,"R3SET1",1,1145],M[65484]=[null,null,K.prototype.Ma,K.prototype.Pa,"R4SET1",1,1145],M[65485]=[null,null,K.prototype.Ma,
|
"R5SET0"],N[65478]=[null,null,L.prototype.Lc,L.prototype.Dd,"R6KERNEL"],N[65479]=[null,null,L.prototype.Oc,L.prototype.Gd,"R7KERNEL"],N[65480]=[null,null,L.prototype.Ma,L.prototype.Oa,"R0SET1",1,1145],N[65481]=[null,null,L.prototype.Ma,L.prototype.Oa,"R1SET1",1,1145],N[65482]=[null,null,L.prototype.Ma,L.prototype.Oa,"R2SET1",1,1145],N[65483]=[null,null,L.prototype.Ma,L.prototype.Oa,"R3SET1",1,1145],N[65484]=[null,null,L.prototype.Ma,L.prototype.Oa,"R4SET1",1,1145],N[65485]=[null,null,L.prototype.Ma,
|
||||||
K.prototype.Pa,"R5SET1",1,1145],M[65486]=[null,null,K.prototype.Nc,K.prototype.Fd,"R6SUPER",1,1145],M[65487]=[null,null,K.prototype.Oc,K.prototype.Gd,"R6USER",1,1145],M[65504]=[null,null,K.prototype.wc,K.prototype.qd,"CTRL",1,1170],M[65520]=[null,null,K.prototype.Sb,K.prototype.Zb,"LSIZE",1,1170],M[65522]=[null,null,K.prototype.Sb,K.prototype.Zb,"HSIZE",1,1170],M[65524]=[null,null,K.prototype.bd,K.prototype.Ud,"SYSID",1,1170],M[65526]=[null,null,K.prototype.vc,K.prototype.pd,"CPUERR",1,1170],M[65528]=
|
L.prototype.Oa,"R5SET1",1,1145],N[65486]=[null,null,L.prototype.Mc,L.prototype.Ed,"R6SUPER",1,1145],N[65487]=[null,null,L.prototype.Nc,L.prototype.Fd,"R6USER",1,1145],N[65504]=[null,null,L.prototype.vc,L.prototype.pd,"CTRL",1,1170],N[65520]=[null,null,L.prototype.Rb,L.prototype.Yb,"LSIZE",1,1170],N[65522]=[null,null,L.prototype.Rb,L.prototype.Yb,"HSIZE",1,1170],N[65524]=[null,null,L.prototype.ad,L.prototype.Td,"SYSID",1,1170],N[65526]=[null,null,L.prototype.uc,L.prototype.od,"CPUERR",1,1170],N[65528]=
|
||||||
[null,null,K.prototype.Dc,K.prototype.xd,"MB",1,1170],M[65530]=[null,null,K.prototype.Ic,K.prototype.Ad,"PIR"],M[65532]=[null,null,K.prototype.ad,K.prototype.Td,"SL"],M[65534]=[null,null,K.prototype.Lc,K.prototype.Dd,"PSW"],M);L[65506]=L[65504];L[65508]=L[65504];L[65510]=L[65504];L[65512]=L[65504];L[65514]=L[65504];L[65516]=L[65504];L[65518]=L[65504];
|
[null,null,L.prototype.Cc,L.prototype.wd,"MB",1,1170],N[65530]=[null,null,L.prototype.Hc,L.prototype.zd,"PIR"],N[65532]=[null,null,L.prototype.$c,L.prototype.Sd,"SL"],N[65534]=[null,null,L.prototype.Kc,L.prototype.Cd,"PSW"],N);M[65506]=M[65504];M[65508]=M[65504];M[65510]=M[65504];M[65512]=M[65504];M[65514]=M[65504];M[65516]=M[65504];M[65518]=M[65504];
|
||||||
Ha(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=B(d);switch(c.type){case "default":c=new K(c);C(c,d);break;case "pc11":c=new Nb(c);C(c,d);break;case "rl11":c=new N(c),C(c,d)}}});var Ob;if(Xa){var Pb=new ArrayBuffer(2);(new DataView(Pb)).setUint16(0,256,!0);Ob=256===(new Uint16Array(Pb))[0]}else Ob=!1;var Qb=Ob;
|
Ha(function(){for(var a=D(document,"pdp11","device"),b=0;b<a.length;b++){var c,d=a[b];c=B(d);switch(c.type){case "default":c=new L(c);C(c,d);break;case "pc11":c=new Ub(c);C(c,d);break;case "rl11":c=new O(c),C(c,d)}}});var Vb;if(Ya){var Wb=new ArrayBuffer(2);(new DataView(Wb)).setUint16(0,256,!0);Vb=256===(new Uint16Array(Wb))[0]}else Vb=!1;var Xb=Vb;
|
||||||
function H(a,b,c,d,e,f){this.h=a;this.id=Rb+=2;this.a=null;this.Ja=b;this.mb=c;this.size=d||0;this.type=e||Sb;this.l=e==Tb;this.controller=null;rb(this);this.ta=this.gc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.a=a[0],Ub(this,f.bc);else if(Xa)this.b=new ArrayBuffer(this.size),this.c=new DataView(this.b,0,this.size),this.o=new Uint8Array(this.b,0,this.size),this.s=new Uint16Array(this.b,0,this.size>>1),this.a=new Int32Array(this.b,0,this.size>>2),Ub(this,Qb?Vb:Wb);else{a=this.a=Array(this.size>>
|
function I(a,b,c,d,e,f){this.h=a;this.id=Yb+=2;this.a=null;this.Ja=b;this.lb=c;this.size=d||0;this.type=e||Zb;this.j=e==$b;this.controller=null;xb(this);this.ta=this.fc=!1;if(this.size)if(f)this.controller=f,a=[null,0],this.a=a[0],ac(this,f.ac);else if(Ya)this.b=new ArrayBuffer(this.size),this.c=new DataView(this.b,0,this.size),this.o=new Uint8Array(this.b,0,this.size),this.s=new Uint16Array(this.b,0,this.size>>1),this.a=new Int32Array(this.b,0,this.size>>2),ac(this,Xb?bc:cc);else{a=this.a=Array(this.size>>
|
||||||
2);for(f=0;f<a.length;f++)a[f]=0;Ub(this,Xb)}else Ub(this)}var Sb=0,Tb=2,xb=4,zb=["NONE","RAM","ROM","VID","H/W"],Rb=0;
|
2);for(f=0;f<a.length;f++)a[f]=0;ac(this,dc)}else ac(this)}var Zb=0,$b=2,Db=4,Fb=["NONE","RAM","ROM","VID","H/W"],Yb=0;
|
||||||
H.prototype={constructor:H,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Xa)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.c.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Xa)for(b=0;b<a.length;b++)this.c.setInt32(b<<2,a[b],!0);else this.a=a;return this.ta=!0}return!1},v:function(a,b){I(this.h,b,32);return 255},f:function(a,b,c){I(this.h,c,32)},w:function(a,b){return this.xb(a++,b++)|
|
I.prototype={constructor:I,parent:null,save:function(){var a,b;if(this.controller)a=null;else if(Ya)for(a=Array(this.size>>2),b=0;b<a.length;b++)a[b]=this.c.getInt32(b<<2,!0);else a=this.a;return a},restore:function(a){if(this.controller)return!a;if(a&&this.size==a.length<<2){var b;if(Ya)for(b=0;b<a.length;b++)this.c.setInt32(b<<2,a[b],!0);else this.a=a;return this.ta=!0}return!1},v:function(a,b){J(this.h,b,32);return 255},f:function(a,b,c){J(this.h,c,32)},w:function(a,b){return this.wb(a++,b++)|
|
||||||
this.xb(a,b)<<8},A:function(a,b,c){this.Eb(a++,b&255,c++);this.Eb(a,b>>8,c)},N:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},ca:function(a,b){a&1&&I(this.h,b,64);b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},qa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ta=!0},wa:function(a,b,c){a&1&&I(this.h,c,64);c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|
|
this.wb(a,b)<<8},A:function(a,b,c){this.Db(a++,b&255,c++);this.Db(a,b>>8,c)},N:function(a){return this.a[a>>2]>>>((a&3)<<3)&255},na:function(a,b){a&1&&J(this.h,b,64);b=a>>2;a=(a&3)<<3;var c=this.a[b]>>a;return 24>a?c&65535:c&255|(this.a[b+1]&255)<<8},qa:function(a,b){var c=a>>2;a=(a&3)<<3;this.a[c]=this.a[c]&~(255<<a)|b<<a;this.ta=!0},wa:function(a,b,c){a&1&&J(this.h,c,64);c=a>>2;a=(a&3)<<3;24>a?this.a[c]=this.a[c]&~(65535<<a)|b<<a:(this.a[c]=this.a[c]&16777215|b<<24,c++,this.a[c]=this.a[c]&-256|
|
||||||
b>>8);this.ta=!0},F:function(a,b){return this.I(a,b)},R:function(a,b){return this.Tb(a,b)},oa:function(a,b,c){this.l?this.f(a,b,c):this.Fb(a,b,c)},sa:function(a,b,c){this.l?this.f(a,b,c):this.$b(a,b,c)},G:function(a){return this.o[a]},J:function(a){return this.o[a]},O:function(a,b){a&1&&I(this.h,b,64);return this.c.getUint16(a,!0)},ba:function(a,b){a&1&&I(this.h,b,64);return this.s[a>>1]},la:function(a,b){this.o[a]=b;this.ta=!0},pa:function(a,b){this.o[a]=b;this.ta=!0},ra:function(a,b,c){a&1&&I(this.h,
|
b>>8);this.ta=!0},G:function(a,b){return this.I(a,b)},R:function(a,b){return this.Sb(a,b)},oa:function(a,b,c){this.j?this.f(a,b,c):this.Eb(a,b,c)},sa:function(a,b,c){this.j?this.f(a,b,c):this.Zb(a,b,c)},D:function(a){return this.o[a]},J:function(a){return this.o[a]},P:function(a,b){a&1&&J(this.h,b,64);return this.c.getUint16(a,!0)},aa:function(a,b){a&1&&J(this.h,b,64);return this.s[a>>1]},da:function(a,b){this.o[a]=b;this.ta=!0},pa:function(a,b){this.o[a]=b;this.ta=!0},ra:function(a,b,c){a&1&&J(this.h,
|
||||||
c,64);this.c.setUint16(a,b,!0);this.ta=!0},va:function(a,b,c){a&1&&I(this.h,c,64);this.s[a>>1]=b;this.ta=!0}};function rb(a,b,c){a.C=b;a.i=a.m=0;c&&((a.i=c.i)&&Yb(a,Zb,!1),(a.m=c.m)&&$b(a,Zb,!1))}function $b(a,b,c){c&&a.m||(a.Eb=!a.l&&b[1]||a.f,a.nb=!a.l&&b[3]||a.A);if(c||void 0===c)a.Fb=b[1]||a.f,a.$b=b[3]||a.A}function Yb(a,b,c){c&&a.i||(a.xb=b[0]||a.v,a.W=b[2]||a.w);if(c||void 0===c)a.I=b[0]||a.v,a.Tb=b[2]||a.w}function Ub(a,b){b||(b=ac);Yb(a,b,void 0);$b(a,b,void 0)}
|
c,64);this.c.setUint16(a,b,!0);this.ta=!0},va:function(a,b,c){a&1&&J(this.h,c,64);this.s[a>>1]=b;this.ta=!0}};function xb(a,b,c){a.C=b;a.i=a.m=0;c&&((a.i=c.i)&&ec(a,gc,!1),(a.m=c.m)&&hc(a,gc,!1))}function hc(a,b,c){c&&a.m||(a.Db=!a.j&&b[1]||a.f,a.mb=!a.j&&b[3]||a.A);if(c||void 0===c)a.Eb=b[1]||a.f,a.Zb=b[3]||a.A}function ec(a,b,c){c&&a.i||(a.wb=b[0]||a.v,a.W=b[2]||a.w);if(c||void 0===c)a.I=b[0]||a.v,a.Sb=b[2]||a.w}function ac(a,b){b||(b=ic);ec(a,b,void 0);hc(a,b,void 0)}
|
||||||
var ac=[],Xb=[H.prototype.N,H.prototype.qa,H.prototype.ca,H.prototype.wa],Zb=[H.prototype.F,H.prototype.oa,H.prototype.R,H.prototype.sa];if(Xa)var Wb=[H.prototype.G,H.prototype.la,H.prototype.O,H.prototype.ra],Vb=[H.prototype.J,H.prototype.pa,H.prototype.ba,H.prototype.va];
|
var ic=[],dc=[I.prototype.N,I.prototype.qa,I.prototype.na,I.prototype.wa],gc=[I.prototype.G,I.prototype.oa,I.prototype.R,I.prototype.sa];if(Ya)var cc=[I.prototype.D,I.prototype.da,I.prototype.P,I.prototype.ra],bc=[I.prototype.J,I.prototype.pa,I.prototype.aa,I.prototype.va];
|
||||||
function bc(a,b){x.call(this,"CPU",a,bc);var c=a.multiplier||1;this.ib=a.cycles||b;this.ra=c;this.vb=Math.round(this.ib/1E4)/100;this.va=this.vb*this.ra;this.j.U=!1;this.j.Cb=!1;this.j.Va=a.autoStart;this.j.eb=!1;this.fb=this.Ha=0;this.gb=a.csStart;this.Ra=a.csInterval;this.Sa=a.csStop;this.J=[];this.Rb=this.ld.bind(this);E(this)}z(bc);var ec=["power","reset"];h=bc.prototype;
|
function jc(a,b){x.call(this,"CPU",a,jc);var c=a.multiplier||1;this.gb=a.cycles||b;this.qa=c;this.sb=Math.round(this.gb/1E4)/100;this.va=this.sb*this.qa;this.l.U=!1;this.l.Bb=!1;this.l.Ua=a.autoStart;this.l.fb=!1;this.cb=this.wa=0;this.eb=a.csStart;this.Qa=a.csInterval;this.Ra=a.csStop;this.I=[];this.Qb=this.kd.bind(this);F(this)}z(jc);var kc=["power","reset"];h=jc.prototype;
|
||||||
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.C=d;this.G=a.G;for(b=0;b<ec.length;b++)(c=this.o[ec[b]])&&this.l.$(null,ec[b],c);a=fc(a,"autoStart");null!=a&&(this.j.Va="true"==a?!0:"false"==a?!1:!!a);E(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};h.ka=function(a,b){if(!b){if(a&&this.restore){gc(this);if(!this.restore(a))return!1;hc(this)}else this.reset();this.T("No debugger detected")}this.l.aa();return!0};h.ja=function(a){return a?this.save():!0};
|
h.ha=function(a,b,c,d){this.j=a;this.h=b;this.C=d;for(b=0;b<kc.length;b++)(c=this.o[kc[b]])&&this.j.$(null,kc[b],c);a=lc(a,"autoStart");null!=a&&(this.l.Ua="true"==a?!0:"false"==a?!1:!!a);F(this)};h.reset=function(){};h.save=function(){return null};h.restore=function(){return!1};h.ja=function(a,b){if(!b){if(a&&this.restore){mc(this);if(!this.restore(a))return!1;nc(this)}else this.reset();this.T("No debugger detected")}this.j.ka();return!0};h.ia=function(a){return a?this.save():!0};
|
||||||
h.Va=function(){return this.j.Va||void 0===this.o.run?(hb(this),!0):!1};h.Jb=function(){return 0};function hc(a){void 0===a.gb&&(a.gb=0);void 0===a.Ra&&(a.Ra=-1);void 0===a.Sa&&(a.Sa=-1);a.j.eb=0<=a.gb&&0<a.Ra;a.j.eb&&(a.fb=0,a.Ha=a.gb-a.O)}
|
h.Ua=function(){return this.l.Ua||void 0===this.o.run?(ib(this),!0):!1};h.Ib=function(){return 0};function nc(a){void 0===a.eb&&(a.eb=0);void 0===a.Qa&&(a.Qa=-1);void 0===a.Ra&&(a.Ra=-1);a.l.fb=0<=a.eb&&0<a.Qa;a.l.fb&&(a.cb=0,a.wa=a.eb-a.sa)}function lb(a,b){if(a.l.fb){var c=!1;a.cb=a.cb+a.Ib()|0;a.wa-=b;0>=a.wa&&(a.wa+=a.Qa,c=!0);0<=a.Ra&&a.Ra<=oc(a)&&(a.Qa=a.Ra=-1,nc(a),G(a),c=!0);c&&a.T(oc(a)+" cycles: checksum="+m(a.cb))}}
|
||||||
h.$=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.l)if(a=d.l,a.j.P)a=!0;else{var b=null,c,k=A(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.j.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.j.P);c++);c==k.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.j.ready?"powered yet":"ready yet"+(b.jb?" (waiting for notification)":""))+".");a=!1}a&&(d.j.U?F(d):hb(d))},!0;case "speed":return this.o[b]=
|
h.$=function(a,b,c){var d=this;switch(b){case "power":case "reset":return this.o[b]=c,!0;case "run":return this.o[b]=c,c.onclick=function(){var a;if(a=d.j)if(a=d.j,a.l.O)a=!0;else{var b=null,c,k=A(a.id);for(c=0;c<k.length&&(b=k[c],b===a||b.l.ready);c++);if(c==k.length)for(c=0;c<k.length&&(b=k[c],b===a||b.l.O);c++);c==k.length&&(b=a);u("The "+b.type+" component ("+b.id+") is not "+(b.l.ready?"powered yet":"ready yet"+(b.jb?" (waiting for notification)":""))+".");a=!1}a&&(d.l.U?G(d):ib(d))},!0;case "speed":return this.o[b]=
|
||||||
c,!0;case "setSpeed":return this.o[b]=c,c.onclick=function(){ic(d,d.ra<<1,!0)},c.textContent=this.va.toFixed(2)+"Mhz",!0}return!1};h.aa=function(){var a=this.o.speed;a&&(a.textContent=this.j.U&&this.pa?this.pa.toFixed(2)+"Mhz":"Stopped")};function jc(a,b){var c=1;b&&1<a.ra&&a.pa&&(c=a.pa/a.vb);a.Pb=Math.round(1E3/30);a.kb=Math.floor(a.ib/30*c);b||(a.Ta=a.kb);a.wb=0}function kc(a){return a.O+a.la+a.Ga-a.a}function gc(a){a.pa=0;a.Qb=0;a.O=a.la=a.Ga=a.a=a.I=0;hc(a);ic(a,1)}
|
c,!0;case "setSpeed":return this.o[b]=c,c.onclick=function(){pc(d,d.qa<<1,!0)},c.textContent=this.va.toFixed(2)+"Mhz",!0}return!1};h.ka=function(){var a=this.o.speed;a&&(a.textContent=this.l.U&&this.da?this.da.toFixed(2)+"Mhz":"Stopped")};function kb(a,b,c){a.sa+=b;c&&(a.pa=a.a=a.G=0)}function qc(a,b){var c=1;b&&1<a.qa&&a.da&&(c=a.da/a.sb);a.Nb=Math.round(1E3/30);a.hb=Math.floor(a.gb/30*c);b||(a.Sa=a.hb);a.ub=0}function oc(a){return a.sa+a.aa+a.pa-a.a}
|
||||||
function ic(a,b,c){if(void 0!==b){.8>a.pa/a.va&&(b=1);a.ra=b;b=a.vb*a.ra;if(a.va!=b){a.va=b;b=a.va.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.T("target speed: "+b)}c&&a.l&&lc(a.l)}a.O+=a.la;a.la=0;a.ca=ra();a.qa=0;jc(a)}function Hb(a,b){var c=a.J.length;a.J.push([-1,b]);return c}function Jb(a,b,c){0<=b&&b<a.J.length&&0>a.J[b][0]&&(c=a.ib*a.ra/1E3*c|0,a.J[b][0]=c+mc(a))}function mc(a,b){var c=a.Ga-=a.a;a.a=a.I=0;b&&(a.Ga=0);return c}
|
function mc(a){a.da=0;a.Ob=0;a.sa=a.aa=a.pa=a.a=a.G=0;nc(a);pc(a,1)}function pc(a,b,c){if(void 0!==b){.8>a.da/a.va&&(b=1);a.qa=b;b=a.sb*a.qa;if(a.va!=b){a.va=b;b=a.va.toFixed(2)+"Mhz";var d=a.o.setSpeed;d&&(d.textContent=b);a.T("target speed: "+b)}c&&a.j&&rc(a.j)}kb(a,a.aa);a.aa=0;a.R=ra();a.oa=0;qc(a)}function Nb(a,b){var c=a.I.length;a.I.push([-1,b]);return c}function Pb(a,b,c){0<=b&&b<a.I.length&&0>a.I[b][0]&&(c=a.gb*a.qa/1E3*c|0,a.I[b][0]=c+sc(a))}
|
||||||
h.ld=function(){if(this.j.U){this.wb>=this.ib&&jc(this,!0);this.Ua=0;this.cb=ra();if(this.qa){var a=this.cb-this.qa;a>this.Pb&&(this.ca+=a,this.ca>this.cb&&(this.ca=this.cb))}try{do{for(var b,c=this.j.eb?1:this.kb,d=this.J.length-1;0<=d;d--){var e=this.J[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.lb(b)}catch(l){if("number"!=typeof l)throw l;}b=mc(this,!0);this.Ua+=b;this.la+=b;a=b;if(this.j.eb){var f=!1;this.fb=this.fb+this.Jb()|0;this.Ha-=a;0>=this.Ha&&(this.Ha+=this.Ra,f=!0);0<=this.Sa&&this.Sa<=
|
function jb(a,b){for(var c=a.I.length-1;0<=c;c--){var d=a.I[c];0>d[0]||(d[0]-=b,0>=d[0]&&(d[0]=-1,d[1]()))}}function sc(a,b){var c=a.pa-=a.a;a.a=a.G=0;b&&(a.pa=0);return c}
|
||||||
kc(this)&&(this.Ra=this.Sa=-1,hc(this),F(this),f=!0);f&&this.T(kc(this)+" cycles: checksum="+m(this.fb))}for(var a=b,g=this.J.length-1;0<=g;g--){var k=this.J[g];0>k[0]||(k[0]-=a,0>=k[0]&&(k[0]=-1,k[1]()))}this.Ta-=b;if(0>=this.Ta){this.Ta+=this.kb;15<=++this.Qb&&(this.l&&this.l.aa(),this.Qb=0);break}}while(this.j.U)}catch(l){F(this);this.l&&this.l.stop(ra(),kc(this));b=l.stack||l.message;this.j.error=!0;this.D(b);return}if(this.j.U){b=setTimeout;c=this.Rb;this.qa=ra();d=this.Pb;this.Ua&&(d=Math.round(d*
|
h.kd=function(){if(this.l.U){this.ub>=this.gb&&qc(this,!0);this.Ta=0;this.bb=ra();if(this.oa){var a=this.bb-this.oa;a>this.Nb&&(this.R+=a,this.R>this.bb&&(this.R=this.bb))}try{do{for(var b,c=this.l.fb?1:this.hb,d=this.I.length-1;0<=d;d--){var e=this.I[d];0>e[0]||c>e[0]&&(c=e[0])}b=c;try{this.kb(b)}catch(f){if("number"!=typeof f)throw f;}b=sc(this,!0);this.Ta+=b;this.aa+=b;lb(this,b);jb(this,b);this.Sa-=b;if(0>=this.Sa){this.Sa+=this.hb;15<=++this.Ob&&(this.j&&this.j.ka(),this.Ob=0);break}}while(this.l.U)}catch(f){G(this);
|
||||||
this.Ua/this.kb));d-=this.qa-this.cb;if(e=this.qa-this.ca)this.pa=Math.round(this.la/(10*e))/100,864E5<=e&&(this.O=0,ic(this));if(0>d||this.pa<this.va)-1E3>d&&(this.ca-=d),d=0;this.wb+=this.Ua;this.qa+=d;b(c,d)}}};function hb(a){var b;a.j.error?(a.T(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.j.U)a.T(a.toString()+" busy");else{ic(a);a.j.U=!0;a.j.Cb=!0;if(b=a.o.run)b.textContent="Halt";a.l&&a.l.start(a.ca,kc(a));setTimeout(a.Rb,0)}}h.lb=function(){return 0};
|
this.j&&this.j.stop(ra(),oc(this));Xa(this,f.stack||f.message);return}if(this.l.U){a=setTimeout;b=this.Qb;this.oa=ra();c=this.Nb;this.Ta&&(c=Math.round(c*this.Ta/this.hb));c-=this.oa-this.bb;if(d=this.oa-this.R)this.da=Math.round(this.aa/(10*d))/100,864E5<=d&&(this.sa=0,pc(this));if(0>c||this.da<this.va)-1E3>c&&(this.R-=c),c=0;this.ub+=this.Ta;this.oa+=c;a(b,c)}}};
|
||||||
function F(a){var b=!1;if(a.j.U){mc(a);a.O+=a.la;a.la=0;a.j.U=!1;if(b=a.o.run)b.textContent="Run";a.l&&a.l.stop(ra(),kc(a));b=!0}a.j.complete=void 0;return b}function nc(a){this.bb=+a.model||1170;this.Lb=a.addrReset||0;bc.call(this,a,6666667);this.decode=1120==this.bb?oc.bind(this):pc.bind(this);qc(this);this.sa=0;this.R=null;this.j.complete=!1}z(nc,bc);h=nc.prototype;h.reset=function(){this.status("model "+this.bb);this.j.U&&F(this);qc(this);gc(this);this.j.error=!1;this.parent.reset.call(this)};
|
function ib(a){var b;a.l.error?(a.T(a.toString()+" error"),b=!0):b=!1;if(!b)if(a.l.U)a.T(a.toString()+" busy");else{pc(a);a.l.U=!0;a.l.Bb=!0;if(b=a.o.run)b.textContent="Halt";a.j&&a.j.start(a.R,oc(a));setTimeout(a.Qb,0)}}h.kb=function(){return 0};function G(a){var b=!1;if(a.l.U){sc(a);kb(a,a.aa);a.aa=0;a.l.U=!1;if(b=a.o.run)b.textContent="Run";a.j&&a.j.stop(ra(),oc(a));b=!0}a.l.complete=void 0;return b}
|
||||||
function qc(a){a.m=65536;a.f=32768;a.i=65535;a.s=32768;a.B=15;a.g=[0,0,0,0,0,0,0,a.Lb];a.Fa=[0,0,0,0,0,0];a.na=[0,0,0,0];a.v=0;a.ab=0;a.sc=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Y=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Za=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
function tc(a){this.Za=+a.model||1170;this.Jb=a.addrReset||0;jc.call(this,a,6666667);this.decode=1120==this.Za?uc.bind(this):vc.bind(this);wc(this);this.ra=0;this.N=null;this.l.complete=!1}z(tc,jc);h=tc.prototype;h.reset=function(){this.status("model "+this.Za);this.l.U&&G(this);wc(this);mc(this);this.l.error=!1;this.parent.reset.call(this)};
|
||||||
0,0,0,0,0,0,0,0,0];a.Wb=[0,0,0,0,0,0,0,0];a.Vb=0;a.u=0;a.A=a.F=0;a.c=a.b=a.tb=0;a.Ia=-1;gb(a)}function gb(a){a.Ca=255;a.M=0;a.Ab=0;a.w=0;a.Ba=0;a.zb=0;a.Na=0;a.wa=0;a.$a=0;a.Nb=262143;a.R=null;a.h&&Lb(a)}function Lb(a){a.wa?(a.ba=65536,a.N=a.ic,a.W=a.hd,a.nb=a.$d,tb(a.h,a.Na&16?22:18)):(a.ba=0,a.N=a.hc,a.W=a.Ub,a.nb=a.ac,tb(a.h,16))}function rc(a,b,c){a.Lb=b;O(a,b);!c&&a.C&&(F(a)||a.C.aa())}h.Jb=function(){return 0};
|
function wc(a){a.m=65536;a.f=32768;a.i=65535;a.s=32768;a.B=15;a.g=[0,0,0,0,0,0,0,a.Jb];a.Ha=[0,0,0,0,0,0];a.ma=[0,0,0,0];a.v=0;a.ab=0;a.ic=[4,2,0,1];a.H=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[65535,65535,65535,65535,65535,65535,65535,65535],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Y=[[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0],[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0]];a.Ya=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
|
||||||
h.save=function(){var a=new P(this);a.set(0,[]);a.set(1,[this.O,this.ra]);a.set(2,Eb(this.h));return a.data()};h.restore=function(a){var b=a[1];this.O=b[1];ic(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.G){for(var f=0,g=Array(b.G),k=0;k<e.length-1;)for(var l=e[k++],n=e[k++];l--;)g[f++]=n;e=g}f=b.h[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function Q(a){return a.m&65536?1:0}
|
0,0,0,0,0,0,0,0,0];a.Vb=[0,0,0,0,0,0,0,0];a.Ub=0;a.u=0;a.A=a.D=0;a.c=a.b=a.rb=0;a.Ia=-1;hb(a)}function hb(a){a.Ca=255;a.M=0;a.zb=0;a.w=0;a.Ba=0;a.yb=0;a.Ga=0;a.Fa=0;a.$a=0;a.Mb=262143;a.N=null;a.h&&Sb(a)}function Sb(a){a.Fa?(a.P=65536,a.J=a.hc,a.W=a.gd,a.mb=a.Zd,zb(a.h,a.Ga&16?22:18)):(a.P=0,a.J=a.gc,a.W=a.Tb,a.mb=a.$b,zb(a.h,16))}function xc(a,b,c){a.Jb=b;P(a,b);!c&&a.C&&(G(a)||a.C.ka())}h.Ib=function(){return 0};
|
||||||
h.ya=function(){return this.s&32768?8:0};function sc(a){var b=a.g[7];a.w&57344||(a.Ba=0,a.zb=b);a.g[7]=b+2&65535;return a.W(b)}function tc(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function O(a,b){a.g[7]=b&65535}function Kb(a,b){return{nd:a,Ka:b,next:null}}function Ib(a,b){if(b!=a.R){var c=a.R;if(!c||c.Ka<=b.Ka)b.next=c,a.R=b;else{do{var d=c.next;if(!d||d.Ka<=b.Ka){b.next=d;c.next=b;break}c=d}while(c)}}a.u|=2}function kb(a){return a.B=a.B&63728|a.ya()|(a.i&65535?0:4)|(a.f&32768?2:0)|Q(a)}
|
h.save=function(){var a=new Q(this);a.set(0,[]);a.set(1,[this.sa,this.qa]);a.set(2,Kb(this.h));return a.data()};h.restore=function(a){var b=a[1];this.sa=b[1];pc(this,b[3]);a:{b=this.h;a=a[2];var c;for(c=0;c<a.length-1;c+=2){var d=a[c],e=a[c+1];if(e&&e.length<b.D){for(var f=0,g=Array(b.D),k=0;k<e.length-1;)for(var l=e[k++],n=e[k++];l--;)g[f++]=n;e=g}f=b.h[d];if(!f||!f.restore(e)){u("Unable to restore memory block "+d);b=!1;break a}}b=!0}return b};function R(a){return a.m&65536?1:0}
|
||||||
function Mb(a,b){a.s=b<<12;a.i=~b&4;a.f=b<<14;a.m=b<<16;if((b^a.B)&2048)for(var c=a.Fa.length;0<=--c;){var d=a.g[c];a.g[c]=a.Fa[c];a.Fa[c]=d}a.v=b>>14&3;c=a.B>>14&3;a.v!=c&&(a.na[c]=a.g[6],a.g[6]=a.na[a.v]);a.B=b;a.u|=2}function R(a,b){a.u&128||(a.s=a.i=b,a.f=0)}function uc(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.f=c||0)}function vc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^b)&(d^b))}function wc(a,b){a.u&128||(a.s=a.i=a.m=b,a.f=a.s^a.m>>1)}function xc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^d)&(d^b))}
|
h.ya=function(){return this.s&32768?8:0};function yc(a){var b=a.g[7];a.w&57344||(a.Ba=0,a.yb=b);a.g[7]=b+2&65535;return a.W(b)}function zc(a,b){var c=a.g[7];a.g[7]=c+b&65535;return c}function P(a,b){a.g[7]=b&65535}function Qb(a,b){return{md:a,Ka:b,next:null}}function Ob(a,b){if(b!=a.N){var c=a.N;if(!c||c.Ka<=b.Ka)b.next=c,a.N=b;else{do{var d=c.next;if(!d||d.Ka<=b.Ka){b.next=d;c.next=b;break}c=d}while(c)}}a.u|=2}function qb(a){return a.B=a.B&63728|a.ya()|(a.i&65535?0:4)|(a.f&32768?2:0)|R(a)}
|
||||||
function J(a,b,c){if(!a.sa){var d=!1;0>a.Ia?a.Ia=kb(a):a.v||(b=4,d=!0);a.w&57344||(a.Ba=63222,a.zb=b);a.v=0;var e=a.W(b|a.ba),f=a.W(b+2&65535|a.ba);Mb(a,f&-12289|a.Ia>>2&12288);d&&(a.M|=4,a.g[6]=4);yc(a,a.Ia);yc(a,a.g[7]);O(a,e);a.u&=-113;a.Ia=-1;a.u|=8;if(26!=c)throw b;}}function zc(a){var b=Ac(a),c=Ac(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);O(a,b);Mb(a,c);a.u&=-17}
|
function Tb(a,b){a.s=b<<12;a.i=~b&4;a.f=b<<14;a.m=b<<16;if((b^a.B)&2048)for(var c=a.Ha.length;0<=--c;){var d=a.g[c];a.g[c]=a.Ha[c];a.Ha[c]=d}a.v=b>>14&3;c=a.B>>14&3;a.v!=c&&(a.ma[c]=a.g[6],a.g[6]=a.ma[a.v]);a.B=b;a.u|=2}function S(a,b){a.u&128||(a.s=a.i=b,a.f=0)}function Ac(a,b,c){a.u&128||(a.s=a.i=a.m=b,a.f=c||0)}function Bc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^b)&(d^b))}function Cc(a,b){a.u&128||(a.s=a.i=a.m=b,a.f=a.s^a.m>>1)}function Dc(a,b,c,d){a.u&128||(a.s=a.i=a.m=b,a.f=(c^d)&(d^b))}
|
||||||
function Bb(a,b){var c=b>>13&31;31>c&&a.Na&32&&(b=a.Za[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b}
|
function K(a,b,c){if(!a.ra){var d=!1;0>a.Ia?a.Ia=qb(a):a.v||(b=4,d=!0);a.w&57344||(a.Ba=63222,a.yb=b);a.v=0;var e=a.W(b|a.P),f=a.W(b+2&65535|a.P);Tb(a,f&-12289|a.Ia>>2&12288);d&&(a.M|=4,a.g[6]=4);Ec(a,a.Ia);Ec(a,a.g[7]);P(a,e);a.u&=-113;a.Ia=-1;a.u|=8;if(26!=c)throw b;}}function Fc(a){var b=Gc(a),c=Gc(a)&-1793;a.B&49152&&(c=c&-225|a.B&63712);P(a,b);Tb(a,c);a.u&=-17}
|
||||||
function Bc(a,b,c){var d,e,f,g=0;d=b>>13;a.Na&a.sc[a.v]||(d&=7);e=a.H[a.v][d];f=(a.Y[a.v][d]<<6)+(b&8191)&a.Nb;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.H[a.v][d]=e;if(4194170!==f||a.v)a.$a=a.v,a.ab=d;b=!1;g&&(g&57344&&(0<=a.Ia&&(g|=128),a.w&57344||(a.w=a.w|g|a.$a<<5|a.ab<<1),b=!0),a.w&61440||!(4191360>
|
function Hb(a,b){var c=b>>13&31;31>c&&a.Ga&32&&(b=a.Ya[c]+(b&8190)&4194302,3932160<=b&&4186112>b&&console.log("panic(898)"));return b}
|
||||||
f||4194239<f)||(a.w|=4096,a.w&512&&(a.u|=32)),b&&J(a,168,16));return f}function Cc(a,b,c){b&1&&a.a--;a=a.h;c&=255;3932160<=b&&(b=Bb(a.a,b));a.h[(b&a.Aa)>>>a.c].Eb(b&a.l,c&255,b)}function Ac(a){var b=a.W(a.g[6]|a.ba);a.g[6]=a.g[6]+2&65535;return b}function yc(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.w&57344||(a.Ba=a.Ba<<8|246);!a.v&&c<=a.Ca&&4<c&&(c<=a.Ca-32?(a.M|=4,a.g[6]=4,J(a,4,18)):(a.M|=8,a.u|=4));a.nb(c,b)}
|
function Hc(a,b,c){var d,e,f,g=0;d=b>>13;a.Ga&a.ic[a.v]||(d&=7);e=a.H[a.v][d];f=(a.Y[a.v][d]<<6)+(b&8191)&a.Mb;switch(e&7){case 1:g=4096;case 2:e|=128;c&4&&(g=8192);break;case 4:g=4096;case 5:c&4&&(g=4096);case 6:e|=c&4?192:128;break;default:g=32768}32512!==(e&32520)&&(e&8?e&32512&&(b&8128)<(e>>2&8128)&&(g|=16384):(b&8128)>(e>>2&8128)&&(g|=16384));a.H[a.v][d]=e;if(4194170!==f||a.v)a.$a=a.v,a.ab=d;b=!1;g&&(g&57344&&(0<=a.Ia&&(g|=128),a.w&57344||(a.w=a.w|g|a.$a<<5|a.ab<<1),b=!0),a.w&61440||!(4191360>
|
||||||
function Dc(a,b,c,d){var e,f,g=d&8?0:a.ba;switch(b){case 0:return J(a,4,20),0;case 1:return 6===c&&!a.v&&d&4&&(a.g[6]<=a.Ca||65534<=a.g[6])&&(a.g[6]<=a.Ca-32||65534<=a.g[6]?(a.M|=4,a.g[6]=4,J(a,4,22)):(a.M|=8,a.u|=64)),a.a-=3,7===c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];7!==c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!==c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;7!==c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!==c&&(e|=g);e=a.W(e)|g;a.a-=
|
f||4194239<f)||(a.w|=4096,a.w&512&&(a.u|=32)),b&&K(a,168,16));return f}function Ic(a,b,c){b&1&&a.a--;a=a.h;c&=255;3932160<=b&&(b=Hb(a.a,b));a.h[(b&a.Aa)>>>a.c].Db(b&a.j,c&255,b)}function Gc(a){var b=a.W(a.g[6]|a.P);a.g[6]=a.g[6]+2&65535;return b}function Ec(a,b){var c=a.g[6]-2&65535;a.g[6]=c;a.w&57344||(a.Ba=a.Ba<<8|246);!a.v&&c<=a.Ca&&4<c&&(c<=a.Ca-32?(a.M|=4,a.g[6]=4,K(a,4,18)):(a.M|=8,a.u|=4));a.mb(c,b)}
|
||||||
8;break;case 6:return e=a.W(tc(a,2)),e=e+a.g[c]&65535|g,a.a-=6,e;case 7:return e=a.W(tc(a,2)),e=e+a.g[c]&65535,e=a.W(e|a.ba)|g,a.a-=10,e}a.g[c]=a.g[c]+f&65535;!g||a.w&57344||(a.Ba=a.Ba<<8|f<<3&248|c);6==c&&!a.v&&d&4&&0>=f&&(a.g[6]<=a.Ca||65534<=a.g[6])&&(a.g[6]<=a.Ca-32?(a.M|=4,a.g[6]=4,J(a,4,24)):(a.M|=8,a.u|=64));return e}h.sb=function(a){if(!this.wa)return this.h.sb(a);this.sa++;a=this.Ub(Bc(this,a,2));this.sa--;return a};
|
function Jc(a,b,c,d){var e,f,g=d&8?0:a.P;switch(b){case 0:return K(a,4,20),0;case 1:return 6===c&&!a.v&&d&4&&(a.g[6]<=a.Ca||65534<=a.g[6])&&(a.g[6]<=a.Ca-32||65534<=a.g[6]?(a.M|=4,a.g[6]=4,K(a,4,22)):(a.M|=8,a.u|=64)),a.a-=3,7===c?a.g[c]:a.g[c]|g;case 2:f=2;e=a.g[c];7!==c&&(e|=g,6>c&&d&1&&(f=1));a.a-=3;break;case 3:f=2;e=a.g[c];7!==c&&(e|=g);e=a.W(e);e|=g;a.a-=7;break;case 4:f=-2;6>c&&d&1&&(f=-1);e=a.g[c]+f&65535;7!==c&&(e|=g);a.a-=4;break;case 5:f=-2;e=a.g[c]-2&65535;7!==c&&(e|=g);e=a.W(e)|g;a.a-=
|
||||||
h.Ya=function(a,b){this.wa?(this.sa++,Cc(this,Bc(this,a,5),b),this.sa--):this.h.Ya(a,b)};h.Bb=function(a,b){this.wa?(this.sa++,this.ac(Bc(this,a,4),b),this.sa--):this.h.Bb(a,b)};h.hc=function(a,b,c){return Dc(this,a,b,c)};h.ic=function(a,b,c){return Bc(this,Dc(this,a,b,c),c)};h.Ub=function(a){return Cb(this.h,a)};h.hd=function(a){return Cb(this.h,Bc(this,a,2))};h.ac=function(a,b){Db(this.h,a,b&65535)};h.$d=function(a,b){Db(this.h,Bc(this,a,4),b)};
|
8;break;case 6:return e=a.W(zc(a,2)),e=e+a.g[c]&65535|g,a.a-=6,e;case 7:return e=a.W(zc(a,2)),e=e+a.g[c]&65535,e=a.W(e|a.P)|g,a.a-=10,e}a.g[c]=a.g[c]+f&65535;!g||a.w&57344||(a.Ba=a.Ba<<8|f<<3&248|c);6==c&&!a.v&&d&4&&0>=f&&(a.g[6]<=a.Ca||65534<=a.g[6])&&(a.g[6]<=a.Ca-32?(a.M|=4,a.g[6]=4,K(a,4,24)):(a.M|=8,a.u|=64));return e}h.tb=function(a){if(!this.Fa)return this.h.tb(a);this.ra++;a=this.Tb(Hc(this,a,2));this.ra--;return a};
|
||||||
function Ec(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Dc(a,b,d,2),c&65536||61440!==(a.B&61440)&&(d&=65535),a.v=a.B>>12&3,c=a.W(d|c&a.ba),a.v=a.B>>14&3):c=6!=d||(a.B>>2&12288)===(a.B&12288)?a.g[d]:a.na[a.B>>12&3];return c}function Fc(a,b,c,d){a.w&57344||(a.Ba=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Dc(a,b,e,4),c&65536||(e&=65535),a.v=a.B>>12&3,e=Bc(a,e|c&65536,4),a.v=a.B>>14&3,Db(a.h,e,d)):6!=e||(a.B>>2&12288)===(a.B&12288)?a.g[e]=d:a.na[a.B>>12&3]=d}
|
h.Xa=function(a,b){this.Fa?(this.ra++,Ic(this,Hc(this,a,5),b),this.ra--):this.h.Xa(a,b)};h.Ab=function(a,b){this.Fa?(this.ra++,this.$b(Hc(this,a,4),b),this.ra--):this.h.Ab(a,b)};h.gc=function(a,b,c){return Jc(this,a,b,c)};h.hc=function(a,b,c){return Hc(this,Jc(this,a,b,c),c)};h.Tb=function(a){return Ib(this.h,a)};h.gd=function(a){return Ib(this.h,Hc(this,a,2))};h.$b=function(a,b){Jb(this.h,a,b&65535)};h.Zd=function(a,b){Jb(this.h,Hc(this,a,4),b)};
|
||||||
function Gc(a,b){b>>=6;var c=a.F=b&7;(b=a.A=(b&56)>>3)?(c=a.N(b,c,3),a=Ab(a.h,c)):a=a.g[c]&255;return a}function Hc(a,b){b>>=6;var c=a.F=b&7;return(b=a.A=(b&56)>>3)?Cb(a.h,a.N(b,c,2)):a.g[c]}function Ic(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Dc(a,b,c,8)}function Jc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.N(b,c,3),a=Ab(a.h,c)):a=a.g[c]&255;return a}function Kc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Cb(a.h,a.N(b,c,2)):a.g[c]}
|
function Kc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?(d=Jc(a,b,d,2),c&65536||61440!==(a.B&61440)&&(d&=65535),a.v=a.B>>12&3,c=a.W(d|c&a.P),a.v=a.B>>14&3):c=6!=d||(a.B>>2&12288)===(a.B&12288)?a.g[d]:a.ma[a.B>>12&3];return c}function Lc(a,b,c,d){a.w&57344||(a.Ba=22);var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=Jc(a,b,e,4),c&65536||(e&=65535),a.v=a.B>>12&3,e=Hc(a,e|c&65536,4),a.v=a.B>>14&3,Jb(a.h,e,d)):6!=e||(a.B>>2&12288)===(a.B&12288)?a.g[e]=d:a.ma[a.B>>12&3]=d}
|
||||||
function S(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.tb=a.N(b,e,7),Cc(a,e,d.call(a,c,Ab(a.h,e)))):a.g[e]=a.g[e]&65280|d.call(a,c,a.g[e])}function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.N(b,e,6),Db(a.h,e,d.call(a,c,Cb(a.h,e)))):a.g[e]=d.call(a,c,a.g[e])}function Lc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?Cc(a,a.N(b,e,5),c):a.g[e]=c?d&1?c<<24>>24&65535:a.g[e]&-256|c&255:a.g[e]&-256;return c}
|
function Mc(a,b){b>>=6;var c=a.D=b&7;(b=a.A=(b&56)>>3)?(c=a.J(b,c,3),a=Gb(a.h,c)):a=a.g[c]&255;return a}function Nc(a,b){b>>=6;var c=a.D=b&7;return(b=a.A=(b&56)>>3)?Ib(a.h,a.J(b,c,2)):a.g[c]}function Oc(a,b){var c=a.b=b&7;b=a.c=(b&56)>>3;return Jc(a,b,c,8)}function Pc(a,b){var c=a.b=b&7;(b=a.c=(b&56)>>3)?(c=a.J(b,c,3),a=Gb(a.h,c)):a=a.g[c]&255;return a}function Qc(a,b){var c=a.b=b&7;return(b=a.c=(b&56)>>3)?Ib(a.h,a.J(b,c,2)):a.g[c]}
|
||||||
function Mc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?Db(a.h,a.N(b,d,4),c):a.g[d]=c&65535;return c}function V(a,b,c){c&&(O(a,a.g[7]+(b<<24>>23)),a.a-=2);a.a-=3}
|
function T(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.rb=a.J(b,e,7),Ic(a,e,d.call(a,c,Gb(a.h,e)))):a.g[e]=a.g[e]&65280|d.call(a,c,a.g[e])}function U(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?(e=a.J(b,e,6),Jb(a.h,e,d.call(a,c,Ib(a.h,e)))):a.g[e]=d.call(a,c,a.g[e])}function Rc(a,b,c,d){var e=a.b=b&7;(b=a.c=(b&56)>>3)?Ic(a,a.J(b,e,5),c):a.g[e]=c?d&1?c<<24>>24&65535:a.g[e]&-256|c&255:a.g[e]&-256;return c}
|
||||||
h.lb=function(a){this.j.complete=!0;var b=a?this.j.Cb?0:1:-1;this.j.Cb=!1;this.Ga=this.a=a;do{if(this.u){this.u&112&&(this.u&32?J(this,168,28):this.u&64?J(this,4,30):this.u&16&&J(this,12,32),this.u&=-113);if(a=this.u&7){a=!1;if(this.u&2){this.u&=-3;var c=160,d=(this.Ab&224)>>5,e=this.R&&this.R.Ka>d?this.R:null;e&&(c=e.nd,d=e.Ka);d>(this.B&224)>>5?(this.u&4&&(tc(this,2),this.u&=-5),J(this,c,26),d=!0):d=!1;if(d){if(e)if(a=e,e=this.R,e==a)this.R=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=
|
function Sc(a,b,c){var d=a.b=b&7;(b=a.c=(b&56)>>3)?Jb(a.h,a.J(b,d,4),c):a.g[d]=c&65535;return c}function V(a,b,c){c&&(P(a,a.g[7]+(b<<24>>23)),a.a-=2);a.a-=3}
|
||||||
d}a=!0}}else this.u&1&&this.u++;a=a&&0>b}if(a)break}this.u=this.u&7|this.B&16;this.decode(sc(this))}while(0<this.a);return this.j.complete?this.Ga-this.a:void 0===this.j.complete?0:-1};Ha(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new nc(d);C(d,c)}});function Nc(a,b){var c=b+a;vc(this,c,a,b);return c&65535}function Oc(a,b){var c=b+a;vc(this,c<<8,a<<8,b<<8);return c&255}function Pc(a,b){a=b<<1;wc(this,a);return a&65535}
|
h.kb=function(a){this.l.complete=!0;var b=a?this.l.Bb?0:1:-1;this.l.Bb=!1;this.pa=this.a=a;do{if(this.u){this.u&112&&(this.u&32?K(this,168,28):this.u&64?K(this,4,30):this.u&16&&K(this,12,32),this.u&=-113);if(a=this.u&7){a=!1;if(this.u&2){this.u&=-3;var c=160,d=(this.zb&224)>>5,e=this.N&&this.N.Ka>d?this.N:null;e&&(c=e.md,d=e.Ka);d>(this.B&224)>>5?(this.u&4&&(zc(this,2),this.u&=-5),K(this,c,26),d=!0):d=!1;if(d){if(e)if(a=e,e=this.N,e==a)this.N=a.next;else for(;e;){d=e.next;if(d==a){e.next=d.next;break}e=
|
||||||
function Qc(a,b){a=b<<1;wc(this,a<<8);return a&255}function Rc(a,b){a=b&32768|b>>1|b<<16;wc(this,a);return a&65535}function Sc(a,b){a=b&2048|b>>1|b<<8;wc(this,a<<8);return a&255}function Tc(a,b){a=b&~a;R(this,a);return a}function Uc(a,b){a=b&~a;R(this,a<<8);return a}function Vc(a,b){a|=b;R(this,a);return a}function Wc(a,b){a|=b;R(this,a<<8);return a}function Xc(a,b){a=~b|65536;uc(this,a);return a&65535}function Yc(a,b){a=~b|256;uc(this,a<<8);return a&255}
|
d}a=!0}}else this.u&1&&this.u++;a=a&&0>b}if(a)break}this.u=this.u&7|this.B&16;this.decode(yc(this))}while(0<this.a);return this.l.complete?this.pa-this.a:void 0===this.l.complete?0:-1};Ha(function(){for(var a=D(document,"pdp11","cpu"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new tc(d);C(d,c)}});function Tc(a,b){var c=b+a;Bc(this,c,a,b);return c&65535}function Uc(a,b){var c=b+a;Bc(this,c<<8,a<<8,b<<8);return c&255}function Vc(a,b){a=b<<1;Cc(this,a);return a&65535}
|
||||||
function Zc(a,b){a=b-a;this.u&128||(this.s=this.i=a,this.f=b&(b^a));return a&65535}function $c(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.s=this.i=c,this.f=b&(b^c));return a&255}function ad(a,b){a=b+a;this.u&128||(this.s=this.i=a,this.f=a&(b^a));return a&65535}function bd(a,b){a=b+a;var c=a<<8;this.u&128||(this.s=this.i=c,this.f=c&(b<<8^c));return a&255}function cd(a,b){a=-b;uc(this,a,a&b&32768);return a&65535}function dd(a,b){a=-b;uc(this,a<<8,(a&b&128)<<8);return a&255}
|
function Wc(a,b){a=b<<1;Cc(this,a<<8);return a&255}function Xc(a,b){a=b&32768|b>>1|b<<16;Cc(this,a);return a&65535}function Yc(a,b){a=b&2048|b>>1|b<<8;Cc(this,a<<8);return a&255}function Zc(a,b){a=b&~a;S(this,a);return a}function $c(a,b){a=b&~a;S(this,a<<8);return a}function ad(a,b){a|=b;S(this,a);return a}function bd(a,b){a|=b;S(this,a<<8);return a}function cd(a,b){a=~b|65536;Ac(this,a);return a&65535}function dd(a,b){a=~b|256;Ac(this,a<<8);return a&255}
|
||||||
function ed(a,b){a=b<<1|this.m>>16&1;wc(this,a);return a&65535}function fd(a,b){a=b<<1|this.m>>16&1;wc(this,a<<8);return a&255}function gd(a,b){a=(this.m&65536|b)>>1|b<<16;wc(this,a);return a&65535}function hd(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;wc(this,a<<8);return a&255}function id(a,b){var c=b-a;xc(this,c,a,b);return c&65535}function jd(a,b){var c=b-a;xc(this,c<<8,a<<8,b<<8);return c&255}function kd(a,b){this.u&128||(this.s=this.i=b&65280,this.f=this.m=0);return(b<<8|b>>8)&65535}
|
function ed(a,b){a=b-a;this.u&128||(this.s=this.i=a,this.f=b&(b^a));return a&65535}function fd(a,b){a=b-a;var c=a<<8;b<<=8;this.u&128||(this.s=this.i=c,this.f=b&(b^c));return a&255}function gd(a,b){a=b+a;this.u&128||(this.s=this.i=a,this.f=a&(b^a));return a&65535}function hd(a,b){a=b+a;var c=a<<8;this.u&128||(this.s=this.i=c,this.f=c&(b<<8^c));return a&255}function id(a,b){a=-b;Ac(this,a,a&b&32768);return a&65535}function jd(a,b){a=-b;Ac(this,a<<8,(a&b&128)<<8);return a&255}
|
||||||
function ld(a,b){a^=b;R(this,a);return a&65535}function md(a){U(this,a,Hc(this,a),Nc);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function nd(a){var b=Kc(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.m=this.f=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.m=c<<17-b,c>>=b;else if(b)if(16<b)this.f=c,c=0;else{this.m=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.f=32768)}this.g[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b}
|
function kd(a,b){a=b<<1|this.m>>16&1;Cc(this,a);return a&65535}function ld(a,b){a=b<<1|this.m>>16&1;Cc(this,a<<8);return a&255}function md(a,b){a=(this.m&65536|b)>>1|b<<16;Cc(this,a);return a&65535}function nd(a,b){a=((this.m&65536)>>8|b)>>1|b<<8;Cc(this,a<<8);return a&255}function od(a,b){var c=b-a;Dc(this,c,a,b);return c&65535}function pd(a,b){var c=b-a;Dc(this,c<<8,a<<8,b<<8);return c&255}function qd(a,b){this.u&128||(this.s=this.i=b&65280,this.f=this.m=0);return(b<<8|b>>8)&65535}
|
||||||
function od(a){var b=Kc(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.m=this.f=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.f=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function pd(a){V(this,a,!Q(this))}function qd(a){V(this,a,Q(this))}
|
function rd(a,b){a^=b;S(this,a);return a&65535}function sd(a){U(this,a,Nc(this,a),Tc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function td(a){var b=Qc(this,a);a=a>>6&7;var c=this.g[a];c&32768&&(c|=4294901760);this.m=this.f=0;b&=63;if(b&32)b=64-b,16<b&&(b=16),this.m=c<<17-b,c>>=b;else if(b)if(16<b)this.f=c,c=0;else{this.m=c<<=b;var d=c>>15&65535;d&&65535!==d&&(this.f=32768)}this.g[a]=c&65535;this.s=this.i=c;this.a-=(this.c?6:7)+b}
|
||||||
function rd(a){U(this,a,Hc(this,a),Tc);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function sd(a){S(this,a,Gc(this,a),Uc);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function td(a){U(this,a,Hc(this,a),Vc);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function ud(a){S(this,a,Gc(this,a),Wc);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}
|
function ud(a){var b=Qc(this,a);a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.m=this.f=0;b&=63;if(b&32){b=64-b;32<b&&(b=32);var d=c>>b-1;this.m=d<<16;d>>=1;c&2147483648&&(d|=4294967295<<32-b)}else b?(d=c<<b-1,this.m=d>>15,d<<=1,32<b&&(b=32),(c>>=32-b)&&4294967295!==(c|4294967295<<b&4294967295)&&(this.f=32768)):d=c;this.g[a]=d>>16&65535;this.g[a|1]=d&65535;this.s=d>>16;this.i=d>>16|d;this.a-=(this.c?6:7)+b}function vd(a){V(this,a,!R(this))}function wd(a){V(this,a,R(this))}
|
||||||
function vd(a){R(this,Hc(this,a)&Kc(this,a));this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function wd(a){R(this,(Gc(this,a)&Jc(this,a))<<8);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function xd(a){V(this,a,this.i&65535?0:4)}function yd(a){V(this,a,!this.ya()==!(this.f&32768))}function zd(a){V(this,a,!!(this.i&65535)&&!this.ya()==!(this.f&32768))}function Ad(a){V(this,a,!Q(this)&&!!(this.i&65535))}
|
function xd(a){U(this,a,Nc(this,a),Zc);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function yd(a){T(this,a,Mc(this,a),$c);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function zd(a){U(this,a,Nc(this,a),ad);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}function Ad(a){T(this,a,Mc(this,a),bd);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}
|
||||||
function Bd(a){V(this,a,(this.i&65535?0:4)||!this.ya()!=!(this.f&32768))}function Cd(a){V(this,a,Q(this)||(this.i&65535?0:4))}function Dd(a){V(this,a,!this.ya()!=!(this.f&32768))}function Ed(a){V(this,a,this.ya())}function Fd(a){V(this,a,!!(this.i&65535))}function Gd(a){V(this,a,!this.ya())}function Hd(){J(this,12,1);this.a-=5}function Id(a){V(this,a,!0)}function Jd(a){V(this,a,!(this.f&32768))}function Kd(a){V(this,a,this.f&32768?2:0)}
|
function Bd(a){S(this,Nc(this,a)&Qc(this,a));this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Cd(a){S(this,(Mc(this,a)&Pc(this,a))<<8);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Dd(a){V(this,a,this.i&65535?0:4)}function Ed(a){V(this,a,!this.ya()==!(this.f&32768))}function Fd(a){V(this,a,!!(this.i&65535)&&!this.ya()==!(this.f&32768))}function Gd(a){V(this,a,!R(this)&&!!(this.i&65535))}
|
||||||
function W(a){a&1&&(this.m=0);a&2&&(this.f=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function Ld(a){var b=Hc(this,a);a=Kc(this,a);xc(this,b-a,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Md(a){var b=Gc(this,a)<<8;a=Jc(this,a)<<8;xc(this,b-a,a,b);this.a-=this.c?4+(this.F&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}
|
function Hd(a){V(this,a,(this.i&65535?0:4)||!this.ya()!=!(this.f&32768))}function Id(a){V(this,a,R(this)||(this.i&65535?0:4))}function Jd(a){V(this,a,!this.ya()!=!(this.f&32768))}function Kd(a){V(this,a,this.ya())}function Ld(a){V(this,a,!!(this.i&65535))}function Md(a){V(this,a,!this.ya())}function Nd(){K(this,12,1);this.a-=5}function Od(a){V(this,a,!0)}function Pd(a){V(this,a,!(this.f&32768))}function Qd(a){V(this,a,this.f&32768?2:0)}
|
||||||
function Nd(a){var b=Kc(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.m=this.f=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.f=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.a-=53}else this.i=this.s=0,this.f=32768,this.m=65536,this.a-=7}function Od(){J(this,24,2);this.a-=25}
|
function W(a){a&1&&(this.m=0);a&2&&(this.f=0);a&4&&(this.i=1);a&8&&(this.s=0);this.a-=5}function Rd(a){var b=Nc(this,a);a=Qc(this,a);Dc(this,b-a,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}function Sd(a){var b=Mc(this,a)<<8;a=Pc(this,a)<<8;Dc(this,b-a,a,b);this.a-=this.c?4+(this.D&&6<=this.b?1:0):(this.A?4:3)+(7==this.b?2:0)}
|
||||||
function Pd(){this.B&49152?(this.M|=128,J(this,4,3)):this.C?this.C.b():F(this);this.a-=7}function Qd(){J(this,16,4);this.a-=25}var Rd=[0,7,7,10,7,11,9,13];function Sd(a){this.I=this.a;O(this,Ic(this,a));this.a=this.I-Rd[this.c]}var Td=[0,14,14,17,14,18,16,20];function Ud(a){this.I=this.a;var b=Ic(this,a);a=a>>6&7;yc(this,this.g[a]);this.g[a]=this.g[7];O(this,b);this.a=this.I-Td[this.c]}var Vd=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
|
function Td(a){var b=Qc(this,a);if(b){a=a>>6&7;var c=this.g[a]<<16|this.g[a|1];this.m=this.f=0;b&32768&&(b|=-65536);var d=~~(c/b);-32768<=d&&32767>=d?(this.g[a]=d&65535,this.g[a|1]=c-d*b&65535,this.i=d>>16|d,this.s=d>>16):(this.f=32768,this.i=d>>15|d,this.s=c>>16,-1===b&&65534===this.g[a]&&(this.g[a]=this.g[a|1]=1));this.a-=53}else this.i=this.s=0,this.f=32768,this.m=65536,this.a-=7}function Ud(){K(this,24,2);this.a-=25}
|
||||||
function Wd(a){var b=Hc(this,a);this.I=this.a;R(this,Mc(this,a,b));this.a=this.I-Vd[(this.A?8:0)+this.c]+(7!=this.b||this.c?0:2)}function Xd(a){var b=Gc(this,a);R(this,Lc(this,a,b,1)<<8);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}var Yd=[7,13,13,17,14,18,17,21];
|
function Vd(){this.B&49152?(this.M|=128,K(this,4,3)):this.C?this.C.b():G(this);this.a-=7}function Wd(){K(this,16,4);this.a-=25}var Xd=[0,7,7,10,7,11,9,13];function Yd(a){this.G=this.a;P(this,Oc(this,a));this.a=this.G-Xd[this.c]}var Zd=[0,14,14,17,14,18,16,20];function $d(a){this.G=this.a;var b=Oc(this,a);a=a>>6&7;Ec(this,this.g[a]);this.g[a]=this.g[7];P(this,b);this.a=this.G-Zd[this.c]}var ae=[3,9,9,13,10,14,12,16,4,9,9,13,10,14,13,17];
|
||||||
function Zd(a){var b=Kc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.u&128||(this.s=b>>16,this.i=this.s|b,this.f=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}function $d(){this.a-=5}function ae(){this.B&49152||(this.h.reset(),gb(this));this.a-=667}function be(){zc(this);this.u|=this.B&16;this.a-=13}
|
function be(a){var b=Nc(this,a);this.G=this.a;S(this,Sc(this,a,b));this.a=this.G-ae[(this.A?8:0)+this.c]+(7!=this.b||this.c?0:2)}function ce(a){var b=Mc(this,a);S(this,Rc(this,a,b,1)<<8);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}var de=[7,13,13,17,14,18,17,21];
|
||||||
function ce(a){if(a&8)J(this,8,6);else{var b=Ac(this);a&=7;7==a?O(this,b):(O(this,this.g[a]),this.g[a]=b);this.a-=9}}function X(a){a&1&&(this.m=65536);a&2&&(this.f=32768);a&4&&(this.i=0);a&8&&(this.s=32768);this.a-=5}function de(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)O(this,this.g[7]-((a&63)<<1)),this.a+=1;this.a-=6}function ee(a){U(this,a,Hc(this,a),id);this.a-=this.c?9+(this.F&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}
|
function ee(a){var b=Qc(this,a);a=a>>6&7;b&32768&&(b|=-65536);var c=this.g[a];c&32768&&(c|=-65536);b=~~(b*c);this.g[a]=b>>16&65535;this.g[a|1]=b&65535;this.u&128||(this.s=b>>16,this.i=this.s|b,this.f=0,this.m=-32768>b||32767<b?65536:0);this.a-=23}function fe(){this.a-=5}function ge(){this.B&49152||(this.h.reset(),hb(this));this.a-=667}function he(){Fc(this);this.u|=this.B&16;this.a-=13}
|
||||||
function fe(a){U(this,a,0,kd);this.a-=this.c?9:3+(7==this.b?2:0)}function ge(){J(this,28,5);this.a-=5}function he(){this.u&4||this.l.aa();this.u|=4;tc(this,-2);this.a-=3}function ie(a){U(this,a,Hc(this,a),ld);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){J(this,8,6)}function oc(a){je[a>>12].call(this,a)}function ke(a){le[a>>6&3].call(this,a)}function me(a){ne[a>>6&3].call(this,a)}function oe(a){pe[a>>6&3].call(this,a)}function qe(a){re[a&15].call(this,a)}function se(a){te[a&15].call(this,a)}
|
function ie(a){if(a&8)K(this,8,6);else{var b=Gc(this);a&=7;7==a?P(this,b):(P(this,this.g[a]),this.g[a]=b);this.a-=9}}function X(a){a&1&&(this.m=65536);a&2&&(this.f=32768);a&4&&(this.i=0);a&8&&(this.s=32768);this.a-=5}function je(a){var b=(a&448)>>6;if(this.g[b]=this.g[b]-1&65535)P(this,this.g[7]-((a&63)<<1)),this.a+=1;this.a-=6}function ke(a){U(this,a,Nc(this,a),od);this.a-=this.c?9+(this.D&&6<=this.b?1:0):(this.A?5:3)+(7==this.b?2:0)}
|
||||||
function ue(a){ve[a>>6&3].call(this,a)}function we(a){xe[a>>6&3].call(this,a)}function ye(a){ze[a>>6&3].call(this,a)}
|
function le(a){U(this,a,0,qd);this.a-=this.c?9:3+(7==this.b?2:0)}function me(){K(this,28,5);this.a-=5}function ne(){this.u&4||this.j&&this.j.ka();this.u|=4;zc(this,-2);this.a-=3}function oe(a){U(this,a,Nc(this,a),rd);this.a-=this.c?9:3+(7==this.b?2:0)}function Y(){K(this,8,6)}function uc(a){pe[a>>12].call(this,a)}function qe(a){re[a>>6&3].call(this,a)}function se(a){te[a>>6&3].call(this,a)}function ue(a){ve[a>>6&3].call(this,a)}function we(a){xe[a&15].call(this,a)}
|
||||||
var je=[function(a){Ae[a>>8&15].call(this,a)},Wd,Ld,vd,rd,td,md,Y,function(a){Be[a>>8&15].call(this,a)},Xd,Md,wd,sd,ud,ee,Y],Ae=[function(a){Ce[a>>4&15].call(this,a)},Id,Fd,xd,yd,Dd,zd,Bd,Ud,Ud,ke,me,oe,Y,Y,Y],le=[function(a){uc(this,Mc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Xc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,ad);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,Zc);this.a-=this.c?9:3+(7==this.b?2:0)}],ne=[function(a){U(this,a,0,
|
function ye(a){ze[a&15].call(this,a)}function Ae(a){Be[a>>6&3].call(this,a)}function Ce(a){De[a>>6&3].call(this,a)}function Ee(a){Fe[a>>6&3].call(this,a)}
|
||||||
cd);this.a-=this.c?11:6},function(a){U(this,a,Q(this)?1:0,Nc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,Q(this)?1:0,id);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Kc(this,a);uc(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],pe=[function(a){U(this,a,0,gd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,ed);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Rc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Pc);this.a-=this.c?9:3+(7==this.b?2:0)}],
|
var pe=[function(a){Ge[a>>8&15].call(this,a)},be,Rd,Bd,xd,zd,sd,Y,function(a){He[a>>8&15].call(this,a)},ce,Sd,Cd,yd,Ad,ke,Y],Ge=[function(a){Ie[a>>4&15].call(this,a)},Od,Ld,Dd,Ed,Jd,Fd,Hd,$d,$d,qe,se,ue,Y,Y,Y],re=[function(a){Ac(this,Sc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,cd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,gd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,1,ed);this.a-=this.c?9:3+(7==this.b?2:0)}],te=[function(a){U(this,a,0,
|
||||||
Ce=[function(a){De[a&15].call(this,a)},Y,Y,Y,Sd,Sd,Sd,Sd,ce,Y,qe,se,fe,fe,fe,fe],De=[Pd,he,be,Hd,Qd,ae,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],re=[$d,function(){this.m=0;this.a-=5},function(){this.f=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],te=[$d,function(){this.m=65536;this.a-=5},function(){this.f=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],Be=[Gd,Ed,Ad,Cd,Jd,Kd,pd,qd,Od,ge,ue,we,ye,Y,Y,Y],ve=[function(a){uc(this,
|
id);this.a-=this.c?11:6},function(a){U(this,a,R(this)?1:0,Tc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,R(this)?1:0,od);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Qc(this,a);Ac(this,a);this.a-=this.c?4:3+(7==this.b?2:0)}],ve=[function(a){U(this,a,0,md);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,kd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Xc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){U(this,a,0,Vc);this.a-=this.c?9:3+(7==this.b?2:0)}],
|
||||||
Lc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Yc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,bd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,1,$c);this.a-=this.c?9:3+(7==this.b?2:0)}],xe=[function(a){S(this,a,0,dd);this.a-=this.c?11:6},function(a){S(this,a,Q(this)?1:0,Oc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,Q(this)?1:0,jd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Jc(this,a);uc(this,a<<8);this.a-=this.c?4:3+(7==this.b?
|
Ie=[function(a){Je[a&15].call(this,a)},Y,Y,Y,Yd,Yd,Yd,Yd,ie,Y,we,ye,le,le,le,le],Je=[Vd,ne,he,Nd,Wd,ge,Y,Y,Y,Y,Y,Y,Y,Y,Y,Y],xe=[fe,function(){this.m=0;this.a-=5},function(){this.f=0;this.a-=5},W,function(){this.i=1;this.a-=5},W,W,W,function(){this.s=0;this.a-=5},W,W,W,W,W,W,W],ze=[fe,function(){this.m=65536;this.a-=5},function(){this.f=32768;this.a-=5},X,function(){this.i=0;this.a-=5},X,X,X,function(){this.s=32768;this.a-=5},X,X,X,X,X,X,X],He=[Md,Kd,Gd,Id,Pd,Qd,vd,wd,Ud,me,Ae,Ce,Ee,Y,Y,Y],Be=[function(a){Ac(this,
|
||||||
2:0)}],ze=[function(a){S(this,a,0,hd);this.a-=this.c?9+(this.tb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,fd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){S(this,a,0,Sc);this.a-=this.c?9+(this.tb&1):3+(7==this.b?2:0)},function(a){S(this,a,0,Qc);this.a-=this.c?9:3+(7==this.b?2:0)}];function pc(a){Ee[a>>12].call(this,a)}
|
Rc(this,a,0));this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,dd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,hd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,1,fd);this.a-=this.c?9:3+(7==this.b?2:0)}],De=[function(a){T(this,a,0,jd);this.a-=this.c?11:6},function(a){T(this,a,R(this)?1:0,Uc);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,R(this)?1:0,pd);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){a=Pc(this,a);Ac(this,a<<8);this.a-=this.c?4:3+(7==this.b?
|
||||||
var Ee=[function(a){Fe[a>>8&15].call(this,a)},Wd,Ld,vd,rd,td,md,function(a){Ge[a>>8&15].call(this,a)},function(a){He[a>>8&15].call(this,a)},Xd,Md,wd,sd,ud,ee,Y],Fe=[function(a){Ie[a>>4&15].call(this,a)},Id,Fd,xd,yd,Dd,zd,Bd,Ud,Ud,ke,me,oe,function(a){Je[a>>6&3].call(this,a)},Y,Y],Je=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.W(a|this.ba);O(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Ec(this,a,0);yc(this,a);R(this,a);this.a-=11},function(a){var b=Ac(this);this.I=
|
2:0)}],Fe=[function(a){T(this,a,0,nd);this.a-=this.c?9+(this.rb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,ld);this.a-=this.c?9:3+(7==this.b?2:0)},function(a){T(this,a,0,Yc);this.a-=this.c?9+(this.rb&1):3+(7==this.b?2:0)},function(a){T(this,a,0,Wc);this.a-=this.c?9:3+(7==this.b?2:0)}];function vc(a){Ke[a>>12].call(this,a)}
|
||||||
this.a;Fc(this,a,0,b);R(this,b);this.a=this.I-Yd[this.c]},function(a){R(this,Mc(this,a,this.ya?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Ie=[function(a){Ke[a&15].call(this,a)},Y,Y,Y,Sd,Sd,Sd,Sd,ce,function(a){a&8?(this.B&49152||(this.B=this.B&-2017|(a&7)<<5,this.u|=1),this.a-=5):J(this,8,6)},qe,se,fe,fe,fe,fe],Ke=[Pd,he,be,Hd,Qd,ae,function(){zc(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],Ge=[Zd,Zd,Nd,Nd,nd,nd,od,od,ie,ie,Y,Y,Y,Y,de,de],He=[Gd,Ed,Ad,Cd,Jd,Kd,pd,qd,Od,ge,ue,we,ye,function(a){Le[a>>6&
|
var Ke=[function(a){Le[a>>8&15].call(this,a)},be,Rd,Bd,xd,zd,sd,function(a){Me[a>>8&15].call(this,a)},function(a){Ne[a>>8&15].call(this,a)},ce,Sd,Cd,yd,Ad,ke,Y],Le=[function(a){Oe[a>>4&15].call(this,a)},Od,Ld,Dd,Ed,Jd,Fd,Hd,$d,$d,qe,se,ue,function(a){Pe[a>>6&3].call(this,a)},Y,Y],Pe=[function(a){a=this.g[7]+((a&63)<<1)&65535;var b=this.W(a|this.P);P(this,this.g[5]);this.g[6]=a+2&65535;this.g[5]=b;this.a-=8},function(a){a=Kc(this,a,0);Ec(this,a);S(this,a);this.a-=11},function(a){var b=Gc(this);this.G=
|
||||||
3].call(this,a)},Y,Y],Le=[Y,function(a){a=Ec(this,a,65536);yc(this,a);R(this,a);this.a-=11},function(a){var b=Ac(this);this.I=this.a;Fc(this,a,65536,b);R(this,b);this.a=this.I-Yd[this.c]},Y];
|
this.a;Lc(this,a,0,b);S(this,b);this.a=this.G-de[this.c]},function(a){S(this,Sc(this,a,this.ya?65535:0));this.a-=this.c?9:3+(7==this.b?2:0)}],Oe=[function(a){Qe[a&15].call(this,a)},Y,Y,Y,Yd,Yd,Yd,Yd,ie,function(a){a&8?(this.B&49152||(this.B=this.B&-2017|(a&7)<<5,this.u|=1),this.a-=5):K(this,8,6)},we,ye,le,le,le,le],Qe=[Vd,ne,he,Nd,Wd,ge,function(){Fc(this);this.a-=13},Y,Y,Y,Y,Y,Y,Y,Y,Y],Me=[ee,ee,Td,Td,td,td,ud,ud,oe,oe,Y,Y,Y,Y,je,je],Ne=[Md,Kd,Gd,Id,Pd,Qd,vd,wd,Ud,me,Ae,Ce,Ee,function(a){Re[a>>6&
|
||||||
function Me(a){x.call(this,"ROM",a,Me);this.X=this.b=null;this.i=a.addr;this.c=a.size;this.f=a.alias;this.l=a.file;this.m=q(this.l);if(this.l){a=this.l;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.l+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.D("Unable to load ROM resource (error "+f+": "+a+")"),c.l=null):(Sa(c.oa,a,b),(a=ta(a,b))?(c.b=a.K,c.X=a.X):c.l=null);Ne(c)})}}z(Me);Me.prototype.ia=function(a,b,c,d){this.h=b;this.a=c;this.C=d;Ne(this)};
|
3].call(this,a)},Y,Y],Re=[Y,function(a){a=Kc(this,a,65536);Ec(this,a);S(this,a);this.a-=11},function(a){var b=Gc(this);this.G=this.a;Lc(this,a,65536,b);S(this,b);this.a=this.G-de[this.c]},Y];
|
||||||
Me.prototype.ka=function(){this.X&&(this.C&&this.C.a(this.id,this.i,this.c,this.X),delete this.X);return!0};Me.prototype.ja=function(){return!0};
|
function Se(a){x.call(this,"ROM",a,Se);this.X=this.b=null;this.i=a.addr;this.c=a.size;this.f=a.alias;this.j=a.file;this.m=q(this.j);if(this.j){a=this.j;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.j+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load ROM resource (error "+f+": "+a+")"),c.j=null):(Sa(c.na,a,b),(a=ta(a,b))?(c.b=a.K,c.X=a.X):c.j=null);Te(c)})}}z(Se);Se.prototype.ha=function(a,b,c,d){this.h=b;this.a=c;this.C=d;Te(this)};
|
||||||
function Ne(a){if(!Wa(a)){if(a.l){if(!a.b||!a.h)return;a.c||(a.c=a.b.length);if(a.b.length!=a.c){var b="ROM size ("+m(a.b.length,8,!0)+") does not match specified size ("+m(a.c,8,!0)+")";a.j.error=!0;a.D(b)}else{b=a.i;if(wb(a.h,b,a.c,Tb)){var c;for(c=0;c<a.b.length;c++)a.h.Ya(b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){var d=a,e=b[c],f=vb(d.h,d.i,d.c);ub(d.h,e,d.c,f)}delete a.b}}}E(a)}}
|
Se.prototype.ja=function(){this.X&&(this.C&&this.C.a(this.id,this.i,this.c,this.X),delete this.X);return!0};Se.prototype.ia=function(){return!0};
|
||||||
Ha(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Me(d);C(d,c)}});
|
function Te(a){if(!Wa(a)){if(a.j){if(!a.b||!a.h)return;a.c||(a.c=a.b.length);if(a.b.length!=a.c)Xa(a,"ROM size ("+m(a.b.length,8,!0)+") does not match specified size ("+m(a.c,8,!0)+")");else{var b;b=a.i;if(Cb(a.h,b,a.c,$b)){var c;for(c=0;c<a.b.length;c++)a.h.Xa(b+c,a.b[c]);b=!0}else b=!1;if(b){b=[];"number"==typeof a.f?b.push(a.f):null!=a.f&&a.f.length&&(b=a.f);for(c=0;c<b.length;c++){var d=a,e=b[c],f=Bb(d.h,d.i,d.c);Ab(d.h,e,d.c,f)}delete a.b}}}F(a)}}
|
||||||
function Oe(a){x.call(this,"RAM",a,Oe);this.X=this.c=null;this.l=a.addr;this.i=a.size;this.ga=a.load;this.fa=a.exec;this.f=!1;this.b=a.file;this.m=q(this.b);if(this.b){a=this.b;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.D("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(Sa(c.oa,a,b),(a=ta(a,b))?(c.c=a.K,c.X=a.X,null==c.ga&&(c.ga=a.ga),null==c.fa&&(c.fa=a.fa)):c.b=null);Pe(c)})}}z(Oe);
|
Ha(function(){for(var a=D(document,"pdp11","rom"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Se(d);C(d,c)}});
|
||||||
Oe.prototype.ia=function(a,b,c,d){this.h=b;this.a=c;this.C=d;Pe(this)};Oe.prototype.ka=function(){this.X&&(this.C&&this.C.a(this.id,this.l,this.i,this.X),delete this.X);return!0};Oe.prototype.ja=function(){return!0};function Pe(a){if(a.h&&(!a.f&&a.i&&wb(a.h,a.l,a.i,1)&&(a.f=!0),!Wa(a))){if(!a.f)u("No RAM allocated");else if(a.b){if(!a.c||!a.h)return;Qe(a,a.c,a.ga,a.fa,a.l)}E(a)}}
|
function Ue(a){x.call(this,"RAM",a,Ue);this.X=this.c=null;this.j=a.addr;this.i=a.size;this.fa=a.load;this.ea=a.exec;this.f=!1;this.b=a.file;this.m=q(this.b);if(this.b){a=this.b;var b=la(this.m);"json"!=b&&"hex"!=b&&(a=v()+"/api/v1/dump?file="+this.b+"&format=bytes&decimal=true");var c=this;r(a,null,!0,function(a,b,f){f?(c.F("Unable to load RAM resource (error "+f+": "+a+")"),c.b=null):(Sa(c.na,a,b),(a=ta(a,b))?(c.c=a.K,c.X=a.X,null==c.fa&&(c.fa=a.fa),null==c.ea&&(c.ea=a.ea)):c.b=null);Ve(c)})}}z(Ue);
|
||||||
Oe.prototype.reset=function(){if(this.f){for(var a=this.h,b=this.l,c=this.i,d=b&a.l,b=b>>>a.c;0<c&&b<a.h.length;){var e=a.h[b],f=c,g,d=d||0;void 0===f&&(f=e.size);if(Xa)for(g=d;f--&&g<e.o.length;g++)e.o[g]=0;else for(g=d;f--&&g<e.size;g++)e.Fb(d,0,e.Ja+d);c-=a.b;b++;d=0}this.c&&Qe(this,this.c,this.ga,this.fa,this.l,!0)}};
|
Ue.prototype.ha=function(a,b,c,d){this.h=b;this.a=c;this.C=d;Ve(this)};Ue.prototype.ja=function(){this.X&&(this.C&&this.C.a(this.id,this.j,this.i,this.X),delete this.X);return!0};Ue.prototype.ia=function(){return!0};function Ve(a){if(a.h&&(!a.f&&a.i&&Cb(a.h,a.j,a.i,1)&&(a.f=!0),!Wa(a))){if(!a.f)u("No RAM allocated");else if(a.b){if(!a.c||!a.h)return;We(a,a.c,a.fa,a.ea,a.j)}F(a)}}
|
||||||
function Qe(a,b,c,d,e,f){var g=!1;if(null==c)for(var k=0;k<b.length-1;){var l=b[k]&255|(b[k+1]&255)<<8;if(l)if(l&255){if(1!=l)break;if(k+6>=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),t=k,w=n-=6;0<n&&k<b.length;)l+=b[k++]&255,n--;if(n||k>=b.length)break;l+=b[k++]&255;if(l&255)break;if(w)for(;w--;)a.a.Ya(p++,b[t++]&255);else p&1?F(a.a):rc(a.a,p,f);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)a.a.Ya(c+
|
Ue.prototype.reset=function(){if(this.f){for(var a=this.h,b=this.j,c=this.i,d=b&a.j,b=b>>>a.c;0<c&&b<a.h.length;){var e=a.h[b],f=c,g,d=d||0;void 0===f&&(f=e.size);if(Ya)for(g=d;f--&&g<e.o.length;g++)e.o[g]=0;else for(g=d;f--&&g<e.size;g++)e.Eb(d,0,e.Ja+d);c-=a.b;b++;d=0}this.c&&We(this,this.c,this.fa,this.ea,this.j,!0)}};
|
||||||
e,b[e]);null!=d&&rc(a.a,d,f);g=!0}return g}Ha(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Oe(d);C(d,c)}});function Re(a){x.call(this,"Keyboard",a,Re);E(this)}z(Re);Re.prototype.$=function(){return!1};Re.prototype.ia=function(a,b,c,d){this.l=a;this.a=c;this.C=d};Ha(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Re(d);C(d,c)}});
|
function We(a,b,c,d,e,f){var g=!1;if(null==c)for(var k=0;k<b.length-1;){var l=b[k]&255|(b[k+1]&255)<<8;if(l)if(l&255){if(1!=l)break;if(k+6>=b.length)break;for(var k=k+2,n=b[k++]&255|(b[k++]&255)<<8,p=b[k++]&255|(b[k++]&255)<<8,l=l+((n&255)+(n>>8)+(p&255)+(p>>8)),t=k,w=n-=6;0<n&&k<b.length;)l+=b[k++]&255,n--;if(n||k>=b.length)break;l+=b[k++]&255;if(l&255)break;if(w)for(;w--;)a.a.Xa(p++,b[t++]&255);else p&1?G(a.a):xc(a.a,p,f);g=!0}else k++;else k+=2}if(!g&&(null==c&&(c=e),null!=c)){for(e=0;e<b.length;e++)a.a.Xa(c+
|
||||||
function Z(a){this.G=a.baudReceive||9600;this.I=a.baudTransmit||9600;this.R=a.upperCase;this.f=this.m=null;this.J=a.tabSize;this.F=a.charBOL;this.s=0;x.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.m="";else{var c;a=Se;b&&(void 0===c&&(c="Panel"),(c=Ua(c,this.id))&&(b=c.o[b])&&this.$(null,a,b))}this.v=this.A=null;this.exports={connect:this.Kb,receiveData:this.yb}}z(Z);var Se="buffer";h=Z.prototype;
|
e,b[e]);null!=d&&xc(a.a,d,f);g=!0}return g}Ha(function(){for(var a=D(document,"pdp11","ram"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Ue(d);C(d,c)}});function Xe(a){x.call(this,"Keyboard",a,Xe);F(this)}z(Xe);Xe.prototype.$=function(){return!1};Xe.prototype.ha=function(a,b,c,d){this.j=a;this.a=c;this.C=d};Ha(function(){for(var a=D(document,"pdp11","keyboard"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Xe(d);C(d,c)}});
|
||||||
h.$=function(a,b,c){var d=this;switch(b){case Se:return this.o[b]=this.f=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.yb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.yb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
function Z(a){this.D=a.baudReceive||9600;this.I=a.baudTransmit||9600;this.R=a.upperCase;this.f=this.m=null;this.J=a.tabSize;this.G=a.charBOL;this.s=0;x.call(this,"SerialPort",a,Z);var b=a.binding;if("console"==b)this.m="";else{var c;a=Ye;b&&(void 0===c&&(c="Panel"),(c=Ua(c,this.id))&&(b=c.o[b])&&this.$(null,a,b))}this.v=this.A=null;this.exports={connect:this.Kb,receiveData:this.xb}}z(Z);var Ye="buffer";h=Z.prototype;
|
||||||
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.C=d;var e=this;this.ba=Kb(48,4);this.N=Hb(this.a,function(){e.b&128||!e.i.length||(e.w=e.i.shift()&255,e.R&&97<=e.w&&122>e.w&&(e.w-=32),e.b|=128,e.b&64&&Ib(e.a,e.ba))});this.ca=Kb(52,4);this.O=Hb(this.a,function(){e.c|=128;e.c&64&&Ib(e.a,e.ca)});$a(b,this,Te);E(this)};
|
h.$=function(a,b,c){var d=this;switch(b){case Ye:return this.o[b]=this.f=c,c.onkeydown=function(a){a=a||window.event;var b=a.keyCode;if(8===b||a.ctrlKey&&65<=b&&90>=b)a.preventDefault&&a.preventDefault(),64<b&&(b-=64),d.xb(b);return!0},c.onkeypress=function(a){a=a||window.event;d.xb(a.which||a.keyCode);a.preventDefault&&a.preventDefault();return!0},c.removeAttribute("readonly"),!0}return!1};
|
||||||
h.Kb=function(){if(!this.v){var a=fc(this.l,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.Qa)return;b=pa(b[1]);if(this.v=Ta(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.A=d.receiveData){this.status(this.oa+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ka=function(a,b){if(!b)if(this.Kb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
h.ha=function(a,b,c,d){this.j=a;this.h=b;this.a=c;this.C=d;var e=this;this.aa=Qb(48,4);this.N=Nb(this.a,function(){e.b&128||!e.i.length||(e.w=e.i.shift()&255,e.R&&97<=e.w&&122>e.w&&(e.w-=32),e.b|=128,e.b&64&&Ob(e.a,e.aa))});this.da=Qb(52,4);this.P=Nb(this.a,function(){e.c|=128;e.c&64&&Ob(e.a,e.da)});ab(b,this,Ze);F(this)};
|
||||||
h.ja=function(a){return a?this.save():!0};h.reset=function(){Ue(this)};h.save=function(){var a=new P(this);a.set(0,[]);return a.data()};h.restore=function(){return Ue(this)};function Ue(a){a.w=0;a.b=0;a.c=128;a.i=[];return!0}h.yb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.i.push(a.charCodeAt(b));else this.i=this.i.concat(a);Jb(this.a,this.N,1E3/Math.round(this.G/10));return!0};h.Rc=function(){return this.b&65534};
|
h.Kb=function(){if(!this.v){var a=lc(this.j,"connection");if(a){var b=a.split("->");if(2==b.length){var c=pa(b[0]);if(c!=this.Pa)return;b=pa(b[1]);if(this.v=Ta(b)){var d=this.v.exports;if(d){var e=d.connect;e&&e.call(this.v);if(this.A=d.receiveData){this.status(this.na+"."+c+" connected to "+b);return}}}}this.status("Unable to establish connection: "+a)}}};h.ja=function(a,b){if(!b)if(this.Kb(),!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};
|
||||||
h.Jd=function(a){this.b=this.b&-112|a&111};h.Qc=function(){this.b&=-129;0<this.i.length&&Jb(this.a,this.N,1E3/Math.round(this.G/10));return this.w};h.Id=function(){};h.kd=function(){return this.c};h.be=function(a){128==(this.c&192)&&a&64&&Jb(this.a,this.O,1E3/Math.round(this.I/10));this.c=this.c&-70|a&69};h.jd=function(){return 0};
|
h.ia=function(a){return a?this.save():!0};h.reset=function(){$e(this)};h.save=function(){var a=new Q(this);a.set(0,[]);return a.data()};h.restore=function(){return $e(this)};function $e(a){a.w=0;a.b=0;a.c=128;a.i=[];return!0}h.xb=function(a){if("number"==typeof a)this.i.push(a);else if("string"==typeof a)for(var b=0;b<a.length;b++)this.i.push(a.charCodeAt(b));else this.i=this.i.concat(a);Pb(this.a,this.N,1E3/Math.round(this.D/10));return!0};h.Qc=function(){return this.b&65534};
|
||||||
h.ae=function(a){if(a&=255){this.A&&this.A.call(this.v,a);if(this.f)if(13==a)this.s=0;else if(8==a)this.f.value=this.f.value.slice(0,-1),0<this.s&&this.s--;else{var b;b=(b=qa[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.J||8,c=a-this.s%a,this.J&&(b=" ".slice(0,c)));this.F&&!this.s&&c&&(b=String.fromCharCode(this.F)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.T(this.m),
|
h.Id=function(a){this.b=this.b&-112|a&111};h.Pc=function(){this.b&=-129;0<this.i.length&&Pb(this.a,this.N,1E3/Math.round(this.D/10));return this.w};h.Hd=function(){};h.jd=function(){return this.c};h.ae=function(a){128==(this.c&192)&&a&64&&Pb(this.a,this.P,1E3/Math.round(this.I/10));this.c=this.c&-70|a&69};h.hd=function(){return 0};
|
||||||
this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;Jb(this.a,this.O,1E3/Math.round(this.I/10))}};var Ve={},Te=(Ve[65392]=[null,null,Z.prototype.Rc,Z.prototype.Jd,"RCSR"],Ve[65394]=[null,null,Z.prototype.Qc,Z.prototype.Id,"RBUF"],Ve[65396]=[null,null,Z.prototype.kd,Z.prototype.be,"XCSR"],Ve[65398]=[null,null,Z.prototype.jd,Z.prototype.ae,"XBUF"],Ve);Ha(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Z(d);C(d,c)}});
|
h.$d=function(a){if(a&=255){this.A&&this.A.call(this.v,a);if(this.f)if(13==a)this.s=0;else if(8==a)this.f.value=this.f.value.slice(0,-1),0<this.s&&this.s--;else{var b;b=(b=qa[a])?"<"+b+">":String.fromCharCode(a);var c=b.length;32>a&&1==c&&(c=0);9==a&&(a=this.J||8,c=a-this.s%a,this.J&&(b=" ".slice(0,c)));this.G&&!this.s&&c&&(b=String.fromCharCode(this.G)+b);this.f.value+=b;this.f.scrollTop=this.f.scrollHeight;this.s+=c}else if(null!=this.m){if(10==a||1024<=this.m.length)this.T(this.m),
|
||||||
function Nb(a){x.call(this,"PC11",a,Nb);this.c=a.autoMount||null;this.m=0;this.O=a.baudReceive||3600;this.w=this.A=this.b=0;this.v=[];this.s=We;this.f=Xe;this.G=this.i="";this.K=this.ga=this.fa=null;this.I=-1;this.F=!Ba("Mobi")&&window&&"FileReader"in window}z(Nb);var We="",Xe=0;h=Nb.prototype;
|
this.m="";10!=a&&(this.m+=String.fromCharCode(a))}this.c&=-129;Pb(this.a,this.P,1E3/Math.round(this.I/10))}};var af={},Ze=(af[65392]=[null,null,Z.prototype.Qc,Z.prototype.Id,"RCSR"],af[65394]=[null,null,Z.prototype.Pc,Z.prototype.Hd,"RBUF"],af[65396]=[null,null,Z.prototype.jd,Z.prototype.ae,"XCSR"],af[65398]=[null,null,Z.prototype.hd,Z.prototype.$d,"XBUF"],af);Ha(function(){for(var a=D(document,"pdp11","serial"),b=0;b<a.length;b++){var c=a[b],d=B(c),d=new Z(d);C(d,c)}});
|
||||||
h.$=function(a,b,c){var d=this,e=Xe;switch(b){case "listTapes":return this.o[b]=c,c.onchange=function(){var a=d.o.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){u("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.o[b]=c,c.onclick=function(){var a=
|
function Ub(a){x.call(this,"PC11",a,Ub);this.c=a.autoMount||null;this.m=0;this.P=a.baudReceive||3600;this.w=this.A=this.b=0;this.v=[];this.s=bf;this.f=cf;this.D=this.i="";this.K=this.fa=this.ea=null;this.I=-1;this.G=!Ba("Mobi")&&window&&"FileReader"in window}z(Ub);var bf="",cf=0;h=Ub.prototype;
|
||||||
d.o.listTapes;a&&Ye(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.F){c.parentNode.removeChild(c);break}this.o[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Ye(d,q(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.o[b]=c,!0}return!1};
|
h.$=function(a,b,c){var d=this,e=cf;switch(b){case "listTapes":return this.o[b]=c,c.onchange=function(){var a=d.o.descTape,b=c.options[c.selectedIndex];if(a&&b){var e={};if(b=b.getAttribute("data-value"))try{e=eval("("+b+")")}catch(l){u("PC11 option error: "+l.message)}b=e.desc;void 0===b&&(b="");e=e.href;void 0!==e&&(b='<a href="'+e+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descTape":return this.o[b]=c,!0;case "loadTape":e=2;case "attachTape":return e||(e=1),this.o[b]=c,c.onclick=function(){var a=
|
||||||
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.C=d;this.J=Ze(a);var e=this;if((this.c=fc(this.l,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){u("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.N=Kb(56,4);this.R=Hb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.w<e.v.length&&(e.A=e.v[e.w++]&255,$e(e,e.w/e.v.length*100),e.b|=128,e.b&=-2049,e.b&64&&Ib(e.a,e.N))});$a(b,this,af);bf(this,"None",We,!0);this.F&&bf(this,"Local Tape","?");
|
d.o.listTapes;a&&df(d,a.options[a.selectedIndex].text,a.value,e)},!0;case "mountTape":if(!this.G){c.parentNode.removeChild(c);break}this.o[b]=c;c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length});c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;df(d,q(b,!0),b,1,a)}return!1};return!0;case "readProgress":return this.o[b]=c,!0}return!1};
|
||||||
bf(this,"Remote Tape","??");cf(this)||E(this)};h.ka=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.A=0};function cf(a){a.m=0;if(a.c){var b=a.c.path||"",c;if(!(c=a.c.name))a:{if((c=a.o.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=q(b,!0)}b&&c?df(a,c,b,1,!0):ef(a)}return!!a.m}
|
h.ha=function(a,b,c,d){this.j=a;this.h=b;this.a=c;this.C=d;this.J=ef(a);var e=this;if((this.c=lc(this.j,"autoMount")||this.c)&&"string"==typeof this.c)try{this.c=eval("("+this.c+")")}catch(f){u("PC11 auto-mount error: "+f.message+" ("+this.c+")"),this.c=null}this.N=Qb(56,4);this.R=Nb(this.a,function(){1==(e.b&32769)&&!(e.b&128)&&e.w<e.v.length&&(e.A=e.v[e.w++]&255,ff(e,e.w/e.v.length*100),e.b|=128,e.b&=-2049,e.b&64&&Ob(e.a,e.N))});ab(b,this,gf);hf(this,"None",bf,!0);this.G&&hf(this,"Local Tape","?");
|
||||||
function Ye(a,b,c,d,e){if(c)if("?"==c)a.D('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=q(c);a.status("Attempting to load "+c+' as "'+b+'"');a.s="??"}else a.s=c;df(a,b,c,d,!1,e)}else ff(a,!1)}function df(a,b,c,d,e,f){var g=-1;if(a.i.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,ff(a,!0),a.j.Ea?a.D("PC11 busy"):(e&&a.m++,gf(a,b,c,d,f)?g++:a.j.Ea=!0);g&&hf(a,a.G,a.i,a.f,a.K,a.ga,a.fa)}
|
hf(this,"Remote Tape","??");jf(this)||F(this)};h.ja=function(a,b){if(!b)if(!a||!this.restore)this.reset();else if(!this.restore(a))return!1;return!0};h.ia=function(a){return a?this.save():!0};h.reset=function(){this.b&=-2241;this.A=0};function jf(a){a.m=0;if(a.c){var b=a.c.path||"",c;if(!(c=a.c.name))a:{if((c=a.o.listTapes)&&c.options)for(var d=0;d<c.options.length;d++){var e=c.options[d];if(e.value==b){c=e.text;break a}}c=q(b,!0)}b&&c?kf(a,c,b,1,!0):lf(a)}return!!a.m}
|
||||||
function gf(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),hf(a,b,c,d,e),a.s="?");ef(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):v()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!r(f,null,!0,function(e,f,g){var k=0>g&&a.l&&!a.l.j.P;g?a.D('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Sa(a.oa,e,f),(e=ta(e,f))&&hf(a,b,c,d,e.K,e.ga,e.fa));
|
function df(a,b,c,d,e){if(c)if("?"==c)a.F('Use "Choose File" and "Mount" to select and load a local tape.');else{if("??"==c){c=window.prompt("Enter the URL of a remote tape image.","")||"";if(!c)return;b=q(c);a.status("Attempting to load "+c+' as "'+b+'"');a.s="??"}else a.s=c;kf(a,b,c,d,!1,e)}else mf(a,!1)}function kf(a,b,c,d,e,f){var g=-1;if(a.i.toLowerCase()!=c.toLowerCase()||a.f!=d)g++,mf(a,!0),a.l.Ea?a.F("PC11 busy"):(e&&a.m++,nf(a,b,c,d,f)?g++:a.l.Ea=!0);g&&of(a,a.D,a.i,a.f,a.K,a.fa,a.ea)}
|
||||||
a.j.Ea=!1;a.m&&(a.m--,a.m||E(a));ef(a)})}function bf(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function ef(a){var b=a.o.listTapes;if(b&&b.options){a=a.s||a.i;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
|
function nf(a,b,c,d,e){var f=c;if(e){var g=new FileReader;g.onload=function(){var e=g.result;e&&(e=new Uint8Array(e,0,e.byteLength),of(a,b,c,d,e),a.s="?");lf(a)};g.readAsArrayBuffer(e);return!0}0>c.indexOf("/api/v1/dump")&&(e=la(c),f="json"==e||"gz"==e?encodeURI(c):v()+"/api/v1/dump?path="+encodeURIComponent(c)+"&format=json");return!!r(f,null,!0,function(e,f,g){var k=0>g&&a.j&&!a.j.l.O;g?a.F('Unable to load tape "'+b+'" (error '+g+": "+e+")",k):(Sa(a.na,e,f),(e=ta(e,f))&&of(a,b,c,d,e.K,e.fa,e.ea));
|
||||||
function $e(a,b){b|=0;if(b!==a.I){var c=a.o.readProgress;c&&(c=(c=D(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.I=b}}function hf(a,b,c,d,e,f,g){a.G=b;a.i=c;a.f=d;a.K=e;a.ga=f;a.fa=g;2==d?a.J&&Qe(a.J,e,f,g)?a.status("tape loaded: "+b):(a.G="",a.i="",a.s=We,a.f=Xe,a.D("No load address available for tape: "+b)):(a.w=0,a.v=e,a.status("tape attached: "+b),$e(a,0))}
|
a.l.Ea=!1;a.m&&(a.m--,a.m||F(a));lf(a)})}function hf(a,b,c,d){if((a=a.o.listTapes)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}function lf(a){var b=a.o.listTapes;if(b&&b.options){a=a.s||a.i;for(var c=0;c<b.options.length;c++)if(b.options[c].value==a){b.selectedIndex!=c&&(b.selectedIndex=c);break}c==b.options.length&&(b.selectedIndex=0)}}
|
||||||
function ff(a,b){if(a.i||!1===b)a.G="",a.i="",b||(a.f&&a.status(1==a.f?"tape detached":"tape unloaded"),a.s=We,a.f=Xe,ef(a))}h.save=function(){return(new P(this)).data()};h.restore=function(){return!0};h.Kc=function(){return this.b&65534};h.Cd=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&Ib(this.a,this.N)):(this.b&=-129,this.b|=2048,this.A=0,Jb(this.a,this.R,1E3/Math.round(this.O/10))));this.b=this.b&-66|a&65};h.Jc=function(){this.b&=-129;this.b|=2048;return this.A};h.Bd=function(){};
|
function ff(a,b){b|=0;if(b!==a.I){var c=a.o.readProgress;c&&(c=(c=D(c,"pcjs-progress-bar"))&&c[0])&&c.style&&(c.style.width=b+"%");a.I=b}}function of(a,b,c,d,e,f,g){a.D=b;a.i=c;a.f=d;a.K=e;a.fa=f;a.ea=g;2==d?a.J&&We(a.J,e,f,g)?a.status("tape loaded: "+b):(a.D="",a.i="",a.s=bf,a.f=cf,a.F("No load address available for tape: "+b)):(a.w=0,a.v=e,a.status("tape attached: "+b),ff(a,0))}
|
||||||
var jf={},af=(jf[65384]=[null,null,Nb.prototype.Kc,Nb.prototype.Cd,"PRS"],jf[65386]=[null,null,Nb.prototype.Jc,Nb.prototype.Bd,"PRB"],jf);function kf(a,b,c){x.call(this,"Disk",{id:a.oa+".disk"+m(++lf,4)},kf);this.controller=a;this.l=a.l;this.C=a.C;this.f=b;this.ua=b.name;this.rb=b.rb;mf(this,c,b.V,b.Z,b.S,b.ha);E(this)}var lf=0;z(kf);h=kf.prototype;h.ia=function(a,b,c,d){this.C=d};
|
function mf(a,b){if(a.i||!1===b)a.D="",a.i="",b||(a.f&&a.status(1==a.f?"tape detached":"tape unloaded"),a.s=bf,a.f=cf,lf(a))}h.save=function(){return(new Q(this)).data()};h.restore=function(){return!0};h.Jc=function(){return this.b&65534};h.Bd=function(a){a&1&&(this.b&32768?(a&=-2,this.b&64&&Ob(this.a,this.N)):(this.b&=-129,this.b|=2048,this.A=0,Pb(this.a,this.R,1E3/Math.round(this.P/10))));this.b=this.b&-66|a&65};h.Ic=function(){this.b&=-129;this.b|=2048;return this.A};h.Ad=function(){};
|
||||||
function mf(a,b,c,d,e,f){a.mode=b;a.V=c;a.Z=d;a.S=e;a.ha=f;a.a=[];if("preload"!=a.mode){b=Array(a.V);for(c=0;c<b.length;c++){d=Array(a.Z);for(e=0;e<d.length;e++){f=Array(a.S);for(var g=1;g<=f.length;g++)f[g-1]=nf(null,c,e,g,a.ha,0);d[e]=f}b[c]=d}a.a=b}a.b=null}
|
var pf={},gf=(pf[65384]=[null,null,Ub.prototype.Jc,Ub.prototype.Bd,"PRS"],pf[65386]=[null,null,Ub.prototype.Ic,Ub.prototype.Ad,"PRB"],pf);function qf(a,b,c){x.call(this,"Disk",{id:a.na+".disk"+m(++rf,4)},qf);this.controller=a;this.j=a.j;this.C=a.C;this.f=b;this.ua=b.name;this.qb=b.qb;sf(this,c,b.V,b.Z,b.S,b.ga);F(this)}var rf=0;z(qf);h=qf.prototype;h.ha=function(a,b,c,d){this.C=d};
|
||||||
function of(a,b,c,d,e){var f=c;if(a.h)return!0;a.ua=b;a.Da=c;a.Xb=q(c);a.h=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ia[d];if(e){a.V=e[0];a.Z=e[1];a.S=e[2];a.ha=e[3]||512;c=a.ha>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.V);for(d=0;d<a.a.length;d++)for(var w=a.a[d]=Array(a.Z),T=0;T<w.length;T++)for(var va=w[T]=Array(a.S),wa=0;wa<va.length;wa++){for(var cc=nf(null,d,T,wa+1,a.ha,0),Qf=cc.data,dc=0;dc<c;dc++,f+=4)var Rf=Qf[dc]=b.getInt32(f,
|
function sf(a,b,c,d,e,f){a.mode=b;a.V=c;a.Z=d;a.S=e;a.ga=f;a.a=[];if("preload"!=a.mode){b=Array(a.V);for(c=0;c<b.length;c++){d=Array(a.Z);for(e=0;e<d.length;e++){f=Array(a.S);for(var g=1;g<=f.length;g++)f[g-1]=tf(null,c,e,g,a.ga,0);d[e]=f}b[c]=d}a.a=b}a.b=null}
|
||||||
!0),e=e+Rf&-1;cc.da=c;va[wa]=cc}a.b=e;c=a}else a.D("Unrecognized disk format ("+d+" bytes)");a.h&&(a.h.call(a.controller,a.f,c,a.ua,a.Da),a.h=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=la(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ma(c,"/")&&(d="dir"),f=v()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.rb?"":e)+"&format=json"));return!!r(f,
|
function uf(a,b,c,d,e){var f=c;if(a.h)return!0;a.ua=b;a.Da=c;a.Wb=q(c);a.h=e;a.i=a.controller;if(d){var g=new FileReader;g.onload=function(){var b=g.result,c,d=b?b.byteLength:0,e=ia[d];if(e){a.V=e[0];a.Z=e[1];a.S=e[2];a.ga=e[3]||512;c=a.ga>>2;var f=e=0,b=new DataView(b,0,d);a.a=Array(a.V);for(d=0;d<a.a.length;d++)for(var w=a.a[d]=Array(a.Z),E=0;E<w.length;E++)for(var va=w[E]=Array(a.S),wa=0;wa<va.length;wa++){for(var Rb=tf(null,d,E,wa+1,a.ga,0),Wf=Rb.data,fc=0;fc<c;fc++,f+=4)var Xf=Wf[fc]=b.getInt32(f,
|
||||||
null,!0,function(b,c,d){pf(a,b,c,d)})}
|
!0),e=e+Xf&-1;Rb.ba=c;va[wa]=Rb}a.b=e;c=a}else a.F("Unrecognized disk format ("+d+" bytes)");a.h&&(a.h.call(a.controller,a.f,c,a.ua,a.Da),a.h=null)};g.readAsArrayBuffer(d);return!0}0>c.indexOf("/api/v1/dump")&&(b=la(c),"json"==b||"gz"==b?f=encodeURI(c):(d="path",e="&mbhd=10",!c.indexOf("http:")||!c.indexOf("ftp:")||0<="dsk ima img 360 720 12 144".split(" ").indexOf(b)?(d="disk",e="&mbhd=0"):ma(c,"/")&&(d="dir"),f=v()+"/api/v1/dump?"+d+"="+encodeURIComponent(c)+(a.qb?"":e)+"&format=json"));return!!r(f,
|
||||||
function pf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.l&&!a.l.j.P;if(d)a.controller.D('Unable to load disk "'+a.ua+'" (error '+d+": "+b+")",f);else{Sa(a.controller.oa,b,c);try{if(0<q(a.Xb,!0).toLowerCase().indexOf("-readonly"))a.c=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.c=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.ua]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
null,!0,function(b,c,d){vf(a,b,c,d)})}
|
||||||
c+")");if(k.length)if(1==k.length)u(k[0]);else{a.V=k.length;a.Z=k[0].length;a.S=k[0][0].length;var l=k[0][0][0];a.ha=l&&l.length||512;for(d=c=0;d<a.V;d++)for(f=0;f<a.Z;f++)for(g=0;g<a.S;g++)if(l=k[d][f][g]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var t=l.data;if(void 0===t){var w=l.bytes;if(void 0!==w&&w.length){for(var T=n<<2,va=w.length;va<T;va++)w[va]=p;qf(l,w)}else t=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=t;delete l.bytes}nf(l,d,f);for(T=
|
function vf(a,b,c,d){var e=null;a.c=!1;var f=0>d&&a.j&&!a.j.l.O;if(d)a.controller.F('Unable to load disk "'+a.ua+'" (error '+d+": "+b+")",f);else{Sa(a.controller.na,b,c);try{if(0<q(a.Wb,!0).toLowerCase().indexOf("-readonly"))a.c=!0;else{var g=c.indexOf("\n");0<g&&1024>g&&0<c.substring(0,g).indexOf("write-protected")&&(a.c=!0)}var k;"<"==c.substr(0,1)?k=["Missing disk image: "+a.ua]:k=0>c.indexOf("0x")&&'["'!=c.substr(0,2)?JSON.parse(c.replace(/([a-z]+):/gm,'"$1":').replace(/\/\/[^\n]*/gm,"")):eval("("+
|
||||||
0;T<t.length;T++)c=c+t[T]&-1}a.a=k;a.b=c;e=a}else u("Empty disk image: "+a.ua)}catch(wa){u("Disk image error ("+b+"): "+wa.message)}}a.h&&(a.h.call(a.i,a.f,e,a.ua,a.Da),a.h=null)}function nf(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.ee=b;a.fe=c;a.ma=a.da=0;a.ta=!1;return a}
|
c+")");if(k.length)if(1==k.length)u(k[0]);else{a.V=k.length;a.Z=k[0].length;a.S=k[0][0].length;var l=k[0][0][0];a.ga=l&&l.length||512;for(d=c=0;d<a.V;d++)for(f=0;f<a.Z;f++)for(g=0;g<a.S;g++)if(l=k[d][f][g]){var n=l.length;void 0===n&&(n=l.length=512);var n=n>>2,p=l.pattern;void 0===p&&(p=l.pattern=0);var t=l.data;if(void 0===t){var w=l.bytes;if(void 0!==w&&w.length){for(var E=n<<2,va=w.length;va<E;va++)w[va]=p;wf(l,w)}else t=[],p=l.pattern=p|p<<8|p<<16|p<<24,l.data=t;delete l.bytes}tf(l,d,f);for(E=
|
||||||
h.seek=function(a,b,c,d,e){d=null;var f=this.f,g=this.a[a];if(g){var k=g[b];if(!k&&f.cc&&b<f.Z)for(k=g[b]=Array(f.dc),g=0;g<k.length;g++)k[g]=nf(null,a,b,g+1,f.Ob,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.cc&&9==f.Gb&&(d=k[g]=nf(null,a,b,f.Gb,f.Ob,0))}}e&&e(d,!1);return d};function qf(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
0;E<t.length;E++)c=c+t[E]&-1}a.a=k;a.b=c;e=a}else u("Empty disk image: "+a.ua)}catch(wa){u("Disk image error ("+b+"): "+wa.message)}}a.h&&(a.h.call(a.i,a.f,e,a.ua,a.Da),a.h=null)}function tf(a,b,c,d,e,f){a||(a={sector:d,length:e,data:[],pattern:f});a.de=b;a.ee=c;a.la=a.ba=0;a.ta=!1;return a}
|
||||||
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.da?f<a.ma?(a.da+=a.ma-f,a.ma=f):f>=a.ma+a.da&&(a.da+=f-(a.ma+a.da)+1):(a.ma=f,a.da=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
h.seek=function(a,b,c,d,e){d=null;var f=this.f,g=this.a[a];if(g){var k=g[b];if(!k&&f.bc&&b<f.Z)for(k=g[b]=Array(f.cc),g=0;g<k.length;g++)k[g]=tf(null,a,b,g+1,f.Pb,0);if(k){for(g=0;g<k.length;g++)if(k[g]&&k[g].sector==c){d=k[g];break}!d&&f.bc&&9==f.Fb&&(d=k[g]=tf(null,a,b,f.Fb,f.Pb,0))}}e&&e(d,!1);return d};function wf(a,b){for(var c=0,d=a.length>>2,e=Array(d),f=0;f<d;f++)e[f]=b[c]|b[c+1]<<8|b[c+2]<<16|b[c+3]<<24,c+=4;a.data=e}
|
||||||
function rf(a,b){var c=a.Z*a.S,d=b/c|0;return d<a.V?(b%=c,a.seek(d,b/a.S|0,b%a.S+1)):null}function sf(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}h.save=function(){var a=0,b=[];b[a++]=[this.Da,this.b,this.V,this.Z,this.S,this.ha];if(!this.c)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.da){for(var k=[],l=0,n=g.ma,p=g.ma+g.da;n<p;)k[l++]=g.data[n++];b[a++]=[d,e,f,g.ma,k]}}return b};
|
h.read=function(a,b){var c=-1;if(a&&b<a.length)var c=a.data,d=b>>2,c=(d<c.length?c[d]:a.pattern)>>((b&3)<<3)&255;return c};h.write=function(a,b,c){if(this.c)return!1;if(b<a.length){if(c!=this.read(a,b,!0)){var d=a.data,e=a.pattern,f=b>>2;b=(b&3)<<3;for(var g=d.length;g<=f;g++)d[g]=e;a.ba?f<a.la?(a.ba+=a.la-f,a.la=f):f>=a.la+a.ba&&(a.ba+=f-(a.la+a.ba)+1):(a.la=f,a.ba=1);d[f]=d[f]&~(255<<b)|c<<b}return!0}return null};
|
||||||
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?mf(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.b&&e[1]!=this.b&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.b+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],n=g[f++];if(k>=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+
|
function xf(a,b){var c=a.Z*a.S,d=b/c|0;return d<a.V?(b%=c,a.seek(d,b/a.S|0,b%a.S+1)):null}function yf(a,b,c){for(var d=1,e=0,f=0;d--;){var g=a.read(b,c++);if(0>g)break;e|=g<<f;f+=8}return e}h.save=function(){var a=0,b=[];b[a++]=[this.Da,this.b,this.V,this.Z,this.S,this.ga];if(!this.c)for(var c=this.a,d=0;d<c.length;d++)for(var e=0;e<c[d].length;e++)for(var f=0;f<c[d][e].length;f++){var g=c[d][e][f];if(g&&g.ba){for(var k=[],l=0,n=g.la,p=g.la+g.ba;n<p;)k[l++]=g.data[n++];b[a++]=[d,e,f,g.la,k]}}return b};
|
||||||
b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.ma=e;for(k.da=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.D("Unable to restore disk '"+this.ua+": "+c);return b};
|
h.restore=function(a){var b=0,c="unsupported restore format";if(a&&0<a.length){var d=0,e=a[d++];e&&2<=e.length&&(!this.a.length&&6<=e.length?sf(this,"local",e[2],e[3],e[4],e[5]):null!=e[1]&&null!=this.b&&e[1]!=this.b&&(c="original checksum ("+e[1]+") differs from current checksum ("+this.b+")",b=-2));for(this.a.length||(b=-1);d<a.length&&0<=b;){var f=0,g=a[d++],k=g[f++],l=g[f++],n=g[f++];if(k>=this.a.length||l>=this.a[k].length||n>=this.a[k][l].length){c="sector (CHS="+k+":"+l+":"+n+") out of range ("+
|
||||||
h.toJSON=function(){var a;a=0;for(var b;b=rf(this,a++);)tf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
b+" changes applied)";b=-1;break}if(this.c){c="unable to modify write-protected disk";b=-1;break}e=g[f++];f=g[f++];g=e+f.length;if(k=this.a[k][l][n]){for(l=k.data.length;l<e;)k.data[l++]=k.pattern;l=0;k.la=e;for(k.ba=f.length;e<g;)k.data[e++]=f[l++];b++}}}0>b&&-2!=b&&this.controller.F("Unable to restore disk '"+this.ua+": "+c);return b};
|
||||||
function tf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function N(a){x.call(this,"RL11",a,N);this.f=a.autoMount||null;this.s=0;this.b=Array(1);this.A=!Ba("Mobi")&&window&&"FileReader"in window}z(N);h=N.prototype;
|
h.toJSON=function(){var a;a=0;for(var b;b=xf(this,a++);)zf(b);a=JSON.stringify(this.a,function(a,b){if("file"!=a)return b});a=a.replace(/,"length":512/gm,"").replace(/,"pattern":0/gm,"");a=a.replace(/"(sector|length|data|pattern)":/gm,"$1:");a=a.replace(/,"[^"]*":([0-9]+|true|false)/gm,"");a=a.replace(/(sector|length|data|pattern):/gm,'"$1":');return a=a.replace(/([\]}]),/gm,"$1,\n")};
|
||||||
h.$=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){var a=d.o.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){u("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=ja(c.value);null!=a&&uf(d,a)},!0;case "loadDrive":return this.o[b]=
|
function zf(a){var b=a.data,c=b.length;if(c<<2==a.length){for(var d=c-1,e=b[d],f=0;d--&&b[d]===e;)f++;f++&&(b.length=c-f,a.pattern=e)}}function O(a){x.call(this,"RL11",a,O);this.f=a.autoMount||null;this.s=0;this.b=Array(4);this.A=!Ba("Mobi")&&window&&"FileReader"in window}z(O);h=O.prototype;
|
||||||
c,c.onclick=function(){var a=d.o.listDisks;a&&vf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.A){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=d.b[ja(a.value)||0])if(a=a.ea){var b;b="";for(var c=0,k;k=rf(a,c++);)for(var l=0,n=k.length;l<n;l++)b+=String.fromCharCode(sf(a,k,l));b=btoa(b);a=a.Xb.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=
|
h.$=function(a,b,c){var d=this;switch(b){case "listDisks":return this.o[b]=c,c.onchange=function(){var a=d.o.descDisk,b=c.options[c.selectedIndex];if(a&&b){var g={};if(b=b.getAttribute("data-value"))try{g=eval("("+b+")")}catch(k){u("RL11 option error: "+k.message)}b=g.desc;void 0===b&&(b="");g=g.href;void 0!==g&&(b='<a href="'+g+'" target="_blank">'+b+"</a>");a.innerHTML=b}},!0;case "descDisk":case "listDrives":return this.o[b]=c,c.onchange=function(){var a=ja(c.value);null!=a&&Af(d,a)},!0;case "loadDrive":return this.o[b]=
|
||||||
typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(a?" ("+a+")":"")+".");u(a)}else d.D("No disk loaded in drive.");else d.D("No disk drive selected.")};return!0;case "mountDrive":if(this.A)return this.o[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),
|
c,c.onclick=function(){var a=d.o.listDisks;a&&Bf(d,a.options[a.selectedIndex].text,a.value)},!0;case "saveDrive":if(!this.A){c.parentNode.removeChild(c);break}this.o[b]=c;c.onclick=function(){var a=d.o.listDrives;if(a&&a.options&&d.b)if(a=d.b[ja(a.value)||0])if(a=a.ca){var b;b="";for(var c=0,k;k=xf(a,c++);)for(var l=0,n=k.length;l<n;l++)b+=String.fromCharCode(yf(a,k,l));b=btoa(b);a=a.Wb.replace(".json",".img");c=null;b="data:application/octet-stream;base64,"+b;a&&(c=document.createElement("a"),"string"!=
|
||||||
c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;vf(d,q(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
typeof c.download&&(c=null));c?(c.href=b,c.download=a,document.body.appendChild(c),c.click(),document.body.removeChild(c),a="Check your Downloads folder for "+a+"."):(window.open(b),a="Check your browser for a new window/tab containing the requested data"+(a?" ("+a+")":"")+".");u(a)}else d.F("No disk loaded in drive.");else d.F("No disk drive selected.")};return!0;case "mountDrive":if(this.A)return this.o[b]=c,c.addEventListener("change",function(){var a=c.children[0];a.children[1].disabled=!a.children[0].files.length}),
|
||||||
h.ia=function(a,b,c,d){this.l=a;this.h=b;this.a=c;this.C=d;if((this.f=fc(this.l,"autoMount")||this.f)&&"string"==typeof this.f)try{this.f=eval("("+this.f+")")}catch(e){u("RL11 auto-mount error: "+e.message+" ("+this.f+")"),this.f=null}wf(this);this.F=Kb(112,5);$a(b,this,xf);yf(this,"None","",!0);this.A&&yf(this,"Local Disk","?");yf(this,"Remote Disk","??");zf(this)||E(this)};
|
c.onsubmit=function(a){if(a=a.currentTarget[1].files[0]){var b=a.name;Bf(d,q(b,!0),b,a)}return!1},!0;c.parentNode.removeChild(c)}return!1};
|
||||||
h.ka=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.l.Ib){for(a=0;a<this.b.length;a++)Af(this,a,!0);zf(this,!0)}}else if(!this.restore(a))return!1;if(a=this.o.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;1>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";uf(this,0)}}return!0};h.ja=function(a){return a?this.save():!0};h.reset=function(){wf(this)};h.save=function(){return(new P(this)).data()};
|
h.ha=function(a,b,c,d){this.j=a;this.h=b;this.a=c;this.C=d;if((this.f=lc(this.j,"autoMount")||this.f)&&"string"==typeof this.f)try{this.f=eval("("+this.f+")")}catch(e){u("RL11 auto-mount error: "+e.message+" ("+this.f+")"),this.f=null}Cf(this);this.G=Qb(112,5);ab(b,this,Df,2097152);Ef(this,"None","",!0);this.A&&Ef(this,"Local Disk","?");Ef(this,"Remote Disk","??");Ff(this)||F(this)};
|
||||||
h.restore=function(a){return wf(this,a[0])};function zf(a,b){b||(a.s=0);if(a.f)for(var c in a.f){var d=a.f[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=q(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.b.length)){!Bf(a,g,f,e,!0)&&b&&E(a,!1);continue}a.D("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.s}
|
h.ja=function(a,b){if(!b){if(!a||!this.restore){if(this.reset(),this.j.Hb){for(a=0;a<this.b.length;a++)Gf(this,a,!0);Ff(this,!0)}}else if(!this.restore(a))return!1;if(a=this.o.listDrives){for(;a.firstChild;)a.removeChild(a.firstChild);a.value="";for(b=0;4>b;b++){var c=document.createElement("option");c.value=b;c.text="RL"+b;a.appendChild(c)}a.value="0";Af(this,0)}}return!0};h.ia=function(a){return a?this.save():!0};h.reset=function(){Cf(this)};h.save=function(){return(new Q(this)).data()};
|
||||||
function vf(a,b,c,d){var e=a.o.listDrives,e=e&&ja(e.value);if(void 0===e||0>e||e>=a.b.length)a.D("Unable to load the selected drive");else if(c)if("?"==c)a.D('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=q(c);a.status("Attempting to load "+c+' as "'+b+'"')}Bf(a,e,b,c,!1,d)}else Af(a,e)}
|
h.restore=function(a){return Cf(this,a[0])};function Ff(a,b){b||(a.s=0);if(a.f)for(var c in a.f){var d=a.f[c],e=d.path||"",f;if(!(f=d.name))a:{if((f=a.o.listDisks)&&f.options)for(var g=0;g<f.options.length;g++){var k=f.options[g];if(k.value==e){f=k.text;break a}}f=q(e,!0)}if(e&&f&&(g=-1,c&&(g=c.charCodeAt(c.length-1)-48,0>g||9<g)&&(g=-1),0<=g&&g<a.b.length)){!Hf(a,g,f,e,!0)&&b&&F(a,!1);continue}a.F("Incorrect auto-mount settings for drive "+c+" ("+JSON.stringify(d)+")")}return!!a.s}
|
||||||
function Bf(a,b,c,d,e,f){var g=-1,k=a.b[b];k.Da.toLowerCase()!=d.toLowerCase()&&(g++,Af(a,b,!0),k.qb?a.D("RL11 busy"):(k.qb=!0,e&&(k.pb=!0,a.s++),k.hb=!!f,of(new kf(a,k,"preload"),c,d,f,a.ec)&&g++));return g}
|
function Bf(a,b,c,d){var e=a.o.listDrives,e=e&&ja(e.value);if(void 0===e||0>e||e>=a.b.length)a.F("Unable to load the selected drive");else if(c)if("?"==c)a.F('Use "Choose File" and "Mount" to select and load a local disk.');else{if("??"==c){c=window.prompt("Enter the URL of a remote disk image.","")||"";if(!c)return;b=q(c);a.status("Attempting to load "+c+' as "'+b+'"')}Hf(a,e,b,c,!1,d)}else Gf(a,e)}
|
||||||
h.ec=function(a,b,c,d,e){var f;a.qb=!1;b&&(f=b.a.length?[b.a.length,b.a[0].length,b.a[0][0].length,b.a[0][0][0].length]:[0,0,0,0],b&&f[0]>a.V||f[1]>a.Z)&&(this.D('Disk "'+c+'" too large for drive '+("RL"+a.ub)),b=null);b?(a.ea=b,a.ua=c,a.Da=d,this.D('Mounted disk "'+c+'" in drive '+("RL"+a.ub),a.pb||e),this.l&&lc(this.l)):a.hb=!1;a.pb&&(a.pb=!1,--this.s||E(this));uf(this,a.ub)};
|
function Hf(a,b,c,d,e,f){var g=-1,k=a.b[b];k.Da.toLowerCase()!=d.toLowerCase()&&(g++,Gf(a,b,!0),k.pb?a.F("RL11 busy"):(k.pb=!0,e&&(k.ob=!0,a.s++),k.ib=!!f,uf(new qf(a,k,"preload"),c,d,f,a.dc)&&g++));return g}
|
||||||
function yf(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
h.dc=function(a,b,c,d,e){var f;a.pb=!1;b&&(f=b.a.length?[b.a.length,b.a[0].length,b.a[0][0].length,b.a[0][0][0].length]:[0,0,0,0],b&&f[0]>a.V||f[1]>a.Z)&&(this.F('Disk "'+c+'" too large for drive '+("RL"+a.vb)),b=null);b?(a.ca=b,a.ua=c,a.Da=d,this.F('Mounted disk "'+c+'" in drive '+("RL"+a.vb),a.ob||e),this.j&&rc(this.j)):a.ib=!1;a.ob&&(a.ob=!1,--this.s||F(this));Af(this,a.vb)};
|
||||||
function uf(a,b){if(0<=b&&b<a.b.length){var c=a.b[b],d=a.o.listDisks;a=a.o.listDrives;if(d&&a&&d.options&&a.options&&(a=ja(a.value),c=c.hb?"?":c.Da,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Af(a,b,c){var d=a.b[b];if(d.ea||!1===c)d.ua="",d.Da="",d.ea=null,d.hb=!1,c||(a.D("Drive RL"+b+" unloaded",c),uf(a,b))}
|
function Ef(a,b,c,d){if((a=a.o.listDisks)&&a.options){for(var e=0;e<a.options.length;e++)if(a.options[e].value==c)return;e=document.createElement("option");e.text=b;e.value=c;d&&a.childNodes[0]?a.insertBefore(e,a.childNodes[0]):a.appendChild(e)}}
|
||||||
function wf(a,b){var c=0;b||(b=[]);a.L=b[c++]||0;a.v=b[c++]||0;a.c=b[c++]||0;a.i=b[c++]||0;a.m=b[c++]||0;a.w=b[c]||0;for(b=0;b<a.b.length;b++){var d=a.b[b];void 0===d&&(d=a.b[b]={});c=a;d.ub=b;d.qb=d.hb=!1;d.name=c.Qa;d.V=512;d.Z=2;d.S=40;d.ha=256;d.rb=!0;d.de=0;d.ce=0;d.Gb=1;d.dc=d.S;d.Ob=d.ha;d.ge=0;d.he=null;d.ea||(d.Da="");d.status=29|(512==d.V?128:0)}return!0}
|
function Af(a,b){if(0<=b&&b<a.b.length){var c=a.b[b],d=a.o.listDisks;a=a.o.listDrives;if(d&&a&&d.options&&a.options&&(a=ja(a.value),c=c.ib?"?":c.Da,!isNaN(a)&&a==b)){for(b=0;b<d.options.length;b++)if(d.options[b].value==c){d.selectedIndex!=b&&(d.selectedIndex=b);break}b==d.options.length&&(d.selectedIndex=0)}}}function Gf(a,b,c){var d=a.b[b];if(d.ca||!1===c)d.ua="",d.Da="",d.ca=null,d.ib=!1,c||(a.F("Drive RL"+b+" unloaded",c),Af(a,b))}
|
||||||
h.fc=function(a,b,c,d,e,f){this.v=f&65535;this.L=this.L&-49|f>>12&48;this.w=f>>16&63;this.i=this.c=b<<7|(c?64:0)|d&63;this.m=65536-e&65535;a&&(this.L=this.L|a|32768);return!0};
|
function Cf(a,b){var c=0;b||(b=[]);a.L=b[c++]||0;a.v=b[c++]||0;a.c=b[c++]||0;a.i=b[c++]||0;a.m=b[c++]||0;a.w=b[c]||0;for(b=0;b<a.b.length;b++){var d=a.b[b];void 0===d&&(d=a.b[b]={});c=a;d.vb=b;d.pb=d.ib=!1;d.name=c.Pa;d.V=512;d.Z=2;d.S=40;d.ga=256;d.qb=!0;d.ce=0;d.be=0;d.Fb=1;d.cc=d.S;d.Pb=d.ga;d.fe=0;d.ge=null;d.ca||(d.Da="");d.status=29|(512==d.V?128:0)}return!0}
|
||||||
h.xc=function(a,b,c,d,e,f,g){for(var k=0,l=a.ea,n=null,p;e--;){if(!n){n=a.ea.seek(b,c,d+1);if(!n){k=5120;break}p=0}var t,w;if(0>(t=a.ea.read(n,p++))||0>(w=a.ea.read(n,p++))){k=5120;break}Db(this.h,f,t|w<<8);if(Gb(this.h)){k=8192;break}f+=2;if(p>=l.ha&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.V)))){k=5120;break}}return g(k,b,c,d,e,f)};
|
h.ec=function(a,b,c,d,e,f){this.v=f&65535;this.L=this.L&-49|f>>12&48;this.w=f>>16&63;this.i=this.c=b<<7|(c?64:0)|d&63;this.m=65536-e&65535;a&&(this.L=this.L|a|32768);return!0};
|
||||||
h.rd=function(a,b,c,d,e,f,g){for(var k=0,l=a.ea,n=null,p;e--;){var t=Cb(this.h,f);if(Gb(this.h)){k=8192;break}f+=2;if(!n){n=a.ea.seek(b,c,d+1,!0);if(!n){k=5120;break}p=0}if(!a.ea.write(n,p++,t&255)||!a.ea.write(n,p++,t>>8)){k=5120;break}if(p>=l.ha&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.V)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Uc=function(){return this.L&65535};
|
h.wc=function(a,b,c,d,e,f,g){for(var k=0,l=a.ca,n=null,p;e--;){if(!n){n=a.ca.seek(b,c,d+1);if(!n){k=5120;break}p=0}var t,w;if(0>(t=a.ca.read(n,p++))||0>(w=a.ca.read(n,p++))){k=5120;break}Jb(this.h,f,t|w<<8);if(Mb(this.h)){k=8192;break}f+=2;if(p>=l.ga&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.V)))){k=5120;break}}return g(k,b,c,d,e,f)};
|
||||||
h.Md=function(a){this.L=this.L&-1023|a&1022;this.G=this.G&-4|(a&48)>>4;if(!(this.L&128)){var b;a=!0;var c=this.b[(this.L&768)>>8],d,e,f,g;this.L&=-2;switch(this.L&14){case 4:this.c&8&&(this.L&=63);this.m=c.status|this.i&64;break;case 6:1==(this.c&3)&&(b=this.c&65408,c=(this.c&16)<<2,this.i=this.c&4?this.i+b:this.i-b,this.c=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.xc;case 10:b||(b=this.rd),d=this.c>>7,e=this.c&64?0:1,f=this.c&63,d>=c.V||f>=c.S?this.L|=37888:(g=(this.w&
|
h.qd=function(a,b,c,d,e,f,g){for(var k=0,l=a.ca,n=null,p;e--;){var t=Ib(this.h,f);if(Mb(this.h)){k=8192;break}f+=2;if(!n){n=a.ca.seek(b,c,d+1,!0);if(!n){k=5120;break}p=0}if(!a.ca.write(n,p++,t&255)||!a.ca.write(n,p++,t>>8)){k=5120;break}if(p>=l.ga&&(n=null,++d>=l.S&&(d=0,++c>=l.Z&&(c=0,++b>=l.V)))){k=5120;break}}return g(k,b,c,d,e,f)};h.Tc=function(){return this.L&65535};
|
||||||
63)<<16|this.v,a=65536-this.m&65535,a=b.call(this,c,d,e,f,a,g,this.fc.bind(this)))}a&&(this.L|=129,this.L&64&&Ib(this.a,this.F))}};h.Sc=function(){return this.v};h.Kd=function(a){this.v=a&65534};h.Vc=function(){return this.c};h.Nd=function(a){this.c=a};h.Wc=function(){return this.m};h.Od=function(a){this.m=a};h.Tc=function(){return this.w};h.Ld=function(a){this.w=a&63};
|
h.Ld=function(a){this.L=this.L&-1023|a&1022;this.D=this.D&-4|(a&48)>>4;if(!(this.L&128)){var b;a=!0;var c=this.b[(this.L&768)>>8],d,e,f,g;this.L&=-2;switch(this.L&14){case 4:this.c&8&&(this.L&=63);this.m=c.status|this.i&64;break;case 6:1==(this.c&3)&&(b=this.c&65408,c=(this.c&16)<<2,this.i=this.c&4?this.i+b:this.i-b,this.c=this.i=this.i&65408|c);break;case 8:this.m=this.i;break;case 12:b=this.wc;case 10:b||(b=this.qd),d=this.c>>7,e=this.c&64?0:1,f=this.c&63,d>=c.V||f>=c.S?this.L|=37888:(g=(this.w&
|
||||||
var Cf={},xf=(Cf[63744]=[null,null,N.prototype.Uc,N.prototype.Md,"RLCS"],Cf[63746]=[null,null,N.prototype.Sc,N.prototype.Kd,"RLBA"],Cf[65284]=[null,null,N.prototype.Vc,N.prototype.Nd,"RLDA"],Cf[65286]=[null,null,N.prototype.Wc,N.prototype.Od,"RLMP"],Cf[65288]=[null,null,N.prototype.Tc,N.prototype.Ld,"RLBE"],Cf);
|
63)<<16|this.v,a=65536-this.m&65535,a=b.call(this,c,d,e,f,a,g,this.ec.bind(this)))}a&&(this.L|=129,this.L&64&&Ob(this.a,this.G))}};h.Rc=function(){return this.v};h.Jd=function(a){this.v=a&65534};h.Uc=function(){return this.c};h.Md=function(a){this.c=a};h.Vc=function(){return this.m};h.Nd=function(a){this.m=a};h.Sc=function(){return this.w};h.Kd=function(a){this.w=a&63};
|
||||||
function Df(a,b,c){x.call(this,"Computer",a,Df);this.j.P=!1;Ef(this,b);this.w=fc(this,"autoPower",a);this.l=0;this.N=a.busWidth||a.buswidth;this.b=Ff;this.s=null;this.i=this.I=!1;this.O=fc(this,"url")||"";(Math.random()+.1).toString(36);this.c=Gf(this);if(this.a=Ua("CPU",this.id)){this.C=Ua("Debugger",this.id);this.h=new mb({id:this.oa+".bus",busWidth:this.N},this.a,this.C);var d,e=A(this.id);if((this.G=Ua("Panel",this.id))&&this.G.Wa)for(b=0;b<e.length;b++)d=e[b],d.D=this.G.D,d.T=this.G.T,d.Wa=this.G.Wa;
|
var If={},Df=(If[63744]=[null,null,O.prototype.Tc,O.prototype.Ld,"RLCS"],If[63746]=[null,null,O.prototype.Rc,O.prototype.Jd,"RLBA"],If[65284]=[null,null,O.prototype.Uc,O.prototype.Md,"RLDA"],If[65286]=[null,null,O.prototype.Vc,O.prototype.Nd,"RLMP"],If[65288]=[null,null,O.prototype.Sc,O.prototype.Kd,"RLBE"],If);
|
||||||
this.T("PDPjs v1.30.2\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.T("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ia&&d.ia(this,this.h,this.a,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.m=d:this.b=parseInt(d,10));var f;if(a=fc(this,"state")||(f=!0,a.state))b=this.A=a,f||(this.i=!0,this.b=Ff),this.b&&(this.v=new P(this,
|
function Jf(a,b,c){x.call(this,"Computer",a,Jf);this.l.O=!1;Kf(this,b);this.A=lc(this,"autoPower",a);this.j=0;this.N=a.busWidth||a.buswidth;this.b=Lf;this.v=null;this.m=this.I=!1;this.P=lc(this,"url")||"";(Math.random()+.1).toString(36);this.c=Mf(this);if(this.a=Ua("CPU",this.id)){this.C=Ua("Debugger",this.id);this.h=new sb({id:this.na+".bus",busWidth:this.N},this.a,this.C);var d,e=A(this.id);if((this.f=Ua("Panel",this.id))&&this.f.Va)for(b=0;b<e.length;b++)d=e[b],d.F=this.f.F,d.T=this.f.T,d.Va=this.f.Va;
|
||||||
"1.30.2"),Hf(this.v)?b=null:delete this.v);!b&&this.b&&(b=If(this))&&(this.i=!0);if(b){var g=this;r(b,null,!0,function(a,b,c){c?(g.m=null,g.i=!1,g.D("Unable to load machine state from server (error "+c+(b?": "+pa(b):"")+")")):(g.s=b,g.I=!0);E(g)})}else E(this);this.o.power||(this.w=!0);!c&&this.w&&Jf(this,this.Xa)}else u("Unable to find CPU component")}z(Df);var Ff=0;
|
this.T("PDPjs v1.30.2\nCopyright \u00a9 2012-2016 Jeff Parsons <Jeff@pcjs.org>\nLicense: GPL version 3 or later <http://gnu.org/licenses/gpl.html>");this.T("Portions adapted from the PDP-11/70 Emulator v1.4 by Paul Nankervis <paulnank@hotmail.com>");for(b=0;b<e.length;b++)d=e[b],d.ha&&d.ha(this,this.h,this.a,this.C);b=null;d=a.resume;void 0!==d&&(1<d.length?b=this.s=d:this.b=parseInt(d,10));var f;if(a=lc(this,"state")||(f=!0,a.state))b=this.D=a,f||(this.m=!0,this.b=Lf),this.b&&(this.w=new Q(this,
|
||||||
function Ef(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.J=b}function fc(a,b,c){var d=b.toLowerCase(),d=Ma[b]||Ma[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Jf(a,b,c){for(var d=A(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Wa(f)){Wa(f,function(){Jf(a,b,c)});return}}b.call(a,c)}
|
"1.30.2"),Nf(this.w)?b=null:delete this.w);!b&&this.b&&(b=Of(this))&&(this.m=!0);if(b){var g=this;r(b,null,!0,function(a,b,c){c?(g.s=null,g.m=!1,g.F("Unable to load machine state from server (error "+c+(b?": "+pa(b):"")+")")):(g.v=b,g.I=!0);F(g)})}else F(this);this.o.power||(this.A=!0);!c&&this.A&&Pf(this,this.Wa)}else u("Unable to find CPU component")}z(Jf);var Lf=0;
|
||||||
function Kf(a,b){var c=new P(a,"1.30.2","validate");if(Hf(c)&&Lf(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.D("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Df.prototype;
|
function Kf(a,b){if(!b){var c;if("object"==typeof resources&&(c=resources.parms))try{b=eval("("+c+")")}catch(d){u(d.message+" ("+c+")")}}a.J=b}function lc(a,b,c){var d=b.toLowerCase(),d=Ma[b]||Ma[d];void 0===d&&a.J&&(d=a.J[b]);void 0===d&&c&&(d=c[b]);void 0===d&&"object"==typeof resources&&resources[b]&&(d=b);return d}function Pf(a,b,c){for(var d=A(a.id),e=0;e<=d.length;e++){var f=e<d.length?d[e]:a;if(!Wa(f)){Wa(f,function(){Pf(a,b,c)});return}}b.call(a,c)}
|
||||||
h.Xa=function(a){void 0===a&&(a=this.b||(this.s?1:Ff));if(!this.l){this.l++;var b=!1,c=!1;this.F=!1;var d=this.v||new P(this,"1.30.2");if(-1==a)b=!0;else if(a>Ff){if(Hf(d,this.s)){this.f=new P(this,"1.30.2","failsafe");Hf(this.f)&&(Mf(this,d),a=2,Nf(this.f));this.f.set("timestamp",sa());Of(this.f);var e=this.b&&!this.i;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Lf(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Hf(d,g):("error"==
|
function Qf(a,b){var c=new Q(a,"1.30.2","validate");if(Nf(c)&&Rf(c)){var d=c.get("timestamp"),e=b?b.get("timestamp"):"unknown";d!=e&&(a.F("Machine state may be out-of-date\n("+d+" vs. "+e+")\nCheck your browser's local storage limits"),b||c.clear())}}h=Jf.prototype;
|
||||||
f&&"no machine state"!=g?(this.D("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.T(f+": "+g),Nf(d),Hf(d)?(c=Lf(d),e=!0):c=!1))}e&&Kf(this,c?d:null)}else 2==a&&d.clear()}else Kf(this);delete this.s;delete this.v}e=A(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=Pf(this,g,d,b,c));b=[d,a,c];-1!=a?Jf(this,this.Hb,b):this.Hb(b)}};
|
h.Wa=function(a){void 0===a&&(a=this.b||(this.v?1:Lf));if(!this.j){this.j++;var b=!1,c=!1;this.G=!1;var d=this.w||new Q(this,"1.30.2");if(-1==a)b=!0;else if(a>Lf){if(Nf(d,this.v)){this.i=new Q(this,"1.30.2","failsafe");Nf(this.i)&&(Sf(this,d),a=2,Tf(this.i));this.i.set("timestamp",sa());Uf(this.i);var e=this.b&&!this.m;if(1==a||ua("Click OK to restore the previous PDPjs machine state, or CANCEL to reset the machine.")){if(c=Rf(d)){var f=d.get("code"),g=d.get("data");f&&("ok"==f?Nf(d,g):("error"==
|
||||||
function Pf(a,b,c,d,e){if(!b.j.P){b.j.P=!0;if(b.ka){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ka(f,d)&&f&&(u("Unable to restore state for "+b.type),a.A&&!a.I?(c.clear(),a.b=Ff,window&&window.location.reload()):a.F=!0,b.ka(null),e=!1)}if(!d&&b.Mb)for(a=b.Mb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
f&&"no machine state"!=g?(this.F("Error: "+g),"unable to verify user"==g&&(Aa("user",""),this.c=null)):this.T(f+": "+g),Tf(d),Nf(d)?(c=Rf(d),e=!0):c=!1))}e&&Qf(this,c?d:null)}else 2==a&&d.clear()}else Qf(this);delete this.v;delete this.w}e=A(this.id);for(f=0;f<e.length;f++)g=e[f],g!==this&&g!=this.a&&(c=Vf(this,g,d,b,c));b=[d,a,c];-1!=a?Pf(this,this.Gb,b):this.Gb(b)}};
|
||||||
h.Hb=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.j.P=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(Pf(this,this.a,b,c,a),this.a.Va());this.F&&(Mf(this,b),b.clear());!c&&this.f&&(this.f.clear(),delete this.f);this.l=0};
|
function Vf(a,b,c,d,e){if(!b.l.O){b.l.O=!0;if(b.ja){var f=null;e&&((f=c.get(b.id))||(f=c.get(b.id.replace(/[a-z0-9]\./i,"."))));"string"===typeof f&&(f=null);!b.ja(f,d)&&f&&(u("Unable to restore state for "+b.type),a.D&&!a.I?(c.clear(),a.b=Lf,window&&window.location.reload()):a.G=!0,b.ja(null),e=!1)}if(!d&&b.Lb)for(a=b.Lb.split("|"),c=0;c<a.length;c++)b.status(a[c])}return e}
|
||||||
function Mf(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.2"};d.url=a.O;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}}
|
h.Gb=function(a){var b=a[0],c=0>a[1];a=a[2];this.R=!0;this.l.O=!0;var d=this.o.power;d&&(d.textContent="Shutdown");this.a&&(Vf(this,this.a,b,c,a),this.a.Ua());this.G&&(Sf(this,b),b.clear());!c&&this.i&&(this.i.clear(),delete this.i);this.j=0};
|
||||||
function Sf(a,b,c){var d,e="none";if(a.l)return null;a.l--;var f=new P(a,"1.30.2"),g=new P(a,"1.30.2","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ja&&(c&&F(a.a),d=a.a.ja(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.j.P=!1,!1===d&&(e=null)));for(var k=A(a.id),l=0;l<k.length;l++){var n=k[l];n.j.P&&(n.ja&&(d=n.ja(b,c),"object"===typeof d&&f.set(n.id,
|
function Sf(a,b){if(ua("There may be a problem with your PDPjs machine.\n\nTo help us diagnose it, click OK to send this PDPjs machine state to http://www.pcjs.org.")){var c=a.c||"";b=b.toString();var d={app:"PDPjs",ver:"1.30.2"};d.url=a.P;d.user=c;d.type="bug";d.data=b;r("http://www.pcjs.org/api/v1/report",d,!0)}}
|
||||||
d)),c&&(n.j.P=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.c&&Tf(a,a.c,f.toString()),Of(g)&&Of(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=3==a.b),d&&f.clear(k)):e=f.toString());c&&(a.j.P=!1,b=a.o.power)&&(b.textContent="Power");a.l=0;return e}h.reset=function(){this.h&&this.h.reset&&this.h.reset();for(var a=A(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.h&&c.reset&&c.reset()}};h.start=function(a,b){for(var c=A(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.aa(!0)};
|
function Yf(a,b,c){var d,e="none";if(a.j)return null;a.j--;var f=new Q(a,"1.30.2"),g=new Q(a,"1.30.2","validate"),k=sa();g.set("timestamp",k);f.set("timestamp",k);f.set("version","1.30.2");f.set("url",window?window.location.href:null);f.set("browser",window?window.navigator.userAgent:"");a.a&&a.a.ia&&(c&&G(a.a),d=a.a.ia(b,c),"object"===typeof d&&f.set(a.a.id,d),c&&(a.a.l.O=!1,!1===d&&(e=null)));for(var k=A(a.id),l=0;l<k.length;l++){var n=k[l];n.l.O&&(n.ia&&(d=n.ia(b,c),"object"===typeof d&&f.set(n.id,
|
||||||
h.stop=function(a,b){for(var c=A(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.aa(!0)};
|
d)),c&&(n.l.O=!1,!1===d&&(e=null)))}e&&(c?(k=d=!1,b?(a.c&&Zf(a,a.c,f.toString()),Uf(g)&&Uf(f)||(e=null,d=k=!0)):a.b&&(d=!0,k=3==a.b),d&&f.clear(k)):e=f.toString());c&&(a.l.O=!1,b=a.o.power)&&(b.textContent="Power");a.j=0;return e}h.reset=function(){this.h&&this.h.reset&&this.h.reset();for(var a=A(this.id),b=0;b<a.length;b++){var c=a[b];c!==this&&c!==this.h&&c.reset&&c.reset()}};h.start=function(a,b){for(var c=A(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.start&&e.start(a,b)}this.ka(!0)};
|
||||||
h.$=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.l||(d.j.P?Sf(d,!1,!0):Jf(d,d.Xa))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.j.P&&!d.l)if(d.b&&!d.m){var a=ua("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Sf(d,a,!0);!a&&d.A?window&&window.location.reload():(a||(d.Ib=!0),d.Xa(Ff),d.Ib=!1)}else d.reset(),d.a&&d.a.Va()},!0;case "save":if(ma(v(),"pcjs.org"))c.parentNode.removeChild(c);
|
h.stop=function(a,b){for(var c=A(this.id),d=0;d<c.length;d++){var e=c[d];"CPU"!=e.type&&e!==this&&e.stop&&e.stop(a,b)}this.ka(!0)};
|
||||||
else return this.o[b]=c,c.onclick=function(){var a=Gf(d,!0);if(a){var b=!!(d.b&&!d.m||d.A),c=Sf(d,b);b?Tf(d,a,c):d.D("Resume disabled, machine state not saved")}},!0}return!1};
|
h.$=function(a,b,c){var d=this;switch(b){case "power":return this.o[b]=c,c.onclick=function(){d.j||(d.l.O?Yf(d,!1,!0):Pf(d,d.Wa))},!0;case "reset":return this.o[b]=c,c.onclick=function(){if(d.l.O&&!d.j)if(d.b&&!d.s){var a=ua("Click OK to save changes to this PDPjs machine.\n\nWARNING: If you CANCEL, all disk changes will be discarded.");Yf(d,a,!0);!a&&d.D?window&&window.location.reload():(a||(d.Hb=!0),d.Wa(Lf),d.Hb=!1)}else d.reset(),d.a&&d.a.Ua()},!0;case "save":if(ma(v(),"pcjs.org"))c.parentNode.removeChild(c);
|
||||||
function Gf(a,b){var c=a.c;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=Uf(a,c))||a.D("The user ID is invalid.")):b&&a.D("Browser local storage is not available"));return c}
|
else return this.o[b]=c,c.onclick=function(){var a=Mf(d,!0);if(a){var b=!!(d.b&&!d.s||d.D),c=Yf(d,b);b?Zf(d,a,c):d.F("Resume disabled, machine state not saved")}},!0}return!1};
|
||||||
function Uf(a,b){a.c=null;b=r(v()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.c=b.data)}catch(d){u(d.message+" ("+c+")")}return a.c}function If(a){var b=null;a.c&&(b=v()+"/api/v1/user?req=load&user="+a.c+"&state="+Vf(a,"1.30.2"));return b}
|
function Mf(a,b){var c=a.c;c||((c=za("user"),void 0!==c)?!c&&b&&(b=null,window&&(b=window.prompt("Saving machine states on the pcjs.org server is currently unsupported.\n\nIf you're running your own server, enter your user ID below.","")),c=b)&&((c=$f(a,c))||a.F("The user ID is invalid.")):b&&a.F("Browser local storage is not available"));return c}
|
||||||
function Tf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=Vf(a,"1.30.2");d.data=c;b=r(v()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.D("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.D(c),Aa("user",""),a.c=null)}}
|
function $f(a,b){a.c=null;b=r(v()+"/api/v1/user?req=verify&user="+b);var c=b[1];if(!b[0]&&c)try{b=eval("("+c+")"),b.code&&"ok"==b.code&&(Aa("user",b.data),a.c=b.data)}catch(d){u(d.message+" ("+c+")")}return a.c}function Of(a){var b=null;a.c&&(b=v()+"/api/v1/user?req=load&user="+a.c+"&state="+ag(a,"1.30.2"));return b}
|
||||||
function Ze(a){var b;a=A(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function lc(a){if(a.Wa){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.Wa.focus();window&&window.scrollTo(b,c)}}h.aa=function(a){this.a&&this.a.aa(a);this.G&&this.G.aa(a)};
|
function Zf(a,b,c){if(c){var d={req:"store"};d.user=b;d.state=ag(a,"1.30.2");d.data=c;b=r(v()+"/api/v1/user",d);d=b[0];if(b[1]){if(d){var e=d.indexOf("\n");0<e&&(d=d.substr(0,e));d.indexOf("Error: ")||(d=d.substr(7))}d='{"code":'+b[1]+',"data":"'+d+'"}'}b=JSON.parse(d);b&&"ok"==b.code?a.F("Machine state saved to server"):c&&(c=b&&b.data||"unable to save machine state",c="error"==b.code?"Error: "+c:"Error "+b.code+": "+c,a.F(c),Aa("user",""),a.c=null)}}
|
||||||
Ha(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new Df(g,d,!0);C(g,f);g.w&&Jf(g,g.Xa)}});Ca.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=Ua("Computer",c.id))&&c.R&&!c.j.P&&c.Xa(-1)}});Ca.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=Ua("Computer",c.id))&&c.j.P&&Sf(c,!(!c.b||c.m),!0)}});
|
function ef(a){var b;a=A(a.id);for(var c=0;c<a.length;c++){var d=a[c];if(b)b==d&&(b=null);else if("RAM"==d.type)return d}return null}function rc(a){if(a.Va){var b=0,c=0;window&&(b=window.scrollX,c=window.scrollY);a.Va.focus();window&&window.scrollTo(b,c)}}h.ka=function(a){this.a&&this.a.ka(a);this.f&&this.f.ka(a)};
|
||||||
function P(a,b,c){this.id=a.id;this.key=Vf(a,b,c);this.C=a.C;Nf(this,a.tc)}function Vf(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
Ha(function(){for(var a=D(document,"pdp11-machine"),b=0;b<a.length;b++)for(var c=a[b],d=B(c),c=D(c,"pdp11","computer"),e=0;e<c.length;e++){var f=c[e],g=B(f),g=new Jf(g,d,!0);C(g,f);g.A&&Pf(g,g.Wa)}});Ca.show.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=Ua("Computer",c.id))&&c.R&&!c.l.O&&c.Wa(-1)}});Ca.exit.push(function(){for(var a=D(document,"pdp11","computer"),b=0;b<a.length;b++){var c=B(a[b]);(c=Ua("Computer",c.id))&&c.l.O&&Yf(c,!(!c.b||c.s),!0)}});
|
||||||
P.prototype={constructor:P,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Nf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
function Q(a,b,c){this.id=a.id;this.key=ag(a,b,c);this.C=a.C;Tf(this,a.jc)}function ag(a,b,c){a=a.id;if(b){var d=b.indexOf(".");0<d&&(a+=".v"+b.substr(0,d))}c&&(a+="."+c);return a}
|
||||||
1);c=0}}};function Nf(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Of(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Lf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Hf(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.a=!0):!1}var Wf=0;
|
Q.prototype={constructor:Q,set:function(a,b){try{this[this.id][a]=b}catch(c){}},get:function(a){return this[this.id][a]||null},value:function(){return this[this.id]},data:function(){return this[this.id]},toString:function(){var a=this[this.id];return"string"==typeof a?a:JSON.stringify(a)},clear:function(a){Tf(this);var b=[];try{for(var c=0,d=window.localStorage.length;c<d;c++)b.push(window.localStorage.key(c))}catch(e){}for(c=0;c<b.length;c++)if((d=b[c])&&(a||d.substr(0,this.key.length)==this.key)){try{window.localStorage.removeItem(d)}catch(e){}b.splice(c,
|
||||||
function Xf(a,b,c,d,e,f){e("Loading "+a+"...");r(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):Yf(k,a,b,c,d,e,f)})}
|
1);c=0}}};function Tf(a,b){a[a.id]={};b&&a.set("parms",b);a.a=!1}function Uf(a){var b=!0;if(ya()){var c=JSON.stringify(a[a.id]);Aa(a.key,c)||(u("Unable to store "+c.length+" bytes in browser local storage"),b=!1)}return b}function Rf(a){var b=!0;try{a[a.id]=JSON.parse(a[a.id])}catch(c){u(c.message||c),b=!1}return b}function Nf(a,b){return b?(a[a.id]=b,a.a=!0):a.a?!0:ya()&&(b=za(a.key))?(a[a.id]=b,a.a=!0):!1}var bg=0;
|
||||||
function Yf(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(Sa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
function cg(a,b,c,d,e,f){e("Loading "+a+"...");r(a,null,!0,function(g,k,l){l?(k||(k="unable to load "+a+" ("+l+")"),f(k,null)):dg(k,a,b,c,d,e,f)})}
|
||||||
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?Zf(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
function dg(a,b,c,d,e,f,g){function k(a,f){if(f)g(f,null);else{c&&(Sa(c,b,a),(f=b)&&0>f.indexOf("/")&&"/"==window.location.pathname.slice(-1)&&(f=window.location.pathname+f),d?"}"==d.slice(-1)?(d=d.slice(0,-1),1<d.length&&(d+=",")):d='{state:"'+d+'",':d="{",d+='url:"'+f+'"}',"object"==typeof resources&&(f=null),a=a.replace(/(<machine[^>]*\sid=)(['"]).*?\2/,"$1$2"+c+"$2"+(d?" parms='"+d+"'":"")+(f?' url="'+f+'"':"")));e||(a=a.replace(/(<xsl:variable name="APPNAME">).*?(<\/xsl:variable>)/,"$1PDPjs$2"),
|
||||||
function Zf(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
a=a.replace(/(<xsl:variable name="APPCLASS">).*?(<\/xsl:variable>)/,"$1pdp11$2"));f=null;if("<"==a.charAt(0))try{e||(a=a.replace(/<!DOCTYPE(.|[\r\n])*]>\s*/g,"")),window.ActiveXObject||"ActiveXObject"in window?(f=new window.ActiveXObject("Microsoft.XMLDOM"),f.async=!1,f.loadXML(a)):f=(new window.DOMParser).parseFromString(a,"text/xml")}catch(p){f=null,a=p.message}else a="unrecognized XML: "+(255<a.length?a.substr(0,255)+"...":a);g(a,f)}}a?e?eg(a,f,k):k(a,null):g("no data"+(b?" for file: "+b:""),null)}
|
||||||
"");a=a.replace(d[0],g);Zf(a,b,c)}})}else c(a,null)}
|
function eg(a,b,c){var d;if(d=/<([a-z]+)\s+ref="(.*?)"(.*?)\/>/g.exec(a)){var e=d[2];b("Loading "+e+"...");r(e,null,!0,function(f,g,k){if(k||!g)c(a,"unable to resolve XML reference: "+d[0]+" ("+k+")");else{if(f=d[3])if(k=g.match(new RegExp("<"+d[1]+"[^>]*>"))){for(var l=k[0],n,p=/( [a-z]+=)(['"])(.*?)\2/g;n=p.exec(f);)l=0>l.indexOf(n[1])?l.replace(">",n[0]+">"):l.replace(new RegExp(n[1]+"(['\"])(.*?)\\1"),n[0]);k[0]!=l&&(g=g.replace(k[0],l))}else{c(a,"missing <"+d[1]+"> in "+e);return}g=g.replace(/<\?xml[^>]*>[\r\n]*/,
|
||||||
function $f(a,b,c,d){function e(a){if(void 0===k){var b=g&&D(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=oa(a))}function f(a){e("Error: "+a);l&&(--Wf||Ja(!0));l=!1}var g,k,l=!0;Wf++;Ra[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));p.appendChild(t)}c||
|
"");a=a.replace(d[0],g);eg(a,b,c)}})}else c(a,null)}
|
||||||
(c="/versions/pdpjs/1.30.2/components.xsl");n=function(d,k){k?Xf(c,null,null,!1,e,function(d,l){l?(Sa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--Wf||Ja(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--Wf||Ja(!0)):f("invalid machine element: "+
|
function fg(a,b,c,d){function e(a){if(void 0===k){var b=g&&D(g,"machine-warning");k=b&&b[0]||g}k&&(k.innerHTML=oa(a))}function f(a){e("Error: "+a);l&&(--bg||Ja(!0));l=!1}var g,k,l=!0;bg++;Ra[a]={};try{if(g=document.getElementById(a)){var n;if("object"==typeof resources&&(n=resources.css)){var p=document.head||document.getElementsByTagName("head")[0],t=document.createElement("style");t.type="text/css";t.styleSheet?t.styleSheet.cssText=n:t.appendChild(document.createTextNode(n));p.appendChild(t)}c||
|
||||||
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?Xf(b,a,d,!0,e,n):Yf(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(w){f(w.message)}return l}window.embedPDP11=function(a,b,c,d){Ja(!1);return $f(a,b,c,d)};window.enableEvents=Ja;window.sendEvent=Ka;})();//# sourceMappingURL=/tmp/pdpjs/1.30.2/pdp11.map
|
(c="/versions/pdpjs/1.30.2/components.xsl");n=function(d,k){k?cg(c,null,null,!1,e,function(d,l){l?(Sa(a,c,d),e("Processing "+b+"..."),window.ActiveXObject||"ActiveXObject"in window?(l=k.transformNode(l))?(g.outerHTML=l,--bg||Ja(!0)):f("transformNodeToObject failed"):document.implementation&&document.implementation.createDocument?(d=new XSLTProcessor,d.importStylesheet(l),(l=d.transformToFragment(k,document))?g.parentNode?(g.parentNode.replaceChild(l,g),--bg||Ja(!0)):f("invalid machine element: "+
|
||||||
|
a):f("transformToFragment failed")):f("unable to transform XML: unsupported browser")):f(d)}):f(d)};"<"!=b.charAt(0)?cg(b,a,d,!0,e,n):dg(b,null,a,d,!1,e,n)}else f("missing machine element: "+a)}catch(w){f(w.message)}return l}window.embedPDP11=function(a,b,c,d){Ja(!1);return fg(a,b,c,d)};window.enableEvents=Ja;window.sendEvent=Ka;})();//# sourceMappingURL=/tmp/pdpjs/1.30.2/pdp11.map
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue