Shop OBEX P1 Docs P2 Docs Learn Events
Prop2 FPGA files!!! - Updated 2 June 2018 - Final Version 32i - Page 144 — Parallax Forums

Prop2 FPGA files!!! - Updated 2 June 2018 - Final Version 32i

1141142144146147160

Comments

  • Prop123_A9_Prop2_8cogs_v32h.rbf loaded and working ok.
     Cold start
    ----------------------------------------------------------------
      Parallax P2  .:.:--TAQOZ--:.:.  V1.0         180526-0250 140F
    ----------------------------------------------------------------
    TAQOZ# dir
    .SDSS16G 5D59_6020 PROP       32k 15,189M
    PROP         $0000_3F80 0
    B  I n f. o  $1D00_3F80 110
     S y s t. e  $1BC0_3F80 6,619,245
    SYSTEM~1     $0000_4040 0
    BUGZ         $0000_4100 330,112
    FOZ          $0000_43C0 245,760
    INVADE       $0000_45C0 83,520
    MAZE         $0000_4680 127,744
    VGA          $0000_4780 172,992
     ok
    TAQOZ# lsio
    P:00000000001111111111222222222233333333334444444444555555555566
    P:01234567890123456789012345678901234567890123456789012345678901
    =:~~~~~~~~~d~~~~~~~~~~~~~~~dd~~~~~~d~~~~~~~~~~~~~~~~~~~~~hhhh~h~ ok
    TAQOZ#
    
  • cgraceycgracey Posts: 14,206
    Thanks!
  • Cluso99Cluso99 Posts: 18,069
    excellent news guys!

    All thee things are going to make the P2 very easy to experiment with right out of the box!
  • cgracey wrote: »
    At the top of this thread, I posted a new PNut_v32h.exe which doubles the size of the symbol table.

    Also, there's a new Prop123_A9_8cogs_v32h.rbf which has the CORDIC (the last version was missing the CORDIC). This version also allows ROM rewriting.

    Here's the link the new .zip:

    https://drive.google.com/file/d/13X3cXH2-O3hx-ldjroR78m5c_MPM1fqB/view?usp=sharing

    Thanks Chip but I can't seem to use the new PNut either, it is still reporting a 1024 limit when I try it on ROM_140F.spin2
    The about dialog reports PNut_v32h.exe as v32f
  • cgraceycgracey Posts: 14,206
    cgracey wrote: »
    At the top of this thread, I posted a new PNut_v32h.exe which doubles the size of the symbol table.

    Also, there's a new Prop123_A9_8cogs_v32h.rbf which has the CORDIC (the last version was missing the CORDIC). This version also allows ROM rewriting.

    Here's the link the new .zip:

    https://drive.google.com/file/d/13X3cXH2-O3hx-ldjroR78m5c_MPM1fqB/view?usp=sharing

    Thanks Chip but I can't seem to use the new PNut either, it is still reporting a 1024 limit when I try it on ROM_140F.spin2
    The about dialog reports PNut_v32h.exe as v32f

    I see the problem now. It's just an equate change in the compiler source. I won't be able to get to it until I get back tonight. Short label names will buy you more symbols, for now.
  • Cluso99Cluso99 Posts: 18,069
    Peter,
    140i has your 140f taqoz and compiles with pnut. I removed some labels and made others local (beginning with ".") to reduce the labels I use.
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2018-05-27 01:23
    Cluso99 wrote: »
    Peter,
    140i has your 140f taqoz and compiles with pnut. I removed some labels and made others local (beginning with ".") to reduce the labels I use.

    Thanks, I've made room for another 128+ bytes while adding extra functionality and also printing the date and time in DIR. More words are device sensitive so that to print a null terminated string we normally supply the address (usually via the symbol) to PRINT$. Now if we have an open file we can supply the offset into that file or print the entire file with "0 SD PRINT$" etc.

    I'm doing the same with BACKUP and RESTORE so that you can open a file and specify "0 SD BACKUP" to backup or if you want to access the first hidden 4M of the SD (less the MBR) you specify it by sector, in this case sector 1 to skip the MBR and type "0 SD BACKUP" .

    SD - select the SD card
    SF - select the Serial Flash
    Device sensitive words such as DUMP, PRINT$, CTYPE (but not BACKUP.RESTORE) revert back to normal hub RAM after execution.

    I would like to specify file name but code space is very tight to process and cleanup file names and then search whereas the starting sector number is the file handle if you like. You can always create a constant if you like when working off a fixed SD with" $1B780 == BOOTFILE" and then just use it "BOOTFILE FOPEN".

    Are there any other features, both to do with the SD card and with TAQOZ that we could include (given the limits). Format might be nice but might not be as useful as some other functions.
  • jmgjmg Posts: 15,175
    edited 2018-05-27 01:41
    Thanks, I've made room for another 128+ bytes while adding extra functionality and also printing the date and time in DIR.
    Cool :)

    I would like to specify file name but code space is very tight to process and cleanup file names and then search whereas the starting sector number is the file handle if you like.
    Is this made simpler, if you impose some rules on file names ?
    eg I could see a use for (eg) easy loading of future boot-patch files, where giving a name is easier for users to manage.
    .... Format might be nice but might not be as useful as some other functions.
    Can Format go into the expanded TAQOZ ? - the one too large for ROM that users download ?
    To me Format is a blunt hammer, and a code crash might call Format ?
    Is the write protect switch on SD cards checked here ?

  • I suppose if th eP2 was tethered and controlled remotely then this might be a good thing to use a formatted file name. I will look into it.
  • cgraceycgracey Posts: 14,206
    edited 2018-05-27 06:54
    At the top of this thread is a new .zip which contains a new PNut_v32i.exe which handles 8x the labels as the prior version.

    Here it is right here:

    https://drive.google.com/file/d/1asHZjmC3Q7e2aQcI42S8R1BdlxUjuY22/view?usp=sharing
  • Thanks Chip. Even though I'm using p2asm as part of my build tool I still need a sanity check on the final output as I have been caught :)

    Can you include the latest ROM into these images? I've got a whole heap of extra stuff in there since a few days ago including all the FAT32 and DIR and FOPEN functions.

    I'm still making some changes to the latest version but I will finish this later on as I'm taking the cheese and kisses out to dinner.
  • Pnut_v32i is still limited to 1024 DAT symbols
  • ozpropdev wrote: »
    Pnut_v32i is still limited to 1024 DAT symbols

    Yes, Chip needs to test it on the latest rom files.
  • cgraceycgracey Posts: 14,206
    edited 2018-05-27 09:19
    ozpropdev wrote: »
    Pnut_v32i is still limited to 1024 DAT symbols

    Okay. Sorry. I found the part that matters and fixed it. We can now do 10k DAT symbols:

    https://drive.google.com/file/d/1JukT7CKEOJLygqs1GefDUoLerWiOgWpj/view?usp=sharing
  • Thanks Chip. All good now. :)
  • Great, that works! It's a pity we didn't have a CLI version of it though as I could easily tie that in with a preprocessor like I do now with p2asm and m4.
  • cgraceycgracey Posts: 14,206
    Great, that works! It's a pity we didn't have a CLI version of it though as I could easily tie that in with a preprocessor like I do now with p2asm and m4.

    CLI. Will work on that....
  • cgraceycgracey Posts: 14,206
    ozpropdev wrote: »
    Thanks Chip. All good now. :)

    Thanks for trying it, Brian and Peter.
  • I have noticed a difference between the two A9 images when starting TAQOZ.
    The BeMicro -A9 starts with all cogs but the P123-A9 starts with 1 cog.
    I have verified the cog leds are working correctly on the P123-A9 board with my own code.
  • ozpropdev wrote: »
    I have noticed a difference between the two A9 images when starting TAQOZ.
    The BeMicro -A9 starts with all cogs but the P123-A9 starts with 1 cog.
    I have verified the cog leds are working correctly on the P123-A9 board with my own code.

    My later version of TAQOZ just starts one cog to help with debugging but the user can start other cogs with <cog> NEWCOG.

  • ozpropdevozpropdev Posts: 2,793
    edited 2018-05-28 01:47
    Heres the BeMicro-A9 response
     Cold start
    
    ----------------------------------------------------------------
      Parallax P2  .:.:--TAQOZ--:.:.  V1.0         180519-1500
    
    ----------------------------------------------------------------
    TAQOZ#
    
    and heres the P123-A9 response
     Cold start
    
    ----------------------------------------------------------------
      Parallax P2  .:.:--TAQOZ--:.:.  V1.0         180526-0250 140F
     *error*
    
    0 lines and 0 bytes compiled,  with 0 errors in 1,430ms
    ----------------------------------------------------------------
    TAQOZ#
    

  • I changed the way I automount since it would throw an error if no card was present. Now it checks first and ignores automount and the subsequent error if there is no card.

    This is the current boot splash.
    ----------------------------------------------------------------
      Parallax P2  .:.:--TAQOZ--:.:.  V1.0--141          180528-0130
    ----------------------------------------------------------------
    

    and performing a DIR from there:
    TAQOZ# DIR .SDSL16G 6131_6232 NO NAME    32k 15,189M
    .SDSL16G 6131_6232 NO NAME    32k 15,189M
    HELP         $0000_FC80   2017.12.04.12.34   0
    FISH2   .VT  $0001_0000   2017.11.23.15.08   211,945
    3X5     .TXT $0001_01C0   2017.11.23.15.06   3,968
    ASCIIART.TXT $0001_0200   2017.11.23.15.05   55,148
    MIDENG  .TXT $0001_0280   2017.11.23.14.11   1,248,077
    VULGAR  .TXT $0001_0C40   2017.11.23.13.56   511,916
    ROUGES  .TXT $0001_1040   2017.11.23.13.51   219,885
    LEXICON .TXT $0001_1200   2017.11.23.13.48   988,130
    WARWORLD.TXT $0001_19C0   2017.11.23.13.42   365,413
    WEBSTERS.TXT $0001_1CC0   2017.11.23.12.59   28,956,348
    ILIAD   .TXT $0001_F9C0   2017.11.23.12.55   1,201,891
    PRIDE   .TXT $0002_0300   2017.11.23.12.54   726,223
    EASYFILE.FTH $0002_08C0   2017.10.24.13.53   46,173
    EXTEND  .FTH $0002_0940   2017.10.24.12.14   60,355
    EASYNET .FTH $0002_09C0   2017.10.24.01.57   42,985
    LIFE    .FTH $0002_0A40   2017.10.15.05.40   7,308
    CALCDEMO.FTH $0002_0A80   2017.10.11.06.28   1,848
    KJV     .TXT $0002_0AC0   2017.08.28.12.28   5,504,282
    SEE     .FTH $007A_5800   2018.01.24.03.36   3,495
    SPLAT-V4.FTH $0002_3500   2017.03.09.12.30   18,944
    WARPEACE.TXT $0002_3540   2015.08.30.07.27   3,226,652
    LOVE    .WAV $0002_4E00   2015.02.16.08.06   14,630,692
    POPCORN .WAV $0002_BDC0   2014.06.17.06.15   117,804
    CD      .ISO $0002_BEC0   2013.08.23.11.23   4,012,965,888
    ANSI         $007A_5840   2018.01.24.03.49   0
    _BOOT_P2.BIX $007A_64C0   2018.05.27.09.52   32,640
     BOOT_P2.BIY $007A_6400   2018.05.14.15.23   32,768
    TAQOZ   .FTH $007A_6440   2018.05.23.14.49   37,354
     ok
    TAQOZ#
    
  • Cluso99Cluso99 Posts: 18,069
    edited 2018-05-29 03:12
    Chip,
    Sorry to ask again...

    How many clocks does it take for an OUTL #pin to be seen at the output pin from the start (or the end - please specify which) of the OUTx instruction?

    How many clocks does it take for a TESTP #pin to sample the input pin prior to the start (or the end - please specify which) of the TESTP instruction? 6 from the start/end???

    eg
    clock    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
             | : | : | : | : | : | : | : | : | : | : | : | : | : | : | : | : | : | : |
              out                                         tst
                ~~~~~|~~~~~            ~~~~~~|~~~~~~~~~~~~~~~~
    
    Ugh. The forum doesn't accept the proptool extended characters :(
  • jmgjmg Posts: 15,175
    edited 2018-05-29 03:44
    Cluso99 wrote: »
    How many clocks does it take for an OUTL #pin to be seen at the output pin from the start (or the end - please specify which) of the OUTx instruction?
    How many clocks does it take for a TESTP #pin to sample the input pin prior to the start (or the end - please specify which) of the TESTP instruction? 6 from the start/end???

    Didn't I see some test code for this go past recently ? There are pipeline FF's both ways.

    I find this post April 26, added 1 clk delay

    I think these tests relate to SmartPins, and show some variance ?

  • cgraceycgracey Posts: 14,206
    edited 2018-05-29 03:53
    I believe 3 clocks for DIR/OUT to pin, and 2 clocks for pin to IN.
  • jmgjmg Posts: 15,175
    edited 2018-05-29 04:12
    cgracey wrote: »
    I believe 3 clocks for DIR/OUT to pin, and 2 clocks for pin to IN.

    I think cluso wants to pair OUT and TESTP, and the question seems to come to 'how many NOPs are needed to test the new value, not the old one' ?
    Is that one NOP or 2 NOPs, or ? , needed ? (and is the Silicon the same as the FPGA at all MHz ? )
  • cgraceycgracey Posts: 14,206
    jmg wrote: »
    cgracey wrote: »
    I believe 3 clocks for DIR/OUT to pin, and 2 clocks for pin to IN.

    I think cluso wants to pair OUT and TESTP, and the question seems to come to 'how many NOPs are needed to test the new value, not the old one' ?
    Is that one NOP or 2 NOPs, or ? , needed ? (and is the Silicon the same as the FPGA at all MHz ? )

    You can sample after the clock high and low, and the data will still be from before the high.
  • Cluso99Cluso99 Posts: 18,069
    edited 2018-05-29 05:46
    Chip,
    Is it 1 clock after the OUTx instruction completes that the output pin will be set?
    And is it 2 clocks prior to the TESTP instruction commences (ie 4 clocks from the end of TESTP) ?

    This is what I see, but it's relative, not specific to the start of the instruction.
    It requires a waitx #3 to see the output back to input. Waitx #2 doesn't see the output.
    		mov	cmdout,#10
    .loop		drvl	#0
    		waitx	#32
    		outh	#0
    		waitx	cmdout
    		testp	#0   wc
    
    		mov	lmm_x,cmdout
    		call	#@_hubhex8
    		mov	lmm_x,#" "
    		call	#@_hubTx
                    mov	lmm_x,#"0"
            if_c    mov     lmm_x,#"1"
            	call	#@_hubTx
                    call	#@_hubTxCR
                    djnz	cmdout,#.loop
    
    clock    /\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\
             | : | : | : : | : | : | : | : | : | : | : | : | : | : | : | : | : | : |
              out waitx #3  tst
             ~~~~~~~~~~|~~~~~~~~~~~~
    
  • cgraceycgracey Posts: 14,206
    The pin will be set after the 1st of the double colons. It reads back on the 1st clock of the TESTP instruction.
  • cgraceycgracey Posts: 14,206
    edited 2018-05-29 06:12
    Here is the I/O pin timing for writing the OUTA/OUTB bits to reading back the modified pin states via TESTP vs TESTB INA/INB:
    clock    /\/\/\/\/\/\/\/\/\/\/\/
             | : | : : : : | : |
             out waitx #3  testp
             ~~~~~~~~~~~|~~~~~~~~~~~
    
    clock    /\/\/\/\/\/\/\/\/\/\/\/
             | : | : : : : : | : |
             out waitx #4    testb ina/inb
             ~~~~~~~~~~~|~~~~~~~~~~~
    

    Note that TESTP needs one less clock than reading the INA/INB register.
Sign In or Register to comment.