Jump to content
apc

FujiNet Config loading faster

Recommended Posts

Config loader update!

 

After exercising with all the helper scripts and tools, here is an image which contains loader & FujiNet CONFIG (and config tools):

 

autorun-zx0.atr

 

As the name indicates the new ZX0 compression is used. With ZX0 the compressed CONFIG is smaller and it loads a bit quicker compared to LZ4 variant.

ZX0 decompression routine was embedded into boot loader. Both Config loader and CONFIG are decompressed while being read from disk.

As it was before, HISIO is enabled as soon as possible to speedup SIO transfers and CONFIG is loaded with banner and growing progress bar.

 

Build process was automated, "make dist" should do all the hard work. For this purpose I prepared Python script which acts as very simplified SuperPacker (and other script to prepare somehow relocatable code and other script to update final ATR, and ... it was interesting to get all this working together)

 

As a bonus, once the CONFIG is compressed with ZX0 the file segments are "decorated" to make the result Atari DOS compatible/loadable again. However DOS cannot decompress file segments (there are some exceptions ;-) ) so decompression routine is bundled and called prior passing the control to CONFIG. I.e. Same CONFIG file can be loaded by ZX0 capable loader (during boot) with inline decompression and it can be loaded as a regular DOS program later from disk.

 

Credits: @xxl for ZX0 decompression port to 6502 and boot loader @HiassofT for high speed SIO @bocianu for FujiNet banner @pirx for compression ideas  🙂

 

Source code: https://github.com/a8jan/fujinet-config-loader - branch "zx0" (If everything works fine, will be glad to move into FN repos)

 

Jan

 

  • Like 5
  • Thanks 2

Share this post


Link to post
Share on other sites
11 minutes ago, tschak909 said:

how do I test?

-Thom

 

replaced autorun.atr with the new one above in fujinet-platformio/data/ then upload filesystem

 

soooper fast, me likes :D 

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)
23 minutes ago, tschak909 said:

how do I test?

-Thom

 

- mount as D1: and boot - CONFIG should load

- mount as D2: with some DOS disk in D1: boot DOS and load CONFIG - CONFIG should load

- replace autorun.atr with autorun-zx0.atr (rename to autorun.atr), build firmware image, test with firmware

@mozzwald can you test if the loader build process works (git clone ... make dist) on your side? then we can test if build process works on WSL .. would be nice :)

Edited by apc
  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, apc said:

- mount as D1: and boot - CONFIG should load

- mount as D2: with some DOS disk in D1: boot DOS and load CONFIG - CONFIG should load

- replace autorun.atr with autorun-zx0.atr (rename to autorun.atr), build firmware image, test with firmware

@mozzwald can you test if the loader build process works (git clone ... make dist) on your side?

Building relocatable ZX0 decompressor
../tools/relgen.py zx0unpack-1000-f.obj zx0unpack-1201-f.obj ../tools/pack/a8/zx0unpack.obj
Traceback (most recent call last):
  File "../tools/relgen.py", line 208, in <module>
    main()
  File "../tools/relgen.py", line 142, in main
    with open(fnout, 'wb') as fout:
FileNotFoundError: [Errno 2] No such file or directory: '../tools/pack/a8/zx0unpack.obj'
Makefile:60: recipe for target '../tools/pack/a8/zx0unpack.obj' failed

this is as far as I got

Share this post


Link to post
Share on other sites
4 minutes ago, mozzwald said:
Building relocatable ZX0 decompressor
../tools/relgen.py zx0unpack-1000-f.obj zx0unpack-1201-f.obj ../tools/pack/a8/zx0unpack.obj
Traceback (most recent call last):
  File "../tools/relgen.py", line 208, in <module>
    main()
  File "../tools/relgen.py", line 142, in main
    with open(fnout, 'wb') as fout:
FileNotFoundError: [Errno 2] No such file or directory: '../tools/pack/a8/zx0unpack.obj'
Makefile:60: recipe for target '../tools/pack/a8/zx0unpack.obj' failed

this is as far as I got

ok, give me a minute, i guess, git does not store empty directory ...

  • Like 1

Share this post


Link to post
Share on other sites

workaround: mkdir tools/pack/a8

going to put some placeholder file there to keep the a8 dir in git

  • Like 1

Share this post


Link to post
Share on other sites
3 minutes ago, apc said:

workaround: mkdir tools/pack/a8

going to put some placeholder file there to keep the a8 dir in git

indeed, adding the dir makes it work

  • Like 1

Share this post


Link to post
Share on other sites
Just now, mozzwald said:

indeed, adding the dir makes it work

good, should be fixed in repo

  • Like 1

Share this post


Link to post
Share on other sites
11 hours ago, apc said:

Config loader update!

 

After exercising with all the helper scripts and tools, here is an image which contains loader & FujiNet CONFIG (and config tools):

 

autorun-zx0.atr 90.02 kB · 2 downloads

 

As the name indicates the new ZX0 compression is used. With ZX0 the compressed CONFIG is smaller and it loads a bit quicker compared to LZ4 variant.

ZX0 decompression routine was embedded into boot loader. Both Config loader and CONFIG are decompressed while being read from disk.

As it was before, HISIO is enabled as soon as possible to speedup SIO transfers and CONFIG is loaded with banner and growing progress bar.

 

