Jump to content
IGNORED

FujiNet Config loading faster


apc

Recommended Posts

  • 4 weeks later...

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 6
  • Thanks 2
Link to comment
Share on other sites

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
Link to comment
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

Link to comment
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
Link to comment
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
Link to comment
Share on other sites

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 7
Link to comment
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
Link to comment
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
Link to comment
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
Link to comment
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
Link to comment
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
Link to comment
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 5
Link to comment
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.
Note: Your post will require moderator approval before it will be visible.

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...