Shop Learn
TACHYON O/S V3.0 JUNO - Furiously Fast Forth, FAT32+LAN+VGA+RS485+OBEX ROMS+FP+LMM+++ - Page 92 — Parallax Forums

TACHYON O/S V3.0 JUNO - Furiously Fast Forth, FAT32+LAN+VGA+RS485+OBEX ROMS+FP+LMM+++

18990929495109

Comments

  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2016-07-24 08:14
    D.P wrote: »
    I just rebuilt the world without error from current dropbox?

    Yes, I had fixed it as I was testing it, now I am double checking my file system modules etc

    Yep, they're good.
    MODULES LOADED: 
    3AB3: EASYFILE.fth        FAT32 Virtual Memory Access File System Layer V1.1 150213-1530 
    348C: SDCARD.fth          SD CARD Toolkit - 150827.0000 
    341B: P1656.fth           P1656 HARDWARE DEFINITIONS 160325.0000 
    1787: EXTEND.fth          Primary extensions to TACHYON kernel - 160720-1500
    
    VER:    Propeller .:.:--TACHYON--:.:. Forth V3.0 JUNO 300160720.0000
    FREQ:   96MHZ (PLLEN OSCEN XTAL1  PLL16X)
    NAMES:  $52AB...74C7 for 8,732 bytes (+1,384)
    CODE:   $0930...4932 for 16,386 bytes (+3,711)
    RAM:    2,425 bytes free
    BUILD:  FIRMWARE BUILD DATE 000000:000115   BOOTS:  1   runtime 69,272
    BOOT:   EXTEND.boot ok
      ok
      ok
    ls
    Mounted 200D.A160-3032.6430          NO NAME     FAT32   7,944MB (32,768/cluster)
    NO NAME    
    [ALBM    ]     [DCIM    ]     [AVF_INFO]     [PRIVATE ]     [MP_ROOT ]       ok
      ok
    ls
    NO NAME    
    [ALBM    ]     [DCIM    ]     [AVF_INFO]     [PRIVATE ]     [MP_ROOT ]       ok
    cd DCIM  ok
    ls
    NO NAME    
    [.       ]     [..      ]     [100OLYMP]     [101MSDCF]     [183_FUJI]       ok
    ls
    NO NAME    
    [.       ]     [..      ]     [100OLYMP]     [101MSDCF]     [183_FUJI]       ok
    cd 183_FUJI  ok
    ls
    NO NAME    
    [.       ]     [..      ]     DSCF3029.JPG   DSCF3030.JPG   DSCF3031.JPG   
    DSCF3032.JPG   DSCF3033.JPG   DSCF3034.JPG   DSCF3035.JPG   DSCF3036.JPG   
    DSCF3037.JPG   DSCF3038.JPG   DSCF3039.JPG   DSCF3040.JPG   DSCF3041.JPG   
    DSCF3042.JPG   DSCF3043.JPG   DSCF3044.JPG   DSCF3045.JPG   DSCF3046.JPG   
    DSCF3047.JPG   DSCF3048.JPG   DSCF3049.JPG   DSCF3050.JPG   DSCF3051.JPG   
    DSCF3052.JPG   DSCF3053.JPG     ok
    
    qv DSCF3029.JPG
    0782.8000: ......Exif..II*.................................................
    0782.8040: ..................(...........1...........2.....................
    0782.8080: ..............i.......`.......j...........FUJIFILM..X-T10.H.....
    0782.80C0: ..H.......Digital Camera X-T10 Ver1.00..2015:10:13 23:34:35.      ok
    
  • Cluso99Cluso99 Posts: 17,942
    Thanks Peter.

    I just checked dropbox and there are no recent files. What did you update and where are they???

    This is the link I am using https://dropbox.com/sh/yzrczasnorqp5i9/AAAFn8MPpVN4jsSQ74mqNBUDa
  • That's funny, it didn't appear to be synchronized but has now. Maybe my laptop had gone to sleep before it had synch'd.
  • Cluso99Cluso99 Posts: 17,942
    Hooray! All working so far :):):)

    Now to put my OS boot back and then load/run TACHYON from it ;)

    I have killed BACKUP by...
    :BACKUP ;

    I have created PX2.H (a few posts back) and loaded it.

    I have loaded SDCARD.FTH

    I have loaded EASYFILE.FTH

    I have saved TACHYON to SDCARD file FIRMWARE.ROM (needed to be pre-exist and 64KB)

    Here is what was shown onscreen (TeraTerm)
    MODULES LOADED:
    3AB7: EASYFILE.fth        FAT32 Virtual Memory Access File System Layer V1.1 150213-1530
    348C: SDCARD.fth          SD CARD Toolkit - 150827.0000
    341C: PX2.fth             P8XBlade2 HARDWARE DEFINITIONS 160724.0000
    1787: EXTEND.fth          Primary extensions to TACHYON kernel - 160720-1500
    
    VER:    Propeller .:.:--TACHYON--:.:. Forth V3.0 JUNO 300160720.0000
    FREQ:   96MHZ (PLLEN OSCEN XTAL1  PLL8X )
    NAMES:  $52AD...74C7 for 8,730 bytes (+1,384)
    CODE:   $0930...4936 for 16,390 bytes (+3,711)
    RAM:    2,423 bytes free
    BUILD:  FIRMWARE BUILD DATE 000000:000000   BOOTS:  0   runtime 0
    BOOT:   EXTEND.boot ok
      ok
      ok
    SAVEROM  ok
    LS??? ls
    Mounted 6C14.0000-0403.0201 SD                   FAT32   7,981MB (32,768/cluster)
    
    [SYSTEM~1]     _CODEGEN.CMD   _COPY   .CMD   _DEL    .CMD   _DIFF   .CMD
    _DIR    .CMD   _DIRCPM .CMD   _DNLOAD .CMD   _DUMPFIL.CMD   _DUMPHUB.CMD
    _DUMPSOB.CMD   _DUMPTOK.CMD   _ECHO   .CMD   _FREE   .CMD   _GETCPM .CMD
    _GETFAT .CMD   _HELP   .CMD   _HELP   .TXT   _HUBDUMP.CMD   _LEX    .CMD
    _LF     .CMD   _LINK   .CMD   _LS     .CMD   _MAPCPM .CMD   _OS     .CMD
    _PROGRAM.CMD   _PUTCPM .CMD   _PUTFAT .CMD   _REBOOT .CMD   _REN    .CMD
    _RUN    .CMD   _SOBDUMP.CMD   _TESTSD .CMD   _TOKDUMP.CMD   _TYPE   .CMD
    _USED   .CMD   _VER    .CMD   BOOT05M0.EEP   BOOT10M0.EEP   BOOTP8X2.EEP
    LED3    .SOB   LED3    .SPN   LED3    .TOK   OS      .BIN   OSV110SC.ZIP
    OSV110SD.ZIP   TIMESTMP.D8A   _CLEAR  .CMD   _CMD    .CMD   _CMD_   .CMD
    FIRMWARE.ROM     ok
    

  • Cluso99Cluso99 Posts: 17,942
    edited 2016-07-24 09:54
    Peter,
    Do you have a command that can boot/run a propeller binary file from the SD Card (replace Tachyon) ???

    I can write a pasm program to do this. I presume from what I have read, you can load and run a pasm object in another free cog. So I could load this pasm program which would take control.
  • Cluso99Cluso99 Posts: 17,942
    Reading thru the glossary and noticed a few things...

    ?DUP ( a -- a a ) C If a <>0 else ( a -- a ) dup if <>0
    might be better explained...
    ?DUP ( a -- a a ) C dup if a <>0, else ( a -- a )
  • MJBMJB Posts: 1,235
    Cluso99 wrote: »
    Peter,
    Do you have a command that can boot/run a propeller binary file from the SD Card (replace Tachyon) ???

    I can write a pasm program to do this. I presume from what I have read, you can load and run a pasm object in another free cog. So I could load this pasm program which would take control.
    it is easy to load from SD to EEPROM and restart,
    but loading to RAM requires Tachyons SD routines which are higl level FORTH code and will be overwritten by the load ... :-((
    You would need a COGlet which is able to handle the loading completely on it's own, without need to run from HUB.
    But given the file start address on SD a COG resident SPI/SD driver could handle the reading and HUB writing ...


  • @cluso99 If you just load Tachyon to RAM a simple reboot should load your OS again?

    so reset or even a beak signal over serial?

    just asking...

    Mike



  • Cluso99Cluso99 Posts: 17,942
    Mike, this is the easiest way to go so thanks for your input :)
  • Cluso99Cluso99 Posts: 17,942
    Peter,
    I have saved Tachyon to the SD card using SAVEROM. It is a 64KB file so I cannot load it as a propeller binary.

    Is there a way to load and run TACHYON as a binary from the SD card without having to boot it from eeprom. Perhaps I just need to load the binary file that would normally reside in eeprom???

    BTW the SAVEROM command corrupted the SD card somehow so it will not boot using Kye's FatEngine.
  • MJBMJB Posts: 1,235
    edited 2016-07-25 07:12
    Cluso99 wrote: »
    Peter,
    I have saved Tachyon to the SD card using SAVEROM. It is a 64KB file so I cannot load it as a propeller binary.

    Is there a way to load and run TACHYON as a binary from the SD card without having to boot it from eeprom. Perhaps I just need to load the binary file that would normally reside in eeprom???

    BTW the SAVEROM command corrupted the SD card somehow so it will not boot using Kye's FatEngine.
    @Cluso - first you need to be clear which of the different possible configurations of Tachyon you want to run.

    1. Kernel only - you can load a SPIN file via SpinTool or BST or load a saved version 32k into memory somehow
    2. 32k version - you can not use the latest T3 Extend.fth which moves COG-images to high EEPROM and can not use EEWORDS which moves dictionary to upper EEPROM. Just use basic EXTEND.
    This can include SD&FS.
    3. 64k version - if you can spare high EEPROM for Tachyon use, then you could move the lower 32k of EEPROM to SD and reuse for your OS. you then only load the lower 32k from SD into RAM and Tachyon is back. Of course you can not use BACKUP then, since this writes RAM to lower EEPROM

  • Cluso99Cluso99 Posts: 17,942
    edited 2016-07-26 03:32
    MJB wrote: »
    Cluso99 wrote: »
    Peter,
    I have saved Tachyon to the SD card using SAVEROM. It is a 64KB file so I cannot load it as a propeller binary.

    Is there a way to load and run TACHYON as a binary from the SD card without having to boot it from eeprom. Perhaps I just need to load the binary file that would normally reside in eeprom???

    BTW the SAVEROM command corrupted the SD card somehow so it will not boot using Kye's FatEngine.
    @Cluso - first you need to be clear which of the different possible configurations of Tachyon you want to run.

    1. Kernel only - you can load a SPIN file via SpinTool or BST or load a saved version 32k into memory somehow
    2. 32k version - you can not use the latest T3 Extend.fth which moves COG-images to high EEPROM and can not use EEWORDS which moves dictionary to upper EEPROM. Just use basic EXTEND.
    This can include SD&FS.
    3. 64k version - if you can spare high EEPROM for Tachyon use, then you could move the lower 32k of EEPROM to SD and reuse for your OS. you then only load the lower 32k from SD and Tachyon is back. Of course you can not use BACKUP then, since this writes RAM to lower EEPROM
    Thanks. Let me make sure I understand this.

    1. I compiled Tachyon V3.0 with bst (the kernel). Initially I programmed this into my EEPROM. It has my xtal and SD pin parameters.

    2. Not sure I understand this part. Let me come back to this.

    3. I don't use the upper 32KB of EEPROM and I have 64KB fitted.

    What I did was...

    1. Compile Tachyon V3.0 with my parameters, and downloaded to EEPROM.
    2. Booted Tachyon3
    3. Killed BACKUP by ": BACKUP ;" Postedit: added required space before and after BACKUP
    4. Loaded EXTEND.FTH, PX2.H (my pcb xtal and SD pins), SDCARD.FTH, EASYFILE.FTH
    5. Ran SAVEROM (having first created/copied 64KB file FIRMWARE.ROM to my SD card).

    I didn't load or use EEWORDS.

    How do I save the COG images to upper EEPROM (or know that its done) ?
    I gather I must load EEWORDS and then run EEWORDS to save to upper EEPROM ?
    Now what do I need to save to be able to re-launch Tachyon3 with all the above intact ?

    Perhaps the FIRMWARE.ROM is the complete Tachyon so that I need to load the first 32KB into Hub Ram, and the next 32KB needs to be in the upper 32KB of EEPROM. So, by booting from the hub with the first 32KB loaded, Tachyon should run.

    My code that boots the SD Card OS is only ~11KB. I normally program this into the lower 32KB EEPROM. It also exists as a binary file on the SD card too. So I should be able to write a small program for Tachyon to load into a cog which can then boot/load my SD file into hub and execute.
  • MJBMJB Posts: 1,235
    Cluso99 wrote: »
    MJB wrote: »
    Cluso99 wrote: »
    Peter,
    I have saved Tachyon to the SD card using SAVEROM. It is a 64KB file so I cannot load it as a propeller binary.

    Is there a way to load and run TACHYON as a binary from the SD card without having to boot it from eeprom. Perhaps I just need to load the binary file that would normally reside in eeprom???

    BTW the SAVEROM command corrupted the SD card somehow so it will not boot using Kye's FatEngine.
    @Cluso - first you need to be clear which of the different possible configurations of Tachyon you want to run.

    1. Kernel only - you can load a SPIN file via SpinTool or BST or load a saved version 32k into memory somehow
    2. 32k version - you can not use the latest T3 Extend.fth which moves COG-images to high EEPROM and can not use EEWORDS which moves dictionary to upper EEPROM. Just use basic EXTEND.
    This can include SD&FS.
    3. 64k version - if you can spare high EEPROM for Tachyon use, then you could move the lower 32k of EEPROM to SD and reuse for your OS. you then only load the lower 32k from SD and Tachyon is back. Of course you can not use BACKUP then, since this writes RAM to lower EEPROM
    Thanks. Let me make sure I understand this.
    1. I compiled Tachyon V3.0 with bst (the kernel). Initially I programmed this into my EEPROM. It has my xtal and SD pin parameters.
    2. Not sure I understand this part. Let me come back to this.
    3. I don't use the upper 32KB of EEPROM and I have 64KB fitted.

    What I did was...

    1. Compile Tachyon V3.0 with my parameters, and downloaded to EEPROM.
    2. Booted Tachyon3
    3. Killed BACKUP by ":BACKUP ;"
    make sure there is at leat one SPACE after the : !!!
    4. Loaded EXTEND.FTH,
    loading EXTEND will move the ROMS (i.e. the COG images) to higher EEPROM
    P8X2.H (my pcb xtal and SD pins), SDCARD.FTH, EASYFILE.FTH
    5. Ran SAVEROM (having first created/copied 64KB file FIRMWARE.ROM to my SD card).
    you now can either load only the first 32k of this 64k EEPROM image to RAM, since the upper 32k are still in EEPROM. Then Tachyon should be back.
    Or there is an option to only save the first 32K to a ROM file that can be loaded then. Not sure about error correction/checksums on the ROM files ... so if just loading the first half would work.
    I didn't load or use EEWORDS.
    OK, not needed yet, but can increase available space later.

    How do I save the COG images to upper EEPROM (or know that its done) ?
    this is done at the end of loading EXTEND
    I gather I must load EEWORDS and then run EEWORDS to save to upper EEPROM ?
    no - not needed now. enough space for first work
    Now what do I need to save to be able to re-launch Tachyon3 with all the above intact ?
    Perhaps the FIRMWARE.ROM is the complete Tachyon so that I need to load the first 32KB into Hub Ram, and the next 32KB needs to be in the upper 32KB of EEPROM. So, by booting from the hub with the first 32KB loaded, Tachyon should run.

    My code that boots the SD Card OS is only ~11KB. I normally program this into the lower 32KB EEPROM. It also exists as a binary file on the SD card too. So I should be able to write a small program for Tachyon to load into a cog which can then boot/load my SD file into hub and execute.
    don'T think Tachyon runs without HUB.
    but you can make a little COG only loader to load a SD image into lower 32k, that is loaded into COG (from SD or opper EEPROM) and started via Tachyon. Then this loader can overwrite the RAM or the lower EEPROM, depending on how you want to use it.
    Keeping your OS-loader in lower EEPROM is probably the right way, and just load 32k Tachyon to RAM ...

  • Cluso99Cluso99 Posts: 17,942
    MJB wrote: »
    Cluso99 wrote: »
    MJB wrote: »
    Cluso99 wrote: »
    Peter,
    I have saved Tachyon to the SD card using SAVEROM. It is a 64KB file so I cannot load it as a propeller binary.

    Is there a way to load and run TACHYON as a binary from the SD card without having to boot it from eeprom. Perhaps I just need to load the binary file that would normally reside in eeprom???

    BTW the SAVEROM command corrupted the SD card somehow so it will not boot using Kye's FatEngine.
    @Cluso - first you need to be clear which of the different possible configurations of Tachyon you want to run.

    1. Kernel only - you can load a SPIN file via SpinTool or BST or load a saved version 32k into memory somehow
    2. 32k version - you can not use the latest T3 Extend.fth which moves COG-images to high EEPROM and can not use EEWORDS which moves dictionary to upper EEPROM. Just use basic EXTEND.
    This can include SD&FS.
    3. 64k version - if you can spare high EEPROM for Tachyon use, then you could move the lower 32k of EEPROM to SD and reuse for your OS. you then only load the lower 32k from SD and Tachyon is back. Of course you can not use BACKUP then, since this writes RAM to lower EEPROM
    Thanks. Let me make sure I understand this.
    1. I compiled Tachyon V3.0 with bst (the kernel). Initially I programmed this into my EEPROM. It has my xtal and SD pin parameters.
    2. Not sure I understand this part. Let me come back to this.
    3. I don't use the upper 32KB of EEPROM and I have 64KB fitted.

    What I did was...

    1. Compile Tachyon V3.0 with my parameters, and downloaded to EEPROM.
    2. Booted Tachyon3
    3. Killed BACKUP by ":BACKUP ;"
    make sure there is at leat one SPACE after the : !!!
    4. Loaded EXTEND.FTH,
    loading EXTEND will move the ROMS (i.e. the COG images) to higher EEPROM
    P8X2.H (my pcb xtal and SD pins), SDCARD.FTH, EASYFILE.FTH
    5. Ran SAVEROM (having first created/copied 64KB file FIRMWARE.ROM to my SD card).
    you now can either load only the first 32k of this 64k EEPROM image to RAM, since the upper 32k are still in EEPROM. Then Tachyon should be back.
    Or there is an option to only save the first 32K to a ROM file that can be loaded then. Not sure about error correction/checksums on the ROM files ... so if just loading the first half would work.
    I didn't load or use EEWORDS.
    OK, not needed yet, but can increase available space later.

    How do I save the COG images to upper EEPROM (or know that its done) ?
    this is done at the end of loading EXTEND
    I gather I must load EEWORDS and then run EEWORDS to save to upper EEPROM ?
    no - not needed now. enough space for first work
    Now what do I need to save to be able to re-launch Tachyon3 with all the above intact ?
    Perhaps the FIRMWARE.ROM is the complete Tachyon so that I need to load the first 32KB into Hub Ram, and the next 32KB needs to be in the upper 32KB of EEPROM. So, by booting from the hub with the first 32KB loaded, Tachyon should run.

    My code that boots the SD Card OS is only ~11KB. I normally program this into the lower 32KB EEPROM. It also exists as a binary file on the SD card too. So I should be able to write a small program for Tachyon to load into a cog which can then boot/load my SD file into hub and execute.
    don'T think Tachyon runs without HUB.
    but you can make a little COG only loader to load a SD image into lower 32k, that is loaded into COG (from SD or opper EEPROM) and started via Tachyon. Then this loader can overwrite the RAM or the lower EEPROM, depending on how you want to use it.
    Keeping your OS-loader in lower EEPROM is probably the right way, and just load 32k Tachyon to RAM ...

    Thanks,
    I will give this a try, perhaps tomorrow.
    BTW I think I missed the space after : BACKUP ; so maybe that is why I got a corruption.
  • MJBMJB Posts: 1,235
    Cluso99 wrote: »
    MJB wrote: »
    Cluso99 wrote: »
    MJB wrote: »
    Cluso99 wrote: »
    Peter,
    I have saved Tachyon to the SD card using SAVEROM. It is a 64KB file so I cannot load it as a propeller binary.

    Is there a way to load and run TACHYON as a binary from the SD card without having to boot it from eeprom. Perhaps I just need to load the binary file that would normally reside in eeprom???

    BTW the SAVEROM command corrupted the SD card somehow so it will not boot using Kye's FatEngine.
    @Cluso - first you need to be clear which of the different possible configurations of Tachyon you want to run.

    1. Kernel only - you can load a SPIN file via SpinTool or BST or load a saved version 32k into memory somehow
    2. 32k version - you can not use the latest T3 Extend.fth which moves COG-images to high EEPROM and can not use EEWORDS which moves dictionary to upper EEPROM. Just use basic EXTEND.
    This can include SD&FS.
    3. 64k version - if you can spare high EEPROM for Tachyon use, then you could move the lower 32k of EEPROM to SD and reuse for your OS. you then only load the lower 32k from SD and Tachyon is back. Of course you can not use BACKUP then, since this writes RAM to lower EEPROM
    Thanks. Let me make sure I understand this.
    1. I compiled Tachyon V3.0 with bst (the kernel). Initially I programmed this into my EEPROM. It has my xtal and SD pin parameters.
    2. Not sure I understand this part. Let me come back to this.
    3. I don't use the upper 32KB of EEPROM and I have 64KB fitted.

    What I did was...

    1. Compile Tachyon V3.0 with my parameters, and downloaded to EEPROM.
    2. Booted Tachyon3
    3. Killed BACKUP by ":BACKUP ;"
    make sure there is at leat one SPACE after the : !!!
    4. Loaded EXTEND.FTH,
    loading EXTEND will move the ROMS (i.e. the COG images) to higher EEPROM
    P8X2.H (my pcb xtal and SD pins), SDCARD.FTH, EASYFILE.FTH
    5. Ran SAVEROM (having first created/copied 64KB file FIRMWARE.ROM to my SD card).
    you now can either load only the first 32k of this 64k EEPROM image to RAM, since the upper 32k are still in EEPROM. Then Tachyon should be back.
    Or there is an option to only save the first 32K to a ROM file that can be loaded then. Not sure about error correction/checksums on the ROM files ... so if just loading the first half would work.
    I didn't load or use EEWORDS.
    OK, not needed yet, but can increase available space later.

    How do I save the COG images to upper EEPROM (or know that its done) ?
    this is done at the end of loading EXTEND
    I gather I must load EEWORDS and then run EEWORDS to save to upper EEPROM ?
    no - not needed now. enough space for first work
    Now what do I need to save to be able to re-launch Tachyon3 with all the above intact ?
    Perhaps the FIRMWARE.ROM is the complete Tachyon so that I need to load the first 32KB into Hub Ram, and the next 32KB needs to be in the upper 32KB of EEPROM. So, by booting from the hub with the first 32KB loaded, Tachyon should run.

    My code that boots the SD Card OS is only ~11KB. I normally program this into the lower 32KB EEPROM. It also exists as a binary file on the SD card too. So I should be able to write a small program for Tachyon to load into a cog which can then boot/load my SD file into hub and execute.
    don'T think Tachyon runs without HUB.
    but you can make a little COG only loader to load a SD image into lower 32k, that is loaded into COG (from SD or opper EEPROM) and started via Tachyon. Then this loader can overwrite the RAM or the lower EEPROM, depending on how you want to use it.
    Keeping your OS-loader in lower EEPROM is probably the right way, and just load 32k Tachyon to RAM ...

    Thanks,
    I will give this a try, perhaps tomorrow.
    BTW I think I missed the space after : BACKUP ; so maybe that is why I got a corruption.

    yes - spaces are VERY important in Forth.
    They separate words.
    And : is the word to define a new word.
    so
    : BACKUP ;
    
    just redefines BACKUP to do nothing.
    :BACKUP ; without the space should just give a 'word not found' error

    and then ?BACKUP or BACKUP saves HUB-RAM to lower EEPROM. The ?BACKUP only does it only if no errors were encountered during load. BACKUP just does it anyhow unconditionally.
  • You should define a dummy ?BACKUP as well
  • MJBMJB Posts: 1,235
    You should define a dummy ?BACKUP as well
    Just a little explanation:
    this is needed because if a word calls another one, like ?BACKUP calling BACKUP, if you redefine the word BACKUP the definition ?BACKUP still calls the original version of it.
    Here even a little worse, since Peter uses a 'fall through'.
    So even a REVECTOR won't help, since BACKUP is not called through the vector table, but just is the next byte in sequence.
    
    pub ?BACKUP	( --   \ Only backup if there are no errors recorded )
     	errors C@ ?EXIT
    pub BACKUP ( --  \ V2 - Backup the current Tachyon Forth session )
    	EEPROM
    	0 0 (end) $40 ALIGN OVER - ESAVE
    	;
    
  • Peter JakackiPeter Jakacki Posts: 10,193
    edited 2016-07-25 14:39
    @MJB - every new word normally gets a vector anyway but bear in mind that the V3 has a small vector table so it looks like REVECTOR might not be of much use to us too.
  • MJBMJB Posts: 1,235
    @MJB - every new word normally gets a vector anyway but bear in mind that the V3 has a small vector table so it looks like REVECTOR might not be of much use to us too.

    Actually I liked the option to REVECTOR - it is a bit like in LISP, where you can redefine any function and it is used by all callers automagically.
    But to get more space some things have to be sacrificed. And REVECTOR is a rarely used feature, so it is OK for me to lose it.
    If need be there could be a slower REDEFINE, which scans for CALL16 in the code space and exchanges the following address to the new one.
    This would need to skip inline constants in the search, since they could be potentially the same as the CALL16 opcode.

    And in this special case above I just wanted to point out, that even REVECTOR would not help for a cascaded definition. Something exotic ;-)
  • MJBMJB Posts: 1,235
    @Peter
    I think it is better to change this sequence
    IFDEF EXPLORER
    #11 MODULE: HEX FILE LOAD & DUMP
    ( HEX FILE LOAD & DUMP )
    
    to
    IFDEF EXPLORER
    : INCLUDE     .... specify mask including the modules that should be part of EXPLORER ... ;
    
    #11 MODULE: HEX FILE LOAD & DUMP
    ( HEX FILE LOAD & DUMP )
    

    otherwise I can not get module 11 loaded unless I specify EXPLORER which is quite limiting the flexibility.

    of course parts, that are not inside a module can be handled as now.
  • Sorry, can you edit the dropbox version as I always refresh my files since I work on different computers.
  • MJBMJB Posts: 1,235
    Sorry, can you edit the dropbox version as I always refresh my files since I work on different computers.

    you want me to make the suggested changes?
    I just download from your dropbox to local.
    How can I edit there without creating conflicts?
  • I just edit in dropbox directly and I have backups etc so don't worry. My editor tells me if the file has been changed so I just refresh.
  • Oh how I wish we would use GitHub, it's free.

    SmartGit is a commercial easy to use client (we use the commercial version at work) but it is free for non-commercial work, which is what Tachyon is because it is free.

    You don't need to be a Git expert just do the basics, pull, push, merge.

    Until then, be careful with your versions.
  • Is it OK to make edits to the Glossary ?
  • If someone wants to setup github then I don't have a problem with that, I just haven't bothered myself and I can continue to just do what I do and work with Dropbox although Dropbox is kinda handy and easy.
  • D.PD.P Posts: 790
    edited 2016-07-26 03:51
    If someone wants to setup github then I don't have a problem with that, I just haven't bothered myself and I can continue to just do what I do and work with Dropbox although Dropbox is kinda handy and easy.

    I'll give it a go.

    Gonna grab core Tachyon Files now

    UPDATE:

    HERE is the link to the new Tachyon P1 GitHub Repository.

    Let me know if you want other files tracked. Would be nice to let me know when stuff changes somehow so I can keep the library current.

    If and when you want to try to pull and commit changes to GitHub let me know and I will grant the permissions.
  • Cluso99Cluso99 Posts: 17,942
    OK I have my Tachyon V3.0 with EXTEND, PX2, SDCARD & EASYFILE loaded, and ": BACKUP ;" and ": ?BACKUP ;" commands removed.
    Tachyon boots (bit of a problem with TeraTerm as I have to unplug board and disconnect/reconnect TeraTerm. But I have proven it reboots ok.

    Is there a command that will save the 32KB hub (or lower eeprom) ie the "Tachyon Boot Image" to a file ?
  • Cluso99 wrote: »
    OK I have my Tachyon V3.0 with EXTEND, PX2, SDCARD & EASYFILE loaded, and ": BACKUP ;" and ": ?BACKUP ;" commands removed.
    Tachyon boots (bit of a problem with TeraTerm as I have to unplug board and disconnect/reconnect TeraTerm. But I have proven it reboots ok.

    Is there a command that will save the 32KB hub (or lower eeprom) ie the "Tachyon Boot Image" to a file ?

    The trouble with reading RAM is that some of the areas that are initially the cog binary image are reused for buffers, hence reading from eeprom to save to file avoids all that. But we can treat the file in the same way as EEPROM if you like since it is accessed as virtual memory, I just need to make BACKUP handle virtual file memory in place of eeprom. It's easy enough, I will get back to you soon.
  • Cluso99 wrote: »
    OK I have my Tachyon V3.0 with EXTEND, PX2, SDCARD & EASYFILE loaded, and ": BACKUP ;" and ": ?BACKUP ;" commands removed.
    Tachyon boots (bit of a problem with TeraTerm as I have to unplug board and disconnect/reconnect TeraTerm. But I have proven it reboots ok.

    Is there a command that will save the 32KB hub (or lower eeprom) ie the "Tachyon Boot Image" to a file ?

    This looks like a promising start from EXTEND.fth
    --- Save a block of RAM to EEPROM. Will backup 32K to EEPROM in 4.963 seconds
    pub ESAVE ( ram eeprom cnt -- )
    
    


Sign In or Register to comment.