PetteriAimonen / AlterBIOS

Extensions and fixes for DSO Quad BIOS (SYS.HEX)
11 stars 7 forks source link

Please tell us how to use this #7

Open gitcnd opened 3 years ago

gitcnd commented 3 years ago

Hi - awesome work! Would you mind telling us n00bs in babyspeak what exactly we have to do?

My DS203 corruption is driving me mad, plus I'm wondering if there's a bug in my current fw (changing the time scale randomly does, or sometimes does not, actually work)

Problem A: your "Download binaries here." link points to an old site with 9+ year old files, while this repo has a folder full of ones from last month...

Problem B: there's a dizzying pile of different .hex and .bin and .ard and .bmp and .txt files with a pile of confusing version numbers all over the net - normal folk like me have no clue which one(s) to use, whether or not they can mix/match, what they do, and so on.

Maybe you can fix my attempt here?

e.g.

  1. power off your DS203 2.connect it by USB to a windows PC (windows what? is 10 ok?)
  2. power on while holding the >|| button and verify it says "Hardware Ver V2.72"
  3. copy onto the USB D:\ folder that opened up this file: https://github.com/PetteriAimonen/AlterBIOS/raw/master/Compiled/ALT_F164.HEX
  4. wait for it to rename itself to ALT_F164.rdy
  5. copy onto the USB D:\ folder that opened up this file: http://jpa.kapsi.fi/dsoquad/data/jpa/Original%20Firmware/SYS_V1.60/SYS_B160.hex
  6. wait for it to rename itself to SYS_B160.rdy
  7. turn off the DS203
  8. turn on the DS203 and reformat (from windows, as FAT) the folder that opens up (to remove prior corruption)

Note: I'm aware that the above seems incomplete and with errors (e.g. ALT_F164.HEX suggests that B160 is the wrong file? Where do we get SYS_B164.hex from?) I'm not sure how/where to get/use FPGA_V2.5/CFG_FPGA.ADR and FPGA_V2.5/FPGA_V25.BIN as well as (if we need them?) logo/LOGO_00B.ADR and logo/LOGO_001.BIN and I guess APP_B251.hex is needed as well somehow? Is this the latest? And what is PLUS_V1.10/PA1_V107 .hex ? (and is that a naming mistake? Is it 1.10 or 1.07??). Do we need DS203SYS.hex ?

Note - most of the above are rhetorical questions - all we really need to know is what steps to follow to get an updated working DSO :-)

Thanks!!!

PetteriAimonen commented 3 years ago

The last time I've actually done anything with this has been about 9 years ago.. and I only have one model of DS203, and they have made many models with different hardware since then.

@Turro75 added support for some of the newer hardware recently, and the binaries for that are in this repo.

You should install the ALT_xxx.HEX last, installing SYS after it will overwrite it. The ALT_xxx.HEX file should be chosen according to the device model you have - but I do not know if there is some easy way to determine it.

Turro75 commented 3 years ago

@gitcnd I have 1 bad and 1 good news for You: the bad is that if Your ds203 is v2.72 the dfu method won't work on win10, you need win7, xp or linux. You could try arranging a virtual machine as win xp activation codes are now freely available. I tried it on virtualbox while i was fighting against dso 8mb disk corruption and it worked. EDIT unfortunately the vm seems not woring if the host is win10 ENDEDIT

The good one is that I have the same version(2.72) and I have fixed most of the disk corruption issues. I created a repository where I put all resources I found on dso203. You can find it here: https://github.com/Turro75/DSO203-Collection .

Regarding how to do:

Each part of the system can be available as BIN or HEX, the HEX file is a file that contains the program itself and the info about the memory position where the program must be copied. the BIN file instead is the program only, You must manually specify the memory position where the program must be copied.

