Exemple #1
0
        for i in range(10):
            v = cx.m[a + i]
            s += " %02x" % v
        s += "  "
        for i in range(10, 16):
            v = cx.m[a + i]
            s += " %02x" % v
        c.rendered = "TBLX " + s
        c.compact = True

    for a in range(0x7000, 0x70a0, 16):
        tblx(a)

    for a in range(0x7100, 0x71a0, 16):
        tblx(a)

    #######################################################################

    seven_segment.table(cx.m,
                        0x7800,
                        0x7810,
                        drive=(128, 64, 32, 16, 8, 4, 2, 1, 0),
                        inv=True,
                        verbose=False)

    return NAME, (cx.m, )


if __name__ == '__main__':
    listing.Example(example)
Exemple #2
0
    for i in cx.bank:
        for a in range(0, 256, 16):
            b = a + i.bank
            m = "CX[%d][0x%x]" % (i.bank, b)
            #print(i, "%x" % b)
            i.m.set_label(b, m)
            i.m.set_line_comment(b, "C_" + m)
            try:
                y = data.Pstruct(i.m, b, "B")
                y.typ = m
            except mem.MemError:
                pass

    m = [m1]
    m += [x.m for x in cx.bank]
    for i in m:
        a = list(sorted(i.find(lo=0x00, hi=0x100)))
        b = list(sorted(i))
        for x, y in zip(a, b):
            xr = x.render()
            yr = y.render()
            assert xr == yr, "Find(%s) %s %s" % (str(i), xr, yr)
        assert len(a) == len(b), "Find(%s)\n\t%s\n\t%s" % (str(i), str(a),
                                                           str(b))

    return NAME, rv


if __name__ == '__main__':
    listing.Example(example, ncol=8, pil=False)
Exemple #3
0
          .9.9.9.9 9.9
          .8.8.8.8 8.8
          ...
          .0.0.0.0 0.0

        It calls 0x5ca a lot, presumably to let the analog stuff settle ?
        """

    if False:
        cmt = """
        The display is driven by two chains of 3 three P4003 10-bit shift
        registers, which again drives 7447 7-segment drivers.
        On entry r2 contains 0x20 or 0x40, depending on which clock-pulse
        line should be driven.
        A total of 30 pulses are sent:
            6 x 1  Decimal points, left to right
            6 x 4  BCD to 7447, LSD to MSD order.
        """

    if False:
        cmt = """
            0x66a-0x676
            are 3-byte constants
        """

    return NAME, (cx.m, )


if __name__ == '__main__':
    listing.Example(example, pil=True)
Exemple #4
0
                0x81ce2,
                0x81cfc,
                0x81d24,
        ):
            cy.m.q.queue(PRI_ASSY, cy.disass, a)

        for a in range(0x70601, 0x706a1, 5):
            y = Dataptr(cy.m, a)
            cy.disass(y.dst)

        # Table of week-days
        for a in range(0x0cf31, 0x0cf5b, 6):
            y = data.Data(cy.m, a, a + 6)
            t = text(cy.m, a, 3)
            y.rendered = ".TXT\t「" + t + "」"

        while True:
            cy.m.q.run()
            if hunt_objects(cy):
                break

        if True:
            edb = entrydatabase.RPN_EDB()
            edb.decorate(cy.m, "48G")

    return "HP48GX", l


if __name__ == '__main__':
    listing.Example(example, wordspace='', charset=False)
        (0x0060, "record size?"),
        (0x0061, "0x18 : Pointer til Field_Sort"),
        (0x0062, "0x19 : Pointer til Field_Mode"),
        (0x006a, "(Declare_Type, Variant_Record_Class ?)"),
        (0x006b, "0xd : Pointer til Operand_Class typen?"),
        (0x006c, "0xe : Pointer til Operation typen?"),
        (0x006f, "0x16 : Pointer til Field_Index typen?"),
        (0x0072, "0x16 : Pointer til Field_Index typen?"),
        (0x0075, "0x16 : Pointer til Field_Index typen?"),
        (0x0076, "0x1c : Pointer til Access_Spec typen?"),
        (0x007f, "Field_Spec\n(Declare_Type, Variant_Record_Class ?)"),
        (0x0080, "0xd : Pointer til Operand_Class typen?"),
        (0x0081, "0xe : Pointer til Operation typen?"),
        (0x0084, "0x1c : Pointer til Field_Spec typen?"),
        (0x008d, "Field_Spec\n(Declare_Type, Variant_Record_Class ?)"),
    ):
        cx.m.set_line_comment(a, l)

    cx.m.set_block_comment(
        0x5f, "Start på første Variant record (type Access_Spec)")
    cx.m.set_block_comment(0x6b, "Start på Variant record (type Field_Spec)")
    cx.m.set_block_comment(0x80,
                           "Start på Variant record (type Operator_Spec)")
    cx.m.set_block_comment(0x8e, "S**t på Variant record (type Operator_Spec)")

    return NAME, (cx.m, )


if __name__ == '__main__':
    listing.Example(example, ncol=1, leaf_width=48)
Exemple #6
0
    for a in range(0x80004a7a, 0x80004a98, 4):
        d = cx.m.bu32(a)
        data.Dataptr(cx.m, a, a + 4, d)
        data.Txt(cx.m, d, align=1)

    for a in range(0x800036e8, 0x800036fc, 4):
        d = cx.m.bu32(a)
        data.Dataptr(cx.m, a, a + 4, d)
        data.Txt(cx.m, d)

    data.Const(cx.m, 0x80001ffa, 0x80002000)
    data.Const(cx.m, 0x80003ffa, 0x80004000)
    data.Const(cx.m, 0x80005ffa, 0x80006000)
    data.Const(cx.m, 0x80007dfa, 0x80007e00)

    # See 0x800039e0
    data.Const(cx.m, 0x80003a2a, 0x80003a2a + 0x16)

    y = data.Pstruct(cx.m, 0x80007e84, ">L")
    y.lcmt = "Machine Number"

    d = discover.Discover(cx)

    return NAME, (cx.m, )


#######################################################################

if __name__ == '__main__':
    listing.Example(example, ncol=8)