Shop OBEX P1 Docs P2 Docs Learn Events
Where can I find information on using the built in ROM Monitor for the P2? — Parallax Forums

Where can I find information on using the built in ROM Monitor for the P2?

I am using the flexgui application to write PASM programs for the P2 Am looking for instructions on using the built in ROM monitor. Where do I find them?

Comments

  • These links describe the Tachyon Forth stuff, but do not refer to the other part of the ROM which is the ROM Monitor portion, which comes from Dave Hein, if I am correct on that. I can get to the Tachyon stuff, but am wondering about the other part, hoping I can get a way to understand what is going on in my program better.
  • Cluso99Cluso99 Posts: 18,066
    Beat me to it. dnalor's link has the latest info :smiley:
  • I found that I could see the hub ram by entering
    400-010L cr
    To give me a listing of hub ram.

    However, entering 000-010L cr didn't allow me to see cog ram because the monitor seemed to clobber it.

    i got enough out of it to allow me to move along on my efforts. I feel like a student sitting in an Einstein class with a black board full of equations and he says "It is obvious that ..." You guys are all so far along and I am just trying to learn how to use this great chip. I have so many questions that I feel are too basic to ask. Thanks for all your help, all of you.

    Steve
  • Cluso99Cluso99 Posts: 18,066
    Just ask away - remember we all had to learn at one time ;)
    Problem is that I learnt electronics and programming 50 years ago, so I tend to assume everyone knows the basics which of course is not true!

    Here are a couple of list examples...
    
    P2-MONITOR V1.3
    *100-
      100: 00 8E 0E F4  50 7A 64 5D  50 78 64 5D  28 FE 65 AD   '....Pzd]Pxd](.e.'
    *100-1ff
      100: 00 8E 0E F4  50 7A 64 5D  50 78 64 5D  28 FE 65 AD   '....Pzd]Pxd](.e.'
      104: 00 00 04 AB  59 76 64 FD  03 76 4C FB  64 06 90 3D   '....Yvd..vL.d..='
      108: 1C 04 90 FD  58 EC 63 FD  1F 3C 64 FD  50 EC 63 FD   '....X.c..<d.P.c.'
      10C: 1F 2C 65 FD  40 EC 73 0D  08 EC 07 F6  59 7A 64 FD   '.,e.@.s.....Yzd.'
    ....
      1F0: DA 8B 03 FB  A9 B0 20 FF  52 8A 0F F2  E4 B5 07 F1   '...... .R.......'
      1F4: 31 01 00 00  99 02 00 40  3B 00 00 00  1A B4 07 F1   '1......@;.......'
      1F8: 00 00 00 00  00 C0 0F 00  00 00 00 00  00 00 00 C0   '................'
      1FC: 00 00 00 00  00 00 00 00  FF FF FF FF  FF FF FF 3F   '...............?'
    *00100-
    00100: 5F 50 32 5F  4C 45 44 5F  42 49 59 20  00 77 A1 94   '_P2_LED_BIY .w..'
    *00100-0011f
    00100: 5F 50 32 5F  4C 45 44 5F  42 49 59 20  00 77 A1 94   '_P2_LED_BIY .w..'
    00110: 68 4D 68 4D  00 00 DD 98  8A 4C 8F 00  00 80 00 00   'hMhM.....L......'
    *
    00120: 50 49 4E 5F  30 30 35 41  4F 42 4A 20  18 7B A1 94   'PIN_005AOBJ .{..'
    00130: 68 4D 68 4D  00 00 EC 7A  68 4D 90 00  60 40 00 00   'hMhM...zhM..`@..'
    *
    
    Notes:
    1. You don't require the "L"
    2. To see hub below $400 just use 5 digits with leading zeros, otherwise you will get cog & lut
    3. A single address "100-" will give one lines worth. The "-" is the trigger for list.
    4. <cr> again will list the next block
    5. Remember the P2 is little endian so you see the 4 bytes reversed eg at $100: 00 8E 0E F4 is the instruction $F4 0E 8E 00

    The ROM is copied to the top 16KB of hub at $FC000-$FFFFF. The monitor will overwrite the first 80/128 bytes of this for its' input buffer. And the monitor uses COG $1E0-$1EF for its' variables. It does not use anything else in cog/lut.
Sign In or Register to comment.