Jump to content
IGNORED

RespeQt 4.1 beta


ebiguy

Recommended Posts

Hi,

 

I am still working on the RespeQt and all the features I want to add are not finished.
But in the meantime, I thought I could release an unofficial beta version so that people can start testing and reporting any issues.
I am still willing to merge these new features in the source repository maintained by Joey Z (this is not a fork !) but I don't want to submit software with remaining bugs.
So, right now, I deliver this work in progress to get feedbacks and improve it before committing the changes to the official repository.

So, what's in this beta version called 4.1 in the About box?

A few words about my objectives. I started to enhance RespeQt to be able to use it as a preservation tool.
Features I want to add into RespeQt is the ability to create images from real floppy disks or "recreate" floppy disks from images.
Of course there are dedicated hardwares to do that without an Atari (Kryoflux and SuperCard pro) and they probably do it better.
But this is not the easy way. That's why I would like RespeQt to be an alternative to read/write floppies.
In order to do that, 2 main features are needed
- Support ATX images in read/write mode
- Support drive enhancement emulation that people own (Happy, Super Archiver).
With this, one can use for example Super Archiver to copy a floppy from its real Super Archiver in D1: to an ATX image in D2: emulating Super Archiver enhancement.
In this first beta version, you should be able to read/write floppies from/to ATX images if you have either
- a Happy 810 Rev.5 drive or
- a Chip 810 drive or
- a Super Archiver 1050 drive.

Let's start the new feature tour:
The first visible change is the drive layout where 3 new icons are available on the right side.

post-8819-0-73868000-1540055470.png
- The first icon is used to enable Chip 810 / Super Archiver 1050 emulation.
- The second one is used to enable Happy 810 Rev.5 emulation. Happy Rev.7 emulation is not available yet. This is the first line in my TODO list.
- The third icon is used to turn drive lever (not really useful right now but will become handy with other drive emulation like Speedy)

Next, in the Tools/Options... menu entry, you have a new category on the left side called Disk image options with five checkboxes:

post-8819-0-82343100-1540055453.png

1) "Display command name of empty drive slots" is used to guess the operation sent to a physical drive (not emulated in RespeQt).
For example, instead of having these 2 lines:

[Disk 2] command: $57, aux: $0880 ignored.
[Disk 2] command: $51, aux: $08ff ignored.

RespeQt displays:

[Disk 2] command: $57, aux: $0880 ignored: Write Sector (with verify)
[Disk 2] command: $51, aux: $08ff ignored: [Happy 810] Execute code or [Speedy 1050] Flush Write

When a command has different meaning depending on the enhancement, all the names are displayed with the enhancement in brackets.

 

2) "Display track layout of protected disks" displays the sector numbers found in each track and the most important error for each sector.
Here is an example with Archon II