You can install firmware, FPGA, LOGO, etc... in dfu or by serial (as reported in the unbrick tutorial http://www.minidso.com/forum.php?mod=viewthread&tid=905). for some reason sometimes the hex files fail to install in dfu so I always use bin. In DFU simply copy the .ADR file (which is a text file that contains the memory address) wait for it becoming .SET the copy the BIN then wait until it becomes .RDY, You can repeat the process for all BIN You have to transfer, not needed rebooting every time.

my current setup is DFU3.14c + ALT_F164 + +FPGA261 + Wildcat 5.7 + logic analyzer3 + quadpawn4 and I'm very happy how it works. The latest stock firmware is the PA1_V113, I strongly suggest You to install Wildcat5.7 instead, it is much better in terms or stability and functionality. You can find all of them in my collection repository.

BE AWARE: by overwriting the dfu You'll lose the license code, I suggest as first thing installing alt_f164 + quadpawn12 which can run the getlicense.amx so You can read Your personal license code. Otherwise You must ask it in the minidso forum.

FYI I successfully ported SYS164 to GCC ( https://github.com/Turro75/DSO203_SYS164_GCC ), my goal is merging alterbios within SYS and why not, implementing more functionality. At the moment there are 3 branches: master is the stock SYS164, mergedalterbios is the ALT_F164, insertalterbios instead is remapping of functions which will need some modifications on programs that request alterbios to work.

ttytyper commented 1 year ago

I'm still struggling to understand how to install AlterBIOS. The filesystem corruption is driving me nuts and it sounds like AlterBIOS would solve this issue.

I have a DS203 with HW version 2.82. Apparently DFU V3.45C and sys version 1.64 according to startup screens. Will AlterBIOS work with setup? If not, do you have suggestions for other solutions to the filesystem corruption?

The Compiled folder in your repository has a large bunch of HEX and BIN files, as well as a couple of ADR files. Which one(s) should I use? I assume one of the 164 files would be correct based on the sys version?

Took a chance and attempted to install ALT_F164.HEX by copying it over to the DFU volume. But as usual with HEX files, it got renamed to ALT_F164.ERR. Never figured out why that happens (not just with AlterBIOS but also other apps). I've read that using an ADR file along with a BIN file is an alternative option that usually has a greater chance of success. That's how I managed to install Wildcat. Which of your ADR files go along with which BIN files?

Another question, a bit off topic. Does QuadPawn work on HW 2.82? Can Wildcat and QuadPawn be installed simultaneously or do they occupy the same app slot?

PetteriAimonen commented 1 year ago

@ttytyper Unfortunately I don't know at all. It's been such a long time and so many variants of DSO Quad.

I do know that the DSO Quad USB programming has always been flaky. Trying another computer, another USB cable or e.g. Linux from live USB might work. If the bin & adr works, you can create them from hex file with objcopy I think. The address for ALT_F164.HEX looks to be 0x08004000.

ttytyper commented 1 year ago

Understandable. Thanks for your suggestions.

I've given it a few tries again, and unfortunately it doesn't seem to work. Installed ALT_B16XX.ADR which contains the address you suggested (0x08004000), then ALT_F164.BIN. Then installed Wildcat using its ADR and BIN files. The boot screen now shows:

Revision(W6.5) by Wildcat
AlterBIOS 0.4-5-gb4045c3: OK
Hardware Ver 2.81    Serial No: [xxxxxxxx]
DS203 Mini DSO SYS Ver 1.64
GCCv1.7W6 APP(2.51+SmTech1.8+PMOS69 fixes)

But the bootup process doesn't get any further. It just stops there. Also tried ALT_B164.HEX, which doesn't even get that far. Installing SYS_B164.HEX (from some other place on the web downloaded long ago) makes it work again. Just posting this information in case it might be useful to future Google'rs, or my future self :)

Regardless, thank you for all the work you've put into AlterBIOS! I wouldn't even know where to start.

Turro75 commented 1 year ago

@ttytyper,

I created wildcat 5.7 (only for HW <=2.72) which works together with the ALT_F164. Not sure Wildcat 6.5 is working, I'm asking a friend its dso which is 2.82, I'll try to do the same I did for 2.72. Stay tuned! In the meanwhile can You try the ALT_L164.BIN? it's a version which skips the license check. You can find it here: https://github.com/Turro75/DSO203-Collection/tree/main/SYS/alterbios

gitcnd commented 1 year ago

Psyched to hear that folks are managing some updates!

If I can help out, I'm happy to! Keep in mind I don't know what "wildcat 5.7" is, or indeed anything about this DS203 ecosystem, so I'd be super-grateful for any "plain" instructions/explanation so I know what to get, from where, and what order to do things in, and any necessary options.

I'm a nubie at this DS203 stuff, but I am an IoT dev/hacker so I am capable of understanding (I'm mostly not wanting to brick my DS203).

Turro75 commented 1 year ago

@ttytyper ,

it looks like alterbios doesn't work on 2.8x, the good news is that is not needed anymore as the DFU346 fixed several filesystem inconsistencies. So go back to stock 1.64 SYS file.

EDIT It turned out that only arm-none-eabi-gcc 9.2.1 is able to compile a working SYS.

here You are a gcc compiled SYS which includes Alterbios SYSGCC_1_64_Alterbios_0_6.zip

and here an updated quadpawn runtime that works with the alterbios above

PAWN4.zip

END EDIT

There is an error in the wildcat 6.5 and 5.6 firmwares in saving file parameters that corrupts the flash. I fixed it, here the binary to load. Wildcat_6.5b.zip.

DFU3.46 doesn't work well on my linux desktop so I had to use win10. reboot the dso203 after every ADR+BIN upload.

Let me know if it is fine then I'll publish the fix.

ttytyper commented 1 year ago

@Turro75 ,

Looks like everything works perfectly now. Awesome! Thank you so much! :D Did not expect such a quick solution.

For reference, a list of what I did:

  1. Used DFU3.45C to install SYSGCC_1_64_Alterbios_0_6, PAWN4 and Wildcat_6.5b, in that order (all from ADR+BIN files on a Debian system). Also had Logic Analyzer installed from earlier.
  2. All start up without any obvious issues. Wildcat by default, Logic Analyzer in slot 3, Pawn in slot 4.
  3. I reformatted the filesystem for good measure since it was corrupted from earlier.
  4. Wildcat now stores screenshots as well as configuration files without corrupting the filesystem. Logic Analyzer also stores files without issues, but I think it worked before as well.
  5. Copied an old Wildcat configuration back to the DS203, and this was now loaded correctly (after a reboot). That did not work previously.

Haven't done much more testing than that yet. Will put it through its paces over the next weeks and let you know how it goes :) Doing a course in electrical engineering, and DS203 is super handy for measurements and screenshots for reports.