Build process was automated, "make dist" should do all the hard work. For this purpose I prepared Python script which acts as very simplified SuperPacker (and other script to prepare somehow relocatable code and other script to update final ATR, and ... it was interesting to get all this working together)

 

As a bonus, once the CONFIG is compressed with ZX0 the file segments are "decorated" to make the result Atari DOS compatible/loadable again. However DOS cannot decompress file segments (there are some exceptions ;-) ) so decompression routine is bundled and called prior passing the control to CONFIG. I.e. Same CONFIG file can be loaded by ZX0 capable loader (during boot) with inline decompression and it can be loaded as a regular DOS program later from disk.

 

Credits: @xxl for ZX0 decompression port to 6502 and boot loader @HiassofT for high speed SIO @bocianu for FujiNet banner @pirx for compression ideas  🙂

 

Source code: https://github.com/a8jan/fujinet-config-loader - branch "zx0" (If everything works fine, will be glad to move into FN repos)

 

Jan

 

video or didn't happen :)

  • Like 1
  • Haha 1

Share this post


Link to post
Share on other sites

My RetroTink actually takes a few moments to sync up to my Atari's display, and by that time, the status bar is already gone and status loading. (Of course, I am running HSIO)

 

-Thom

Share this post


Link to post
Share on other sites
Posted (edited)
On 4/21/2021 at 5:25 PM, tschak909 said:

Normal 1X Speed:

High Speed:

I do not see much difference. It is so fast capture device cannot get it :-D

 

On 4/21/2021 at 11:30 AM, xxl said:

video or didn't happen :)

It must be true. It's on YouTube!

Config loader presented in a format which young generation can understand.

 

🙂 Jan

Edited by apc
  • Like 6

Share this post


Link to post
Share on other sites
On 4/23/2021 at 9:41 AM, apc said:

I do not see much difference. It is so fast capture device cannot get it :-D

 

It must be true. It's on YouTube!

Config loader presented in a format which young generation can understand.

 

🙂 Jan

Oh wow, that is a significant improvement!

 

Is this part of Fujinet-PC yet? Don't crucify me, just askin'. ;)

  • Like 1

Share this post


Link to post
Share on other sites
On 4/25/2021 at 1:36 PM, Mazzspeed said:

Is this part of Fujinet-PC yet? Don't crucify me, just askin'. ;)

Yes ... for couple of last minutes ;-)

You can just grab above attached file and replace old autorun.atr file - rename autorun-zx0.atr to autorun.atr and put it into fujinet-pc/build directory (if running fujinet from there)

 

  • Like 1

Share this post


Link to post
Share on other sites
1 hour ago, apc said:

Yes ... for couple of last minutes ;-)

You can just grab above attached file and replace old autorun.atr file - rename autorun-zx0.atr to autorun.atr and put it into fujinet-pc/build directory (if running fujinet from there)

 

Excellent, cheers apc!

Share this post


Link to post
Share on other sites

Just wanted to come and say, I just updated my FujuNet, and the fast config load even on my stock 800xl is FANTASTIC! Great job!

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites
On 4/29/2021 at 6:33 AM, tsom said:

Just wanted to come and say, I just updated my FujuNet, and the fast config load even on my stock 800xl is FANTASTIC! Great job!

Ditto - somehow missed the firmware release on Wednesday and only just noticed it now.  HUGE improvement in load time, and the splash screen is a really nice touch.  Thank you!

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Updated my units this afternoon. REALLY like the splashscreen. Well done, folks. 

  • Like 1
  • Thanks 1

Share this post


Link to post
Share on other sites

Yup, and indeed, I _really_ need to point something out, here:

 

The FujiNet core team didn't do this work. @apc did.

 

He did it, and said, "Look what I did!"

 

and we went, "WOW!"

 

and we worked with him to fold it in.

 

If you have something cool you want to add? Do it. Show everybody how cool it is, we'll work with you to fold it in! :)

 

-Thom

 

 

  • Like 7
  • Thanks 1

Share this post


Link to post
Share on other sites

New compressed loader loads much much faster. Good job, thanks!

And finally the logo I drew was used somewhere ;)

  • Like 3
  • Thanks 2

Share this post


Link to post
Share on other sites
14 hours ago, tschak909 said:

Yup, and indeed, I _really_ need to point something out, here:

 

The FujiNet core team didn't do this work. @apc did.

 

He did it, and said, "Look what I did!"

 

and we went, "WOW!"

 

and we worked with him to fold it in.

 

If you have something cool you want to add? Do it. Show everybody how cool it is, we'll work with you to fold it in! :)

 

-Thom

 

 

Open source FTW. It's a beautiful thing when collaboration results in great things...

 

Now, if only my coding skills were better!

  • Like 1

Share this post


Link to post
Share on other sites

Thank you for nice feedback, support from AA members and to all interested into making FujiNet the real thing!

On 4/21/2021 at 12:26 AM, apc said:

Credits: @xxl for ZX0 decompression port to 6502 and boot loader @HiassofT for high speed SIO @bocianu for FujiNet banner @pirx for compression ideas

🙂 Jan

 

11 hours ago, Mazzspeed said:

Now, if only my coding skills were better!

You can start anytime! I am always surprised I can do LDX addr,Y ;-)

  • Like 4

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...