Added 4K and 8K versions of my 6502 ASSEMBLER/DISASSEMBLER (although they may be of different vintages)

This commit is contained in:
Jeff Parsons 2016-05-10 22:57:27 -07:00
commit ba2e525982
10 changed files with 277 additions and 52 deletions

View file

@ -10,6 +10,6 @@ Challenger 1P Machine-Language (6502) Programs
The project contains the following 6502 machine-language programs written by [Jeff Parsons](https://twitter.com/jeffpar)
in 1979-1980:
- [6502 Assembler/Disassembler](assembler/ASSEMBLER-1.json)
- [6502 Assembler/Disassembler](assembler/)
- [BASIC Extensions](basicext/BASICEXT.json)
- [Game of Life](life/LIFE.json)

View file

@ -1,5 +0,0 @@
{"bytes": [
0x00,0x00,0x82,0x84,0x04,0x00,0x04,0x00,0x00,0x00,0x5E,0x48,0xCD,0x15,0x02,0xD0, // 0x00000000 ..........^H....
0x03,0x4C,0x0B,0x19,0x4C,0x96,0x18,0xA0,0x00,0x8C,0xC4,0x14,0x4C,0xBC,0x18,0x20, // 0x00000010 .L..L.......L..
0x42] // 0x00000020 B
}

Binary file not shown.

View file

@ -0,0 +1,222 @@
{"bytes": [
0x2E,0x30,0x31,0x43,0x34,0x2F,0x34,0x32,0x0D,0x35,0x39,0x0D,0x32,0x30,0x0D,0x34, // 0x00000000 .01C4/42.59.20.4
0x41,0x0D,0x34,0x35,0x0D,0x34,0x36,0x0D,0x34,0x36,0x0D,0x32,0x30,0x0D,0x35,0x30, // 0x00000010 A.45.46.46.20.50
0x0D,0x34,0x31,0x0D,0x35,0x32,0x0D,0x35,0x33,0x0D,0x34,0x46,0x0D,0x34,0x45,0x0D, // 0x00000020 .41.52.53.4F.4E.
0x35,0x33,0x0D,0x32,0x30,0x0D,0x33,0x39,0x0D,0x32,0x46,0x0D,0x33,0x38,0x0D,0x33, // 0x00000030 53.20.39.2F.38.3
0x30,0x0D,0x41,0x32,0x0D,0x30,0x38,0x0D,0x41,0x39,0x0D,0x32,0x30,0x0D,0x39,0x44, // 0x00000040 0.A2.08.A9.20.9D
0x0D,0x43,0x35,0x0D,0x44,0x30,0x0D,0x43,0x41,0x0D,0x44,0x30,0x0D,0x46,0x41,0x0D, // 0x00000050 .C5.D0.CA.D0.FA.
0x41,0x44,0x0D,0x30,0x30,0x0D,0x46,0x30,0x0D,0x34,0x41,0x0D,0x39,0x30,0x0D,0x46, // 0x00000060 AD.00.F0.4A.90.F
0x41,0x0D,0x41,0x44,0x0D,0x30,0x31,0x0D,0x46,0x30,0x0D,0x38,0x44,0x0D,0x30,0x30, // 0x00000070 A.AD.01.F0.8D.00
0x0D,0x30,0x33,0x0D,0x45,0x45,0x0D,0x45,0x43,0x0D,0x30,0x31,0x0D,0x44,0x30,0x0D, // 0x00000080 .03.EE.EC.01.D0.
0x45,0x46,0x0D,0x45,0x45,0x0D,0x45,0x44,0x0D,0x30,0x31,0x0D,0x41,0x44,0x0D,0x45, // 0x00000090 EF.EE.ED.01.AD.E
0x44,0x0D,0x30,0x31,0x0D,0x43,0x39,0x0D,0x31,0x30,0x0D,0x44,0x30,0x0D,0x45,0x35, // 0x000000A0 D.01.C9.10.D0.E5
0x0D,0x34,0x43,0x0D,0x33,0x30,0x0D,0x30,0x36,0x0D,0x2E,0x30,0x31,0x44,0x38,0x47, // 0x000000B0 .4C.30.06..01D8G
0xAD,0x13,0x02,0x48,0xAD,0x14,0x02,0x48,0xAD,0x15,0x02,0x48,0xAD,0x16,0x02,0x48, // 0x000000C0 ...H...H...H...H
0xAD,0xFF,0x03,0x8D,0x14,0x02,0xAD,0xFE,0x03,0x8D,0x15,0x02,0xAD,0xFD,0x03,0x8D, // 0x000000D0 ................
0x16,0x02,0x20,0x58,0x03,0xA8,0x8D,0xFC,0x03,0xAD,0x16,0x02,0x8D,0xFD,0x03,0xAD, // 0x000000E0 .. X............
0x15,0x02,0x8D,0xFE,0x03,0xAD,0x14,0x02,0x8D,0xFF,0x03,0x68,0x8D,0x16,0x02,0x68, // 0x000000F0 ...........h...h
0x8D,0x15,0x02,0x68,0x8D,0x14,0x02,0x68,0x8D,0x13,0x02,0x98,0x60,0xA9,0x00,0x20, // 0x00000100 ...h...h....`..
0x50,0x04,0xA9,0x00,0x20,0x50,0x04,0x60,0xAD,0x12,0x04,0x8D,0x7C,0x06,0xAD,0x13, // 0x00000110 P... P.`....|...
0x04,0x8D,0xFB,0x03,0xA9,0x67,0x8D,0x12,0x04,0xA9,0xD3,0x8D,0x13,0x04,0xAD,0xC4, // 0x00000120 .....g..........
0x04,0x4A,0xB0,0x06,0x20,0x4D,0x03,0x4C,0x86,0x03,0xAD,0xC6,0x04,0x20,0x50,0x04, // 0x00000130 .J.. M.L..... P.
0xAD,0xC5,0x04,0x20,0x50,0x04,0x20,0x26,0x04,0xA0,0x07,0xB9,0xF3,0x03,0x20,0x00, // 0x00000140 ... P. &...... .
0x04,0x88,0xD0,0xF7,0xAD,0xC3,0x04,0x4A,0x4A,0x90,0x0F,0xAD,0xC8,0x04,0x20,0x50, // 0x00000150 .......JJ..... P
0x04,0xAD,0xC7,0x04,0x20,0x50,0x04,0x4C,0xC3,0x03,0xAD,0xC4,0x04,0x4A,0x4A,0xB0, // 0x00000160 .... P.L.....JJ.
0x06,0x20,0x4D,0x03,0x4C,0xC3,0x03,0xAD,0xAF,0x0D,0x20,0x50,0x04,0xAD,0xAE,0x0D, // 0x00000170 . M.L..... P....
0x20,0x50,0x04,0xA9,0x20,0x20,0x11,0x04,0xAD,0x7C,0x06,0x8D,0x12,0x04,0xAD,0xFB, // 0x00000180 P.. ...|......
0x03,0x8D,0x13,0x04,0x20,0x00,0xFD,0x60,0x8D,0xC3,0x04,0x8D,0xC4,0x04,0x60,0xAE, // 0x00000190 .... ..`......`.
0xC0,0x04,0x9A,0xAE,0xBE,0x04,0xAC,0xBF,0x04,0xAD,0xC1,0x04,0x48,0xAD,0xBD,0x04, // 0x000001A0 ............H...
0x28,0x6C,0xC7,0x04,0x3A,0x52,0x4F,0x54,0x43,0x45,0x56,0xD3,0x0A,0x0A,0x0A,0x96, // 0x000001B0 (l..:ROTCEV.....
0x20,0x11,0x04,0xEE,0x12,0x04,0xD0,0x03,0xEE,0x13,0x04,0x60,0xA4,0x20,0x11,0x04, // 0x000001C0 ..........`. ..
0x60,0x8D,0x47,0xD3,0x60,0xA9,0x20,0x20,0x11,0x04,0x60,0xCE,0xC2,0x04,0xD0,0xFB, // 0x000001D0 `.G.`. ..`.....
0x18,0x69,0xFF,0xD0,0xF6,0x60,0xA9,0x20,0x20,0x00,0x04,0x60,0xA9,0x2E,0x20,0x00, // 0x000001E0 .i...`. ..`.. .
0x04,0x88,0xD0,0xF8,0x60,0x18,0xA9,0x10,0x6D,0x12,0x04,0x8D,0x12,0x04,0x90,0x03, // 0x000001F0 ....`...m.......
0xEE,0x13,0x04,0x60,0xAD,0x15,0x10,0xEE,0x45,0x04,0xD0,0x03,0xEE,0x46,0x04,0x60, // 0x00000200 ...`....E....F.`
0xA8,0x20,0x5B,0x04,0x98,0x29,0x0F,0x20,0x5F,0x04,0x60,0x4A,0x4A,0x4A,0x4A,0xAA, // 0x00000210 . [..). _.`JJJJ.
0xBD,0xF0,0x04,0x20,0x00,0x04,0x60,0xA9,0xC7,0x8D,0x12,0x04,0xA9,0xD0,0x8D,0x13, // 0x00000220 ... ..`.........
0x04,0xA2,0x09,0xBD,0xCE,0x04,0x20,0x00,0x04,0xCA,0xD0,0xF7,0x20,0x26,0x04,0xA0, // 0x00000230 ...... ..... &..
0x18,0xAD,0xC3,0x04,0x4A,0x90,0x0E,0xA2,0x04,0xB9,0xD7,0x04,0x20,0x00,0x04,0x88, // 0x00000240 ....J....... ...
0xCA,0xD0,0xF6,0xF0,0x06,0x88,0x88,0x88,0x88,0xD0,0xE9,0x20,0x26,0x04,0xAD,0xC3, // 0x00000250 ........... &...
0x04,0x0A,0xA9,0x48,0x90,0x02,0xA9,0x44,0x20,0x00,0x04,0x20,0x15,0x04,0x60,0xA0, // 0x00000260 ...H...D .. ..`.
0x8D,0x8C,0x44,0x04,0x20,0x44,0x04,0xA0,0xAD,0x8C,0x44,0x04,0x60,0x10,0x00,0x08, // 0x00000270 ..D. D....D.`...
0x28,0x37,0x0A,0x20,0x00,0xF3,0x0F,0xF2,0x0F,0x0E,0x55,0x0B,0x06,0x5E,0x00,0x34, // 0x00000280 (7. ......U..^.4
0x45,0x4C,0x42,0x4D,0x45,0x53,0x53,0x41,0x45,0x44,0x4F,0x43,0x41,0x54,0x41,0x44, // 0x00000290 ELBMESSAEDOCATAD
0x49,0x43,0x53,0x41,0x45,0x56,0x4F,0x4D,0x45,0x56,0x41,0x53,0x54,0x49,0x44,0x45, // 0x000002A0 ICSAEVOMEVASTIDE
0x30,0x31,0x32,0x33,0x34,0x35,0x36,0x37,0x38,0x39,0x41,0x42,0x43,0x44,0x45,0x46, // 0x000002B0 0123456789ABCDEF
0x2E,0x2E,0x0C,0x2E,0x58,0x1C,0x2E,0x59,0x18,0x2E,0x5A,0x04,0x2E,0x2E,0x08,0x58, // 0x000002C0 ....X..Y..Z....X
0x49,0x00,0x59,0x49,0x10,0x49,0x5A,0x14,0x90,0x42,0x43,0x43,0xB0,0x42,0x43,0x53, // 0x000002D0 I.YI.IZ..BCC.BCS
0xF0,0x42,0x45,0x51,0x30,0x42,0x4D,0x49,0xD0,0x42,0x4E,0x45,0x10,0x42,0x50,0x4C, // 0x000002E0 .BEQ0BMI.BNE.BPL
0x50,0x42,0x56,0x43,0x70,0x42,0x56,0x53,0x4C,0x4A,0x4D,0x50,0x6C,0x4A,0x50,0x49, // 0x000002F0 PBVCpBVSLJMPlJPI
0x20,0x4A,0x53,0x52,0x4A,0x4C,0x53,0x52,0x0A,0x41,0x53,0x4C,0x2A,0x52,0x4F,0x4C, // 0x00000300 JSRJLSR.ASL*ROL
0x6A,0x52,0x4F,0x52,0x58,0x43,0x4C,0x49,0xB8,0x43,0x4C,0x56,0xCA,0x44,0x45,0x58, // 0x00000310 jRORXCLI.CLV.DEX
0x88,0x44,0x45,0x59,0xE8,0x49,0x4E,0x58,0xC8,0x49,0x4E,0x59,0x00,0x42,0x52,0x4B, // 0x00000320 .DEY.INX.INY.BRK
0x18,0x43,0x4C,0x43,0xD8,0x43,0x4C,0x44,0xEA,0x4E,0x4F,0x50,0x48,0x50,0x48,0x41, // 0x00000330 .CLC.CLD.NOPHPHA
0x08,0x50,0x48,0x50,0x68,0x50,0x4C,0x41,0x28,0x50,0x4C,0x50,0x40,0x52,0x54,0x49, // 0x00000340 .PHPhPLA(PLP@RTI
0x60,0x52,0x54,0x53,0x38,0x53,0x45,0x43,0xF8,0x53,0x45,0x44,0x78,0x53,0x45,0x49, // 0x00000350 `RTS8SEC.SEDxSEI
0xAA,0x54,0x41,0x58,0xA8,0x54,0x41,0x59,0xBA,0x54,0x53,0x58,0x8A,0x54,0x58,0x41, // 0x00000360 .TAX.TAY.TSX.TXA
0x9A,0x54,0x58,0x53,0x98,0x54,0x59,0x41,0xE0,0x43,0x50,0x58,0x98,0xC0,0x43,0x50, // 0x00000370 .TXS.TYA.CPX..CP
0x59,0x98,0xA2,0x4C,0x44,0x58,0xB9,0xA0,0x4C,0x44,0x59,0xD9,0xC1,0x43,0x4D,0x50, // 0x00000380 Y..LDX..LDY..CMP
0xFF,0x61,0x41,0x44,0x43,0xFF,0x21,0x41,0x4E,0x44,0xFF,0xC2,0x44,0x45,0x43,0xD1, // 0x00000390 .aADC.!AND..DEC.
0x41,0x45,0x4F,0x52,0xFF,0xE2,0x49,0x4E,0x43,0xD1,0xA1,0x4C,0x44,0x41,0xFF,0x02, // 0x000003A0 AEOR..INC..LDA..
0x41,0x53,0x4C,0xD1,0x20,0x42,0x49,0x54,0x90,0x42,0x4C,0x53,0x52,0xD1,0x01,0x4F, // 0x000003B0 ASL. BIT.BLSR..O
0x52,0x41,0xFF,0x22,0x52,0x4F,0x4C,0xD1,0x62,0x52,0x4F,0x52,0xD1,0xE1,0x53,0x42, // 0x000003C0 RA."ROL.bROR..SB
0x43,0xFF,0x81,0x53,0x54,0x41,0xF7,0x82,0x53,0x54,0x58,0x91,0x80,0x53,0x54,0x59, // 0x000003D0 C..STA..STX..STY
0x91,0x01,0x0A,0x64,0x03,0x04,0x01,0x0D,0x13,0x05,0x20,0x10,0x08,0x04,0x02,0x01, // 0x000003E0 ...d...... .....
0x8D,0xBD,0x04,0x08,0x68,0x8D,0xC1,0x04,0x8E,0xBE,0x04,0x8C,0xBF,0x04,0xBA,0x8E, // 0x000003F0 ....h...........
0xC0,0x04,0xD8,0xA2,0x00,0xA9,0x20,0x9D,0x00,0xD0,0x9D,0x00,0xD1,0x9D,0x00,0xD2, // 0x00000400 ...... .........
0x9D,0x00,0xD3,0xE8,0xD0,0xF1,0xA9,0x52,0x8D,0xC7,0xD0,0xA9,0x2F,0x8D,0xC8,0xD0, // 0x00000410 .......R..../...
0xA9,0x53,0x8D,0xC9,0xD0,0x20,0x00,0xFD,0xC9,0x53,0xF0,0x06,0xC9,0x52,0xF0,0x16, // 0x00000420 .S... ...S...R..
0xD0,0xF3,0xA9,0x00,0x8D,0x7C,0x06,0xAA,0xA0,0x03,0x9D,0x00,0x47,0xE8,0xD0,0xFA, // 0x00000430 .....|......G...
0xEE,0x7C,0x06,0x88,0xD0,0xF4,0xA2,0xFF,0x9A,0xA9,0x4C,0x8D,0xC0,0x01,0xA9,0x30, // 0x00000440 .|........L....0
0x8D,0xC1,0x01,0xA9,0x16,0x8D,0xC2,0x01,0xA9,0x20,0x8D,0xC3,0x04,0xA9,0x00,0x8D, // 0x00000450 ......... ......
0xC4,0x04,0x8D,0xC7,0x04,0x8D,0xC8,0x04,0xA9,0x60,0x8D,0x0B,0x04,0x20,0x67,0x04, // 0x00000460 .........`... g.
0xAD,0xC7,0x04,0x8D,0x45,0x04,0xAD,0xC8,0x04,0x8D,0x46,0x04,0xA9,0x07,0x8D,0x12, // 0x00000470 ....E.....F.....
0x04,0xA9,0xD1,0x8D,0x13,0x04,0xA9,0x12,0x8D,0xCE,0x04,0xAD,0x46,0x04,0x20,0x50, // 0x00000480 ............F. P
0x04,0xAD,0x45,0x04,0x20,0x50,0x04,0xAD,0xC3,0x04,0x0A,0x0A,0x90,0x05,0xA0,0xA9, // 0x00000490 ..E. P..........
0x8C,0x0B,0x04,0x48,0x20,0x26,0x04,0x68,0x90,0x03,0x4C,0x7C,0x08,0x0A,0x0A,0x90, // 0x000004A0 ...H &.h..L|....
0x03,0x4C,0x71,0x08,0x0A,0x90,0x16,0xA0,0x05,0x20,0x2C,0x04,0x20,0x44,0x04,0x20, // 0x000004B0 .Lq...... ,. D.
0x00,0x04,0x20,0x26,0x04,0xA0,0x04,0x20,0x2C,0x04,0x4C,0x70,0x07,0x20,0x4A,0x07, // 0x000004C0 .. &... ,.Lp. J.
0xE0,0x00,0xF0,0x47,0xA0,0x03,0xE8,0xBD,0x14,0x05,0x20,0x00,0x04,0x88,0xD0,0xF6, // 0x000004D0 ...G...... .....
0xA0,0x03,0x20,0x2C,0x04,0x20,0x26,0x04,0xE0,0x24,0x10,0x32,0x20,0x44,0x04,0xAA, // 0x000004E0 .. ,. &..$.2 D..
0x18,0x6D,0x45,0x04,0x48,0xA9,0x00,0x6D,0x46,0x04,0xA8,0x8A,0x10,0x01,0x88,0x98, // 0x000004F0 .mE.H..mF.......
0x20,0x50,0x04,0x68,0x20,0x50,0x04,0x4C,0x70,0x07,0x20,0x44,0x04,0xA2,0xA0,0xDD, // 0x00000500 P.h P.Lp. D....
0x14,0x05,0xF0,0x06,0xCA,0xCA,0xCA,0xCA,0xD0,0xF5,0x60,0x4C,0xE8,0x07,0xE0,0x30, // 0x00000510 ..........`L...0
0x10,0x32,0x20,0x44,0x04,0x48,0x20,0x44,0x04,0x20,0x50,0x04,0x68,0x20,0x50,0x04, // 0x00000520 .2 D.H D. P.h P.
0x20,0x15,0x04,0x20,0x35,0x04,0xCE,0xCE,0x04,0xF0,0x16,0xA9,0x11,0xCD,0xCE,0x04, // 0x00000530 .. 5...........
0xD0,0x0C,0xAD,0x45,0x04,0x8D,0xC5,0x04,0xAD,0x46,0x04,0x8D,0xC6,0x04,0x4C,0xCB, // 0x00000540 ...E.....F....L.
0x06,0x4C,0x8D,0x08,0xA0,0x04,0x20,0x2C,0x04,0xF0,0xD5,0x8D,0xCD,0x04,0xA8,0x29, // 0x00000550 .L.... ,.......)
0xE3,0xA2,0x69,0xDD,0xB3,0x05,0xF0,0x08,0xCA,0xCA,0xCA,0xCA,0xCA,0xD0,0xF4,0x60, // 0x00000560 ..i............`
0x8E,0xCB,0x04,0x98,0x18,0x29,0x1C,0xE0,0x18,0x10,0x06,0xC9,0x00,0xD0,0x02,0xA9, // 0x00000570 .....)..........
0x08,0xC0,0xBE,0xD0,0x02,0xA9,0x18,0xA0,0x00,0xA2,0x18,0xC8,0xDD,0xFF,0x04,0xF0, // 0x00000580 ................
0x05,0xCA,0xCA,0xCA,0xD0,0xF5,0x8E,0xCC,0x04,0xAE,0xCB,0x04,0xBD,0xB7,0x05,0x4A, // 0x00000590 ...............J
0x88,0xD0,0xFC,0xB0,0x02,0xA2,0x00,0x60,0x20,0x9B,0x07,0xE0,0x00,0xD0,0x13,0xA0, // 0x000005A0 .......` .......
0x06,0x20,0x2C,0x04,0x20,0x26,0x04,0xA0,0x02,0x20,0x2C,0x04,0xAD,0xCD,0x04,0x4C, // 0x000005B0 . ,. &... ,....L
0x6D,0x07,0xA0,0x03,0xE8,0xBD,0xB3,0x05,0x20,0x00,0x04,0x88,0xD0,0xF6,0xC8,0x20, // 0x000005C0 m....... ......
0x2C,0x04,0xAE,0xCC,0x04,0xA0,0x02,0xCA,0xBD,0xFF,0x04,0x20,0x00,0x04,0x88,0xD0, // 0x000005D0 ,.......... ....
0xF6,0x20,0x26,0x04,0xE0,0x08,0x10,0x03,0x4C,0x62,0x07,0xE0,0x0D,0xF0,0x09,0x20, // 0x000005E0 . &.....Lb.....
0x44,0x04,0x48,0xA9,0x00,0x4C,0x69,0x07,0x20,0x44,0x04,0xAA,0xAD,0xC3,0x04,0x0A, // 0x000005F0 D.H..Li. D......
0xB0,0x23,0xA0,0x02,0x20,0x2C,0x04,0x8A,0x4C,0x6D,0x07,0xA2,0x03,0xA0,0x00,0x38, // 0x00000600 .#.. ,..Lm.....8
0xFD,0x20,0x06,0xC8,0xB0,0xFA,0x7D,0x20,0x06,0x48,0xB9,0xEF,0x04,0x20,0x00,0x04, // 0x00000610 . ....} .H... ..
0x68,0xCA,0xD0,0xE9,0x60,0xA0,0x01,0x20,0x2C,0x04,0x8A,0x20,0x4B,0x08,0x4C,0x70, // 0x00000620 h...`.. ,.. K.Lp
0x07,0xA0,0x06,0x20,0x2C,0x04,0x20,0x26,0x04,0x4C,0x38,0x08,0x0A,0x0A,0x90,0x0D, // 0x00000630 ... ,. &.L8.....
0xA0,0x06,0x20,0x2C,0x04,0x20,0x26,0x04,0xA2,0x04,0x4C,0x8F,0x08,0xA2,0x0B,0x8E, // 0x00000640 .. ,. &...L.....
0xCB,0x04,0x4C,0xD1,0x0F,0x48,0xA0,0x06,0xD9,0x23,0x06,0xF0,0x05,0x88,0xD0,0xF8, // 0x00000650 ..L..H...#......
0xF0,0x11,0xAD,0xC3,0x04,0x29,0xC0,0xC0,0x04,0x90,0x02,0x29,0x80,0x19,0x29,0x06, // 0x00000660 .....).....)..).
0x4C,0xE0,0x0F,0xC9,0x02,0xD0,0x36,0xAD,0xC3,0x04,0x49,0x80,0x8D,0xC3,0x04,0x0A, // 0x00000670 L.....6...I.....
0x0A,0x68,0x90,0x26,0xAD,0x12,0x04,0x48,0xAD,0x13,0x04,0x48,0x20,0x67,0x04,0x68, // 0x00000680 .h.&...H...H g.h
0x8D,0x13,0x04,0x68,0x8D,0x12,0x04,0x20,0x15,0x04,0xAD,0x12,0x04,0x18,0x6D,0xCB, // 0x00000690 ...h... ......m.
0x04,0x38,0xE9,0x10,0x8D,0x12,0x04,0x4C,0xCB,0x06,0x4C,0xA8,0x06,0xC9,0x17,0xD0, // 0x000006A0 .8.....L..L.....
0x1A,0xAD,0xC3,0x04,0x49,0x40,0x8D,0xC3,0x04,0x29,0x07,0xF0,0x0A,0xAD,0xC3,0x04, // 0x000006B0 ....I@...)......
0x29,0xF8,0x09,0x20,0x20,0xD8,0x03,0x68,0x4C,0xA8,0x06,0xC9,0x1B,0xD0,0x04,0x68, // 0x000006C0 ).. ..hL......h
0x4C,0x42,0x06,0xC9,0x11,0xD0,0x13,0xA9,0x20,0xA2,0x00,0x9D,0x00,0xD1,0x9D,0x00, // 0x000006D0 LB...... .......
0xD2,0x9D,0x00,0xD3,0xE8,0xD0,0xF4,0x4C,0x0F,0x0D,0xAD,0xC3,0x04,0x0A,0x0A,0x68, // 0x000006E0 .......L.......h
0xAE,0xCB,0x04,0x90,0x03,0x4C,0xC0,0x09,0xA0,0x10,0xD9,0xEF,0x04,0xF0,0x05,0x88, // 0x000006F0 .....L..........
0xD0,0xF8,0xF0,0x26,0x4E,0xC4,0x04,0xB0,0x09,0xA2,0x00,0x8E,0xC5,0x04,0x8E,0xC6, // 0x00000700 ...&N...........
0x04,0x38,0x2E,0xC4,0x04,0x88,0x98,0x0A,0x0A,0x0A,0x0A,0xA0,0x04,0x0A,0x2E,0xC5, // 0x00000710 .8..............
0x04,0x2E,0xC6,0x04,0x88,0xD0,0xF6,0x4C,0xA8,0x09,0xC9,0x0D,0xD0,0x16,0xAD,0xC5, // 0x00000720 .......L........
0x04,0x8D,0xC7,0x04,0xAD,0xC6,0x04,0x8D,0xC8,0x04,0x4E,0xC4,0x04,0x18,0x2E,0xC4, // 0x00000730 ..........N.....
0x04,0x4C,0xA8,0x06,0xC9,0x1D,0xD0,0x19,0xAD,0xC4,0x04,0x4A,0x90,0x03,0x4C,0x6E, // 0x00000740 .L.........J..Ln
0x09,0xCE,0xC7,0x04,0xA0,0xFF,0xCC,0xC7,0x04,0xD0,0x03,0xCE,0xC8,0x04,0x4C,0xA8, // 0x00000750 ..............L.
0x06,0xC9,0x18,0xD0,0x03,0x4C,0xDF,0x03,0x4C,0xEB,0x0D,0x4A,0x90,0x03,0x4C,0x04, // 0x00000760 .....L..L..J..L.
0x0E,0x4A,0x90,0x03,0x4C,0x1C,0x0D,0x4A,0x90,0x03,0x4C,0x79,0x0D,0x4C,0x92,0x08, // 0x00000770 .J..L..J..Ly.L..
0xC9,0x0A,0xD0,0x06,0x20,0x47,0x04,0x4C,0xD7,0x08,0xC9,0x1A,0xD0,0x10,0xCE,0x45, // 0x00000780 .... G.L.......E
0x04,0xA0,0xFF,0xCC,0x45,0x04,0xD0,0x03,0xCE,0x46,0x04,0x4C,0xD7,0x08,0xC9,0x7F, // 0x00000790 ....E....F.L....
0xD0,0x11,0xE0,0x0B,0xF0,0x0A,0xE8,0x20,0x15,0x04,0xCE,0x12,0x04,0x20,0x0B,0x04, // 0x000007A0 ....... ..... ..
0x4C,0x8F,0x08,0xC9,0x0D,0xD0,0x03,0x4C,0x31,0x0A,0xC9,0x20,0x90,0xF2,0xC9,0x5B, // 0x000007B0 L......L1.. ...[
0xB0,0xEE,0xCA,0x10,0x03,0xE8,0xF0,0xE8,0xC9,0x20,0xF0,0x05,0x20,0x00,0x04,0xD0, // 0x000007C0 ......... .. ...
0x03,0x20,0x17,0x0A,0x4C,0x8F,0x08,0xA0,0x01,0xE0,0x05,0x30,0x07,0x20,0x2C,0x04, // 0x000007D0 . ..L......0. ,.
0xC8,0xCA,0xD0,0xF5,0x20,0x26,0x04,0x60,0xB9,0x0B,0xD1,0x60,0x41,0x58,0x59,0x53, // 0x000007E0 .... &.`...`AXYS
0x50,0x8E,0xC2,0x04,0x38,0xA9,0x0C,0xED,0xCB,0x04,0x49,0xFF,0x18,0x69,0x01,0x6D, // 0x000007F0 P...8.....I..i.m
0x12,0x04,0x8D,0x29,0x0A,0xAD,0x13,0x04,0x8D,0x2A,0x0A,0xE0,0x05,0x90,0x68,0xCA, // 0x00000800 ...).....*....h.
0x20,0x17,0x0A,0xA0,0x02,0x20,0x28,0x0A,0xC9,0x3F,0xD0,0x40,0x88,0x20,0x28,0x0A, // 0x00000810 .... (..?.@. (.
0xA0,0x05,0xD9,0x2B,0x0A,0xF0,0x05,0x88,0xD0,0xF8,0xF0,0x4B,0xB9,0xBC,0x04,0x48, // 0x00000820 ...+.......K...H
0xAD,0xC3,0x04,0x0A,0xB0,0x1A,0xA0,0x02,0x20,0x2C,0x04,0x68,0x20,0x50,0x04,0x20, // 0x00000830 ........ ,.h P.
0x15,0x04,0x20,0x35,0x04,0xCE,0xCE,0x04,0xF0,0x03,0x4C,0xCB,0x06,0x4C,0xBC,0x06, // 0x00000840 .. 5......L..L..
0xA0,0x01,0x20,0x2C,0x04,0x68,0x20,0x4B,0x08,0x4C,0x7F,0x0A,0xAD,0xC3,0x04,0x29, // 0x00000850 .. ,.h K.L.....)
0x08,0xF0,0x14,0x88,0x20,0x28,0x0A,0xA0,0x0B,0xCC,0xC2,0x04,0xD0,0x02,0xA9,0x20, // 0x00000860 .... (.........
0x20,0xAF,0x04,0x48,0x4C,0x70,0x0A,0xCA,0x30,0x07,0xA0,0x01,0x20,0x2C,0x04,0xF0, // 0x00000870 ..HLp..0... ,..
0xF6,0xAD,0xC3,0x04,0x29,0x10,0xF0,0x03,0x4C,0x45,0x0C,0xA0,0x01,0x20,0x28,0x0A, // 0x00000880 ....)...LE... (.
0xC9,0x2E,0xF0,0xF4,0xAE,0xC2,0x04,0xE0,0x05,0x30,0x03,0x4C,0x71,0x0C,0xA2,0x69, // 0x00000890 .........0.Lq..i
0xA0,0x03,0x20,0x28,0x0A,0xDD,0xB6,0x05,0xD0,0x06,0xCA,0x88,0xD0,0xF4,0xF0,0x0A, // 0x000008A0 .. (............
0xCA,0x88,0xD0,0xFC,0xCA,0xCA,0xD0,0xE8,0xF0,0xE1,0x8E,0xCC,0x04,0xA2,0x18,0xA0, // 0x000008B0 ................
0x05,0x20,0x28,0x0A,0xDD,0xFE,0x04,0xD0,0x09,0xC8,0x20,0x28,0x0A,0xDD,0xFD,0x04, // 0x000008C0 . (....... (....
0xF0,0x0A,0xCA,0xCA,0xCA,0xD0,0xE8,0xA2,0x00,0x4C,0x8F,0x08,0xA0,0x04,0x20,0x28, // 0x000008D0 .........L.... (
0x0A,0x29,0xFC,0xC9,0x2C,0xD0,0xF0,0xA0,0x07,0x20,0x28,0x0A,0xC9,0x20,0xD0,0xE7, // 0x000008E0 .)..,.... (.. ..
0xE0,0x0F,0xD0,0x11,0xA0,0x08,0x20,0x28,0x0A,0xC9,0x2E,0x4C,0x5D,0x0C,0xC8,0xC0, // 0x000008F0 ...... (...L]...
0x0C,0xD0,0xF3,0xA2,0x03,0xAC,0xCC,0x04,0xB9,0xBA,0x05,0x8E,0xCD,0x04,0x0A,0xCA, // 0x00000900 ................
0xCA,0xCA,0xD0,0xFA,0x90,0xC1,0xAE,0xCD,0x04,0xBD,0xFF,0x04,0xC9,0x08,0xD0,0x06, // 0x00000910 ................
0xC0,0x14,0x10,0x02,0xA9,0x00,0x19,0xB6,0x05,0xC9,0xBA,0xD0,0x02,0xA9,0xBE,0x8D, // 0x00000920 ................
0xCB,0x04,0x20,0xBA,0x0B,0xAE,0xCD,0x04,0xE0,0x0F,0xD0,0x09,0xAD,0xC3,0x04,0x0A, // 0x00000930 .. .............
0x90,0x03,0x20,0xF9,0x0B,0xAE,0xCD,0x04,0xE0,0x0A,0x30,0x07,0xAD,0xC9,0x04,0xC9, // 0x00000940 .. .......0.....
0x00,0xD0,0x84,0xAD,0xCB,0x04,0x20,0xAF,0x04,0xAD,0xCA,0x04,0x20,0xAF,0x04,0xE0, // 0x00000950 ...... ..... ...
0x0A,0x10,0x06,0xAD,0xC9,0x04,0x20,0xAF,0x04,0x4C,0x7F,0x0A,0xA0,0x00,0x8C,0xC9, // 0x00000960 ...... ..L......
0x04,0x8C,0xCA,0x04,0xA0,0x08,0x20,0x28,0x0A,0x60,0x4C,0xF8,0x0C,0xC9,0x2F,0xD0, // 0x00000970 ...... (.`L.../.
0x0A,0xC8,0x20,0x28,0x0A,0x8D,0xCA,0x04,0x4C,0xF8,0x0B,0xA2,0x10,0x20,0x28,0x0A, // 0x00000980 .. (....L.... (.
0xDD,0xEF,0x04,0xF0,0x0C,0xCA,0xD0,0xF8,0xC9,0x2E,0xF0,0x17,0x68,0x68,0x4C,0x17, // 0x00000990 ............hhL.
0x0B,0xCA,0x8A,0xA2,0x04,0x0A,0x0A,0x0A,0x0A,0x0A,0x2E,0xCA,0x04,0x2E,0xC9,0x04, // 0x000009A0 ................
0xCA,0xD0,0xF6,0xC8,0xC0,0x0C,0xD0,0xD3,0x60,0x20,0xAC,0x0B,0xC9,0x2F,0xF0,0xC1, // 0x000009B0 ........` .../..
0xA0,0x0B,0x8C,0xCC,0x04,0xA9,0x00,0x8D,0x7C,0x06,0x48,0xAC,0xCC,0x04,0x20,0x28, // 0x000009C0 ........|.H... (
0x0A,0xA2,0x0A,0xDD,0xEF,0x04,0xF0,0x0B,0xCA,0xD0,0xF8,0xAA,0x68,0xE0,0x2E,0xF0, // 0x000009D0 ............h...
0x16,0xD0,0xB9,0xCA,0x68,0xAC,0x7C,0x06,0xCA,0x30,0x09,0x18,0x79,0x21,0x06,0xB0, // 0x000009E0 ....h.|..0..y!..
0xAB,0xCA,0x10,0xF8,0xEE,0x7C,0x06,0xCE,0xCC,0x04,0xA0,0x07,0xCC,0xCC,0x04,0xD0, // 0x000009F0 .....|..........
0xC9,0x8D,0xCA,0x04,0x60,0x20,0xBA,0x0B,0xAD,0xC3,0x04,0x0A,0x90,0x03,0x20,0xF9, // 0x00000A00 ....` ........ .
0x0B,0xA9,0x00,0xCD,0xC9,0x04,0xD0,0x86,0xA2,0x0B,0x4C,0x99,0x0B,0xF0,0x03,0x4C, // 0x00000A10 ..........L....L
0x3E,0x0B,0xAC,0xCC,0x04,0xB9,0xBA,0x05,0x29,0x08,0xD0,0x02,0xA2,0x03,0x4C,0x45, // 0x00000A20 ........).....LE
0x0B,0xA2,0xA0,0xA0,0x03,0x20,0x28,0x0A,0xDD,0x17,0x05,0xD0,0x06,0xCA,0x88,0xD0, // 0x00000A30 ..... (.........
0xF4,0xF0,0x0A,0xCA,0x88,0xD0,0xFC,0xCA,0xD0,0xE9,0x4C,0x17,0x0B,0xBD,0x17,0x05, // 0x00000A40 ..........L.....
0x8D,0xCB,0x04,0xE0,0x20,0x30,0x12,0xE0,0x2C,0x10,0x08,0x20,0xBA,0x0B,0xA2,0x00, // 0x00000A50 .... 0..,.. ....
0x4C,0x93,0x0B,0x20,0xAF,0x04,0x4C,0x7F,0x0A,0x20,0xBA,0x0B,0x38,0xAD,0xCA,0x04, // 0x00000A60 L.. ..L.. ..8...
0xE9,0x02,0x8D,0xCA,0x04,0xB0,0x03,0xCE,0xC9,0x04,0x38,0xAD,0xCA,0x04,0xED,0x45, // 0x00000A70 ..........8....E
0x04,0xAA,0xAD,0xC9,0x04,0xED,0x46,0x04,0x08,0xC9,0x00,0xF0,0x08,0xC9,0xFF,0xF0, // 0x00000A80 ......F.........
0x04,0x28,0x4C,0x17,0x0B,0x8A,0xA0,0xFF,0xCC,0xC9,0x04,0xD0,0x04,0x28,0x4C,0xE9, // 0x00000A90 .(L..........(L.
0x0C,0x28,0x90,0x05,0x0A,0xB0,0xEB,0x90,0x03,0x0A,0x90,0xE6,0x6A,0xAA,0xAD,0xCB, // 0x00000AA0 .(..........j...
0x04,0x20,0xAF,0x04,0x8A,0x4C,0xA6,0x0B,0xA0,0x08,0x20,0x28,0x0A,0xC9,0x2E,0xD0, // 0x00000AB0 . ...L.... (....
0x08,0xC8,0xC0,0x0C,0xD0,0xF4,0x4C,0xDC,0x0B,0x20,0xAC,0x0B,0x4C,0xBD,0x0B,0xAD, // 0x00000AC0 ......L.. ..L...
0xC3,0x04,0x0A,0x0A,0xB0,0x03,0x4C,0xF1,0x08,0x4C,0xBC,0x06,0xAD,0xFC,0x03,0xC9, // 0x00000AD0 ......L..L......
0x20,0xD0,0x40,0xAD,0xC4,0x04,0x4A,0xB0,0x3A,0xAD,0xC7,0x04,0x8D,0x36,0x0D,0xAD, // 0x00000AE0 .@...J.:....6..
0xC8,0x04,0x8D,0x37,0x0D,0xAD,0x56,0x0F,0xA8,0x4A,0x4A,0x4A,0x4A,0x20,0x6C,0x0D, // 0x00000AF0 ...7..V..JJJJ l.
0x98,0x29,0x0F,0x20,0x6C,0x0D,0xA9,0x0D,0x20,0x70,0x0D,0xEE,0x36,0x0D,0xD0,0x03, // 0x00000B00 .). l... p..6...
0xEE,0x37,0x0D,0xAD,0xC5,0x04,0xCD,0x36,0x0D,0xD0,0xDA,0xA9,0x01,0x8D,0xFF,0x03, // 0x00000B10 .7.....6........
0x4C,0x6E,0x09,0xAD,0xFC,0x03,0x20,0x70,0x0D,0x4C,0x92,0x08,0xAA,0xBD,0xF0,0x04, // 0x00000B20 Ln.... p.L......
0x8D,0x01,0xF0,0xA9,0x12,0x20,0x1B,0x04,0x60,0xAD,0xFC,0x03,0xC9,0x4D,0xD0,0x68, // 0x00000B30 ..... ..`....M.h
0xAD,0xC4,0x04,0x4A,0xB0,0x05,0x4A,0xB0,0x0E,0x90,0x54,0xAD,0xC5,0x04,0x8D,0xAE, // 0x00000B40 ...J..J...T.....
0x0D,0xAD,0xC6,0x04,0x8D,0xAF,0x0D,0xAD,0xAF,0x0D,0xC9,0x03,0xB0,0x41,0xAD,0xC7, // 0x00000B50 .............A..
0x04,0x8D,0xAB,0x0D,0xAD,0xC8,0x04,0x8D,0xAC,0x0D,0xAD,0x00,0x00,0x8D,0x00,0x00, // 0x00000B60 ................
0xEE,0xAB,0x0D,0xD0,0x03,0xEE,0xAC,0x0D,0xEE,0xAE,0x0D,0xD0,0x03,0xEE,0xAF,0x0D, // 0x00000B70 ................
0xAD,0xAF,0x0D,0xC9,0x03,0xF0,0x18,0xAD,0xAB,0x0D,0xCD,0x45,0x04,0xD0,0xDB,0xAD, // 0x00000B80 ...........E....
0xAC,0x0D,0xCD,0x46,0x04,0xD0,0xD3,0xA9,0x02,0x8D,0xC4,0x04,0x4C,0xA8,0x06,0xA9, // 0x00000B90 ...F........L...
0x00,0x8D,0xC4,0x04,0x48,0x4C,0xFD,0x08,0x4C,0x92,0x08,0xC9,0x0A,0xD0,0x0F,0xAD, // 0x00000BA0 ....HL..L.......
0x45,0x04,0x8D,0xC7,0x04,0xAD,0x46,0x04,0x8D,0xC8,0x04,0x4C,0xA8,0x06,0xAD,0xC3, // 0x00000BB0 E.....F....L....
0x04,0x4C,0xAB,0x09,0x4C,0x33,0x0F,0xC9,0x59,0xF0,0x0E,0xC9,0x5F,0xD0,0xD9,0xA2, // 0x00000BC0 .L..L3..Y..._...
0xFF,0x8E,0xC9,0x04,0x8E,0xCA,0x04,0xD0,0x09,0xA2,0x01,0x8E,0xC9,0x04,0xCA,0x8E, // 0x00000BD0 ................
0xCA,0x04,0xAD,0xC4,0x04,0x4A,0xB0,0x06,0x18,0x4A,0xB0,0x13,0x90,0xB1,0xAD,0xC5, // 0x00000BE0 .....J...J......
0x04,0x8D,0xAE,0x0D,0xAD,0xC6,0x04,0x8D,0xAF,0x0D,0xA9,0x02,0x8D,0xC4,0x04,0xAD, // 0x00000BF0 ................
0xAE,0x0D,0x8D,0x45,0x04,0xAD,0xAF,0x0D,0x8D,0x46,0x04,0xC9,0x01,0xF0,0x90,0xC9, // 0x00000C00 ...E.....F......
0x01,0xF0,0x8C,0xC9,0x03,0xB0,0x88,0xAD,0x46,0x04,0xC9,0x03,0xD0,0x03,0x4C,0xA8, // 0x00000C10 ........F.....L.
0x06,0xC9,0x01,0xF0,0xF9,0x20,0x4A,0x07,0xE0,0x00,0xF0,0x5F,0xE0,0x58,0xF0,0xEE, // 0x00000C20 ..... J...._.X..
0xE0,0x24,0x90,0x6B,0xE0,0x30,0xB0,0xDF,0x20,0x44,0x04,0x8D,0xCC,0x04,0xAD,0x46, // 0x00000C30 .$.k.0.. D.....F
0x04,0xC9,0x03,0xF0,0xCC,0xC9,0x01,0xF0,0xC8,0x20,0x44,0x04,0x8D,0xCD,0x04,0xC9, // 0x00000C40 ......... D.....
0xFF,0xC9,0x01,0xF0,0xC2,0xC9,0x03,0xB0,0xBE,0x38,0xAD,0xCC,0x04,0xED,0xC7,0x04, // 0x00000C50 .........8......
0xAD,0xCD,0x04,0xED,0xC8,0x04,0x90,0xAF,0xAD,0x45,0x04,0xE9,0x02,0x8D,0x45,0x04, // 0x00000C60 .........E....E.
0xB0,0x03,0xCE,0x46,0x04,0x18,0xAD,0xCC,0x04,0x6D,0xC9,0x04,0x20,0xAF,0x04,0xAD, // 0x00000C70 ...F.....m.. ...
0xCD,0x04,0x6D,0xCA,0x04,0x20,0xAF,0x04,0x4C,0x57,0x0E,0x20,0x9B,0x07,0xE0,0x00, // 0x00000C80 ..m.. ..LW. ....
0xF0,0x8C,0xAD,0xCC,0x04,0xC9,0x0A,0xB0,0x03,0x20,0x47,0x04,0x4C,0xE8,0x0F,0x20, // 0x00000C90 ......... G.L..
0x44,0x04,0xA8,0xAD,0xC7,0x04,0x38,0xED,0x45,0x04,0x8D,0xCC,0x04,0xAD,0xC8,0x04, // 0x00000CA0 D.....8.E.......
0xED,0x46,0x04,0xB0,0x29,0xC9,0xFF,0xD0,0x22,0x98,0x10,0x1F,0x38,0xED,0xCC,0x04, // 0x00000CB0 .F..)..."...8...
0xB0,0x19,0xC8,0xAD,0xC9,0x04,0x30,0x02,0x88,0x88,0xCE,0x45,0x04,0xA2,0xFF,0xEC, // 0x00000CC0 ......0....E....
0x45,0x04,0xD0,0x03,0xCE,0x46,0x04,0x98,0x20,0xAF,0x04,0x4C,0x57,0x0E,0xC9,0x00, // 0x00000CD0 E....F.. ..LW...
0xD0,0xF9,0x98,0x30,0xF6,0x38,0xC8,0xED,0xCC,0x04,0x90,0xEF,0x4C,0xEE,0x0F,0x30, // 0x00000CE0 ...0.8......L..0
0xD7,0x10,0xD7,0xAD,0xC8,0x04,0xC9,0x01,0xF0,0x08,0xC9,0x01,0xF0,0x04,0xC9,0x03, // 0x00000CF0 ................
0x90,0x03,0x4C,0xDF,0x0D,0xAE,0xC7,0x04,0xAD,0xFC,0x03,0xC9,0x49,0xF0,0x07,0xC9, // 0x00000D00 ..L.........I...
0x4F,0xF0,0x37,0x4C,0x07,0x0E,0x8E,0x69,0x0F,0x8E,0x6C,0x0F,0xAE,0xC8,0x04,0x8E, // 0x00000D10 O.7L...i..l.....
0x6A,0x0F,0x8E,0x6D,0x0F,0xA9,0xEA,0xAA,0xAD,0x00,0x01,0x8E,0x00,0x01,0xEE,0x69, // 0x00000D20 j..m...........i
0x0F,0xEE,0x6C,0x0F,0xD0,0x06,0xEE,0x6A,0x0F,0xEE,0x6D,0x0F,0xAE,0x6D,0x0F,0xE0, // 0x00000D30 ..l....j..m..m..
0x01,0xF0,0x04,0xE0,0x03,0xD0,0xE0,0x4C,0x7A,0x09,0x8E,0xB2,0x0F,0xE8,0x8E,0xA2, // 0x00000D40 .......Lz.......
0x0F,0x08,0xAE,0xC8,0x04,0x8E,0xB3,0x0F,0x8E,0xA3,0x0F,0x28,0xD0,0x03,0xEE,0xA3, // 0x00000D50 ...........(....
0x0F,0xAD,0x01,0x01,0xAE,0xA3,0x0F,0xE0,0x01,0xF0,0x04,0xE0,0x03,0xD0,0x02,0xA9, // 0x00000D60 ................
0x00,0x8D,0x00,0x01,0xEE,0xA2,0x0F,0xD0,0x03,0xEE,0xA3,0x0F,0xEE,0xB2,0x0F,0xD0, // 0x00000D70 ................
0x03,0xEE,0xB3,0x0F,0xAE,0xB3,0x0F,0xE0,0x01,0xF0,0xBC,0xE0,0x03,0xF0,0xB8,0xD0, // 0x00000D80 ................
0xD0,0x20,0x00,0x03,0x48,0xCD,0xFE,0x03,0xD0,0x03,0x4C,0x0B,0x09,0x4C,0x96,0x08, // 0x00000D90 . ..H.....L..L..
0xA0,0x00,0x8C,0xC4,0x04,0x4C,0xBC,0x08,0x20,0x47,0x04,0x4C,0x57,0x0E,0x08,0xAD, // 0x00000DA0 .....L.. G.LW...
0xC9,0x04,0xAA,0x28,0xD0,0x06,0x8A,0x10,0x03,0x4C,0x1B,0x0F,0x8A,0x4C,0x2F,0x0F] // 0x00000DB0 ...(.....L...L/.
}

View file

@ -1,17 +1,14 @@
---
layout: page
title: Challenger 1P Programming Guides/Samples
permalink: /pubs/c1p/programming/
title: Challenger 1P 6502 Assembler/Disassembler
permalink: /apps/c1p/6502/jeffpar/assembler/
redirect_from:
- /pubs/c1p/programming/
---
Challenger 1P Programming Guides
6502 ASSEMBLER/DISASSEMBLER
---
Challenger 1P Programming Samples
---
### 6502 ASSEMBLER/DISASSEMBLER
This "source code listing" from June 19, 1980 is for the first piece of software I sold, right around the
time I graduated from high school. I had had my Ohio Scientific Challenger 1P for maybe a year when I decided
to write something that would make it easier to write "machine language" programs than the incredibly tedious
@ -28,4 +25,4 @@ Anyway, to satisfy the buyer, I sat down at my old manual typewriter and banged
code" listing. I produced it mostly by using the program to disassemble itself, combined with information
from hand-written notes (which I may still have somewhere). Here it is, many decades later, for your amusement.
[<img src="http://archive.pcjs.org/pubs/c1p/programming/thumbs/OSI_Assembler-Disassembler_Listing-thumb.jpg" width="200" height="260" alt="6502 Disassembler Listing (by Jeff Parsons, June 1980)"/>](http://archive.pcjs.org/pubs/c1p/programming/pdfs/OSI_Assembler-Disassembler_Listing.pdf)
[<img src="http://archive.pcjs.org/apps/c1p/6502/jeffpar/assembler/thumbs/OSI_Assembler-Disassembler_Listing-thumb.jpg" width="200" height="260" alt="6502 Disassembler Listing (by Jeff Parsons, June 1980)"/>](http://archive.pcjs.org/apps/c1p/6502/jeffpar/assembler/pdfs/OSI_Assembler-Disassembler_Listing.pdf)

View file

@ -1,12 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<serial id="serialPort" pos="left" padleft="8px">
<control type="list" binding="listSerial">
<item ref="/apps/c1p/6502/jeffpar/assembler/ASSEMBLER-1.json">6502 DISASSEMBLER-1 (JP)</item>
<item ref="/apps/c1p/6502/jeffpar/assembler/ASSEMBLER-2.json">6502 DISASSEMBLER-2 (JP)</item>
<item ref="/apps/c1p/6502/jeffpar/basicext/BASICEXT.json">6502 BASIC MODS (JP)</item>
<item ref="/apps/c1p/6502/jeffpar/life/LIFE.json">6502 LIFE (JP)</item>
<item ref="/apps/c1p/6502/tests/bcd/bcd.json">6502 BCD TESTS</item>
<item ref="/apps/c1p/6502/tests/vflag/vflag.json">6502 VFLAG TESTS</item>
<item ref="/apps/c1p/6502/jeffpar/assembler/ASSEMBLER-4K.json">6502 4K Assembler (JP)</item>
<item ref="/apps/c1p/6502/jeffpar/assembler/ASSEMBLER-8K.json">6502 8K Assembler (JP)</item>
<item ref="/apps/c1p/6502/jeffpar/basicext/BASICEXT.json">6502 BASIC Extensions (JP)</item>
<item ref="/apps/c1p/6502/jeffpar/life/LIFE.json">6502 Game of Life (JP)</item>
<item ref="/apps/c1p/6502/tests/bcd/bcd.json">6502 BCD Tests</item>
<item ref="/apps/c1p/6502/tests/vflag/vflag.json">6502 VFLAG Tests</item>
<item ref="/apps/c1p/BASIC/jeffpar/CHECKERS.BAS">CHECKERS (JP)</item>
<item ref="/apps/c1p/BASIC/jeffpar/HANGWOMAN.BAS">HANGWOMAN (JP)</item>
<item ref="/apps/c1p/BASIC/jeffpar/LIFE.BAS">LIFE (JP)</item>

View file

@ -53,33 +53,13 @@ function C1PSerialPort(parmsSerial)
this.flags.fPowered = false;
this.fDemo = parmsSerial['demo'];
this.STATUS_NONE = 0x00;
this.STATUS_DATA = 0x01; // indicates data available
this.reset();
this.reset(true);
}
Component.subclass(C1PSerialPort);
/**
* @this {C1PSerialPort}
*/
C1PSerialPort.prototype.reset = function()
{
/*
* Because we reset the machine at the start of a 6502 HEX command file auto-load,
* we must avoid tossing the serial port's input buffer in that particular case (2).
*/
if (this.autoLoad != 2) {
this.bInput = 0;
this.cbInput = 0;
this.iInput = 0;
this.sInput = "10 PRINT \"HELLO OSI #" + this.getMachineNum() + "\"\n";
// this.sOutput = new Array(0);
// this.iOutputNext = 0;
C1PSerialPort.STATUS_NONE = 0x00;
C1PSerialPort.STATUS_DATA = 0x01; // indicates data available
/*
* Values for autoLoad:
@ -88,7 +68,34 @@ C1PSerialPort.prototype.reset = function()
* 1: BASIC command file auto-load in progress
* 2: 6502 HEX command file auto-load in progress
*/
this.autoLoad = 0;
C1PSerialPort.AUTOLOAD_NONE = 0;
C1PSerialPort.AUTOLOAD_BASIC = 1;
C1PSerialPort.AUTOLOAD_6502 = 2;
/**
* @this {C1PSerialPort}
* @param {boolean} [fHard]
*/
C1PSerialPort.prototype.reset = function(fHard)
{
/*
* Because we reset the machine at the start of a 6502 HEX command file auto-load,
* we must avoid tossing the serial port's input buffer in that particular case (2).
*/
if (fHard || this.autoLoad != C1PSerialPort.AUTOLOAD_6502) {
this.bInput = -1;
this.iInput = 0;
this.sInput = "";
if (this.fDemo) {
this.sInput = "10 PRINT \"HELLO OSI #" + this.getMachineNum() + "\"\n";
}
// this.sOutput = new Array(0);
// this.iOutputNext = 0;
this.fConvertLF = true;
this.autoLoad = C1PSerialPort.AUTOLOAD_NONE;
}
};
@ -224,7 +231,7 @@ C1PSerialPort.prototype.setPower = function(fOn, cmp)
*/
C1PSerialPort.prototype.startLoad = function()
{
this.autoLoad = 1;
this.autoLoad = C1PSerialPort.AUTOLOAD_BASIC;
this.kbd.injectKeys("LOAD\n");
};
@ -241,9 +248,10 @@ C1PSerialPort.prototype.loadFile = function(sFileName, sFileData, nResponse)
return;
}
this.autoLoad = 0;
this.iInput = 0;
this.sInput = sFileData;
this.fConvertLF = true;
this.autoLoad = C1PSerialPort.AUTOLOAD_NONE;
/*
* The following code adds support for loading "65V" files encoded as JSON, which is a cleaner
@ -252,6 +260,8 @@ C1PSerialPort.prototype.loadFile = function(sFileName, sFileData, nResponse)
* For example, my 6502 ASSEMBLER/DISASSEMBLER program starts with a conventional "65V" loading
* sequence, which loads and launches a small program loader that loads the rest of the program
* using a raw (1-to-1) binary format instead of the usual (3-to-1) HEX format used by "65V" files.
*
* The "rawness" of the binary format also necessitates disabling fConvertLF.
*/
if (str.endsWith(sFileName, ".json")) {
try {
@ -265,6 +275,7 @@ C1PSerialPort.prototype.loadFile = function(sFileName, sFileData, nResponse)
s += String.fromCharCode(ab[i]);
}
this.sInput = s;
this.fConvertLF = false;
} catch (e) {
this.println("Error processing file \"" + sFileName + "\": " + e.message);
return;
@ -289,15 +300,15 @@ C1PSerialPort.prototype.loadFile = function(sFileName, sFileData, nResponse)
* LOAD.
*/
if (this.sInput.charAt(0) != '.') {
this.autoLoad = 1;
this.autoLoad = C1PSerialPort.AUTOLOAD_BASIC;
this.kbd.injectKeys("NEW\nLOAD\n");
}
else {
/*
* Set autoLoad to 2 before the reset, so that when our reset() method is called,
* Set autoLoad to AUTOLOAD_6502 before the reset, so that when our reset() method is called,
* we'll take care to preserve all the data we just loaded.
*/
this.autoLoad = 2;
this.autoLoad = C1PSerialPort.AUTOLOAD_6502;
/*
* Although the Keyboard allows us to inject any key, even the BREAK key, like so:
*
@ -372,23 +383,23 @@ C1PSerialPort.prototype.setByte = function(addr, addrFrom)
C1PSerialPort.prototype.advanceInput = function()
{
if (this.sInput !== undefined) {
this.bInput = 0;
this.cbInput = 0;
this.bInput = -1;
if (this.iInput < this.sInput.length) {
var b = this.sInput.charCodeAt(this.iInput++) & 0xff;
if (this.fConvertLF) {
if (b == 0x0a) b = 0x0d;
}
this.bInput = b;
this.cbInput = 1;
// if (DEBUG) this.log("advanceInput(" + str.toHexByte(b) + ")");
}
else {
this.sInput = "";
this.iInput = 0;
if (DEBUG) this.log("advanceInput(): out of data");
if (this.autoLoad == 1 && this.kbd) {
if (this.autoLoad == C1PSerialPort.AUTOLOAD_BASIC && this.kbd) {
this.kbd.injectKeys(" \nRUN\n");
}
this.autoLoad = 0;
this.autoLoad = C1PSerialPort.AUTOLOAD_NONE;
}
this.updateMemory();
}
@ -405,13 +416,13 @@ C1PSerialPort.prototype.updateMemory = function()
* Update all the status (even) bytes
*/
for (offset = this.offPort+0; offset < this.offPortLimit; offset+=2) {
this.abMem[offset] = (this.cbInput? this.STATUS_DATA : this.STATUS_NONE);
this.abMem[offset] = (this.bInput >= 0? C1PSerialPort.STATUS_DATA : C1PSerialPort.STATUS_NONE);
}
/*
* Update all the data (odd) bytes
*/
for (offset = this.offPort+1; offset < this.offPortLimit; offset+=2) {
this.abMem[offset] = (this.cbInput? this.bInput : 0);
this.abMem[offset] = (this.bInput >= 0? this.bInput : 0);
}
};