track $00 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $01 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $02 (FM): 02 03 04 05 06 07 08 09 0a 0b 0c 0d 0e 0f 10 11 01 02(DUP) 03(DUP) 04(DUP) 05(DUP) 06(DUP) 07(DUP) 08(DUP) 09(DUP) 0a(DUP) 0b(DUP) 0c(DUP) 0d(DUP) 0e(DUP) 0f(DUP) 10(DUP) 11(DUP) 01(CRC)
track $03 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $04 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $05 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $06 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $07 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $08 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $09 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $0a (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $0b (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $0c (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $0d (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $0e (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $0f (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $10 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $11 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $12 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $13 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $14 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $15 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $16 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $17 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $18 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $19 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $1a (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $1b (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $1c (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $1d (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $1e (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $1f (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $20 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $21 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $22 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $23 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $24 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $25 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $26 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12
track $27 (FM): 01 03 05 07 09 0b 0d 0f 11 02 04 06 08 0a 0c 0e 10 12

3) "Display SIO protocol (ACK, NAK,...)" monitor the protocol but not the data (no sector content displayed)
For example, when booting you can see these lines:

[Disk 1] Sending [COMMAND ACK] to Atari
[Disk 1] Get status: $ff
[Disk 1] Sending [COMPLETE] to Atari
[Disk 1] Sending [COMMAND ACK] to Atari
[Disk 1] Read Sector 1 ($001) #1 in track 0 ($00)
[Disk 1] Sending [COMPLETE] to Atari
[Disk 1] Sending [COMMAND ACK] to Atari
[Disk 1] Read Sector 2 ($002) #2 in track 0 ($00)
[Disk 1] Sending [COMPLETE] to Atari

4) "Display data frames (spy mode)" is used to dump data content (sector or whatever is transmitted in both ways)
For example, when booting you can see these lines:

[Disk 1] Get status: $ff
[Disk 1] Sending 4 bytes to Atari
[Disk 1] $0000: 10 FF E0 00
[Disk 1] Read Sector 1 ($001) #1 in track 0 ($00)
[Disk 1] Sending 128 bytes to Atari
[Disk 1] $0000: 00 02 00 20 06 20 A9 00 8D 04 03 A9 06 8D 05 03
[Disk 1] $0010: A0 01 A9 01 8D 0A 03 A9 A0 8D 0B 03 8C 01 03 AD
[Disk 1] $0020: 5A E4 85 B3 AD 5B E4 85 B4 A9 BA A0 00 D1 B3 F0
[Disk 1] $0030: 0E A2 71 86 B3 A2 E9 86 B4 D1 B3 F0 02 D0 FE A0
[Disk 1] $0040: 19 B1 B3 C8 C9 8D F0 48 C9 85 D0 FE B1 B3 8D 89
[Disk 1] $0050: 20 A9 00 8D 8A 20 A9 1D D0 43 BA 8D 18 03 A9 01
[Disk 1] $0060: 85 42 A9 31 8D 00 03 A9 40 8D 03 03 A9 80 8D 08
[Disk 1] $0070: 03 A9 00 8D 09 03 8D 07 03 A9 14 8D 06 03 A9 52
[Disk 1] Read Sector 2 ($002) #2 in track 0 ($00)
[Disk 1] Sending 128 bytes to Atari
[Disk 1] $0000: 8D 02 03 A9 00 8D 0F 03 8D AA AA A9 03 4C AA AA
[Disk 1] $0010: B1 B3 8D 89 20 C8 B1 B3 8D 8A 20 A9 1E 18 65 B3
[Disk 1] $0020: 8D 8E 20 A9 00 65 B4 8D 8F 20 20 5A 20 30 04 A9
[Disk 1] $0030: FF D0 0C A9 0D 8D 01 03 20 5A 20 10 F2 A9 00 8D
[Disk 1] $0040: 28 06 A9 01 8D 01 03 A9 52 8D 02 03 A9 03 8D 0A
[Disk 1] $0050: 03 A9 00 8D 0B 03 8D 04 03 A9 21 8D 05 03 20 53
[Disk 1] $0060: E4 30 FB EE 0A 03 AD 04 03 18 69 80 8D 04 03 AD
[Disk 1] $0070: 05 03 69 00 8D 05 03 AD 0A 03 C9 37 D0 E0 A9 00

5) "Display uploaded code disassembly" show a disassembly of data sent by Chip/Super Archiver or by Happy 810 to RespeQt.
Here is an example with Happy Rev.5:

[Disk 1] Disassembly of 128 bytes at $0800 with CRC $ef1a
[Disk 1] $0800: 26 11 34 ; Happy signature
[Disk 1] $0803: 14 15 57 ; Happy signature
[Disk 1] $0806: 37 85 86 ; Happy signature
[Disk 1] $0809: 4c 37 1f JMP $1f37 ; Command $50
[Disk 1] $080c: 4c 21 08 JMP $0821 ; Command $51
[Disk 1] $080f: 4c 80 14 JMP $1480 ; Command $52
[Disk 1] $0812: 4c 36 1d JMP $1d36 ; Command $53
[Disk 1] $0815: 4c c3 1d JMP $1dc3 ; Command $54
[Disk 1] $0818: 4c c3 1d JMP $1dc3 ; Command $55
[Disk 1] $081b: 4c c3 1d JMP $1dc3 ; Command $56
[Disk 1] $081e: 4c 2d 14 JMP $142d ; Command $57
[Disk 1] $0821: 20 77 1C JSR $1C77
[Disk 1] $0824: 20 8B 08 JSR $088B
[Disk 1] $0827: A0 00 -- LDY #$00
[Disk 1] $0829: A9 00 -- LDA #$00
[Disk 1] $082B: 91 80 -- STA ($0080),y
[Disk 1] $082D: 20 75 08 JSR $0875
[Disk 1] $0830: 90 F7 -- BCC $0829
[Disk 1] $0832: 20 8B 08 JSR $088B
[Disk 1] $0835: B1 80 -- LDA ($0080),y
[Disk 1] $0837: CD 74 08 CMP $0874
[Disk 1] $083A: D0 33 -- BNE $086F
[Disk 1] $083C: 20 94 08 JSR $0894
[Disk 1] $083F: AD 74 08 LDA $0874
[Disk 1] $0842: 49 FF -- EOR #$FF
[Disk 1] $0844: 20 94 08 JSR $0894
[Disk 1] $0847: AD 74 08 LDA $0874
[Disk 1] $084A: 49 FF -- EOR #$FF
[Disk 1] $084C: 91 80 -- STA ($0080),y
[Disk 1] $084E: 20 75 08 JSR $0875
[Disk 1] $0851: 90 E2 -- BCC $0835
[Disk 1] $0853: AD 74 08 LDA $0874
[Disk 1] $0856: 49 FF -- EOR #$FF
[Disk 1] $0858: 8D 74 08 STA $0874
[Disk 1] $085B: D0 D5 -- BNE $0832
[Disk 1] $085D: 20 8B 08 JSR $088B
[Disk 1] $0860: B1 80 -- LDA ($0080),y
[Disk 1] $0862: D0 0B -- BNE $086F
[Disk 1] $0864: 20 75 08 JSR $0875
[Disk 1] $0867: 90 F7 -- BCC $0860
[Disk 1] $0869: A9 00 -- LDA #$00
[Disk 1] $086B: 85 80 -- STA $0080
[Disk 1] $086D: 85 81 -- STA $0081
[Disk 1] $086F: 4C 51 19 JMP $1951
[Disk 1] $0872: FF 13 00 isc $0013,x
[Disk 1] $0875: A5 80 -- LDA $0080
[Disk 1] $0877: CD 72 08 CMP $0872
[Disk 1] $087A: 90 08 -- BCC $0884
[Disk 1] $087C: A5 81 -- LDA $0081

Now, the main features:
- PRO file emulation has been enhanced.
- ATX file emulation has been added.
- Both PRO and ATX images can be written.
- Accurate protection emulation of PRO and ATX images.
- Full Chip 810 emulation (at SIO level) except the Execute Code command which is never used by official software.
- Full Super Archiver 1050 emulation (at SIO level) including Skew alignment, Weak sectors,...
Note: Skew alignment fails sometimes to write a perfect alignment on real floppy disks
- Happy 810 Rev.5 emulation (at SIO level) with Skew alignment.
Note: Option 3 (sector copy) works only in read mode so you can read at double speed from RespeQt to a Happy drive but not the other way

What I am asking for is to have people test the ATX protection emulation because there are hundreds and hundreds of software and I can not test everything myself.

I also would like the help of people knowing Qt environment because I would like to produce a static executable instead of having all the DLL.
If anyone knows how to do that, please PM me.

The release is for Windows only: RespeQt-r4.1.zip

  • Like 7
Link to comment
Share on other sites

Hello,

Got it running with the latest zip...

 

Anyway, I am probably doing something wrong, but I thought it emulated a "happy" drive? When I run the Happy menu disk, it says there are no happy drives...

 

-Pete

 

EDIT: I found earlier versions of the boot disk (5.2 and 5.3) but both only load the first two sectors and hang up my 800XL.

Edited by R.Cade
Link to comment
Share on other sites

Hello,

Got it running with the latest zip...

 

Anyway, I am probably doing something wrong, but I thought it emulated a "happy" drive? When I run the Happy menu disk, it says there are no happy drives...

 

-Pete

 

EDIT: I found earlier versions of the boot disk (5.2 and 5.3) but both only load the first two sectors and hang up my 800XL.

 

Happy (and Chip/Super Archiver) are not active by default (otherwise, some protected software would not load).

You have to click on the second icon in the drive widget (the icon changes from an unhappy face to a happy face).

Then you have a Happy drive which can be used with Happy Backup Rev 5.0, 5.2 and 5.3

Link to comment
Share on other sites

all right now we're cooking with gas.... but is induction better?

 

I am sorry but I am not a native english speaker and sometimes I don't understand the meaning...

Do you mean that it still does not work ? If so, please, tell me what platform and which message you have.

Link to comment
Share on other sites

it was a compliment....

 

although it won't run on XP, I have an old laptop I normally use respeqt to serve my Atari from...

should be a simple toggle in you kit to fix this up

 

 

I just tried this and I get this:

attachicon.gifRespeQt.JPG

 

Please fix, Thanks.

 

Edit: When compiling this, are you including support for XP32?

 

I just made a compilation using Windows XP.

Could you test this version please ?

RespeQt-r4.1-XP.zip

Edited by ebiguy
Link to comment
Share on other sites

After many quirks in the delivery (missing DLL, not XP compatible,...), here is a unified version which should work under XP and new Windows versions.

Could you please test it and ignore all the versions in the previous posts.

attachicon.gifRespeQt-r4.1-XP.zip

 

That one still loads and runs for me even in the most current Win10 64-bit Home, so good from my end. :)

Link to comment
Share on other sites

 

Happy (and Chip/Super Archiver) are not active by default (otherwise, some protected software would not load).

You have to click on the second icon in the drive widget (the icon changes from an unhappy face to a happy face).

Then you have a Happy drive which can be used with Happy Backup Rev 5.0, 5.2 and 5.3

 

Yeah, it's strange. The 5.2 and 5.3 disks I have will only load the first two sectors and then lock up. I know the images are OK, since they at least boot to the menu in Altirra. The 5.3 image is the one from AtariMania. Something odd about my FT232 USB to serial cable?

Edited by R.Cade
Link to comment
Share on other sites

 

Yeah, it's strange. The 5.2 and 5.3 disks I have will only load the first two sectors and then lock up. I know the images are OK, since they at least boot to the menu in Altirra. The 5.3 image is the one from AtariMania. Something odd about my FT232 USB to serial cable?

 

I have no clue. I tried again on 2 PC with both 5.2 and 5.3 and it's working fine.

Could you try with the official RespeQt r4 ? Even without Happy emulation, you should get the main menu, at least.

Has anyone else experienced the same issue with r4.1 and Happy backup 5.3 ?

Link to comment
Share on other sites

 

I have no clue. I tried again on 2 PC with both 5.2 and 5.3 and it's working fine.

Could you try with the official RespeQt r4 ? Even without Happy emulation, you should get the main menu, at least.

Has anyone else experienced the same issue with r4.1 and Happy backup 5.3 ?

It's my HIAS-patched ROM causing it. It won't boot, even with holding Ctrl-Shft-N to turn off the hi-speed routines. I guess I need to put in a 27C256 and a switch in my machines...

 

I think the HIAS patches actually send some Happy commands, so something it doesn't like. Can I send you any logs that would help?

Edited by R.Cade
Link to comment
Share on other sites

It's my HIAS-patched ROM causing it. It won't boot, even with holding Ctrl-Shft-N to turn off the hi-speed routines. I guess I need to put in a 27C256 and a switch in my machines...

 

I think the HIAS patches actually send some Happy commands, so something it doesn't like. Can I send you any logs that would help?

If the highspeed SIO code detects a Happy it send a Happy command ($48, immediate mode) with DAUX set to $0020 to enable fast writes. This is needed to avoid corruption in highspeed mode, a well known and documented Happy bug.

 

so long,

 

Hias

Link to comment
Share on other sites

If the highspeed SIO code detects a Happy it send a Happy command ($48, immediate mode) with DAUX set to $0020 to enable fast writes. This is needed to avoid corruption in highspeed mode, a well known and documented Happy bug.

 

so long,

 

Hias

Thanks very much, Hias. For the patches, and the response. I did notice that a HIAS-enabled ROM cannot boot the Happy disks (5.2/5.3). It does not seem to get past the first couple of sectors.

 

Log from Respeqt:

Serial port speed set to 19200.

[Disk 1] Speed poll

Serial port speed set to 125000.

[Disk 1] Get status: $ff

[Disk 1] Read Sector 1 ($001) #1 in track 0 ($00)

[Disk 1] Read Sector 2 ($002) #2 in track 0 ($00)

(Locked up forever)

 

BTW, the same HIAS-patched ROM (1.30) run in Altirra does the same when you try to boot these disks.

Edited by R.Cade
Link to comment
Share on other sites

OK, in this case (pokey divisor 0) the code won't detect a happy, it does that if the speed byte sent is $0A - so the code also won't send the happy command.

 

If you want to use Happy software you should probably configure the speed appropriately, i.e. to pokey divisor $0A, otherwise happy software doing highspeed (often using a fixed $0A divisor) will fail.

 

so long,

 

Hias

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