| |
Krill
Registered: Apr 2002 Posts: 2847 |
Release id #197710 : Transwarp v0.64
General Q&A thread, also report problems and error logs here. |
|
... 162 posts hidden. Click here to view all posts.... |
| |
Capt'n Obvious Account closed
Registered: May 2014 Posts: 4 |
@Krill thank you for the answer, of course I was thinking of VICs whith 40Kb of SRAM or even more via banking. But now you make me think about streaming, even on the 5Kb VIC. |
| |
Krill
Registered: Apr 2002 Posts: 2847 |
User Comment
Submitted by Sparta [PM] on 23 November 2020
A jaw dropping, innovative tool from the Loader King! I can't wait to check the code... I am sure it is full of gems. :) Thanks! =) Okay, here's one gem, as we have talked about this stuff a while ago.
Sending bytes over serial.
The traditional method to send over bitpairs is this:$1800 ----C-D- CLK and DATA
___|_|
| __|
vv
$DD00 DC------ go there. Note how both bits are one bit apart in the send register but directly adjacent in the receive register, and they swap order on the way.
Both issues are usually solved by pre-scrambling or using look-up tables to do the scrambling.
This is a bit cumbersome, as it takes cycles and memory for the scrambling, or special pre-scrambled storage formats.
Now here's the trick: using ATNA.$1800 ---DC-0- DATA and CLK
__||
| __|
vv
$DD00 DC------ go there. It's that simple! :D
Note that DATA OUT ($1800 bit 1) must be cleared, and that both methods presented here are performated with ATN being unasserted.
The new method works with ATN asserted (as does the traditional one), but then the usual EOR-bitflip (DATA and CLOCK signals going from drive to C-64 are inverted) is done only on CLK but not on DATA.
Now sending over complete bytes can be done like this:
; value to send is in accu, eor #$ff occurs on receiving side
rol
rol
rol
ldx #ATNA + CLKOUT
[...]; wait here for ready-to-receive signal
sax PB
ror
ror
sax PB
ror
ror
sax PB
ror
ror
sax PB Note how no lookup is required. Also both methods can be mixed for a byte, or the initial 3 RORs be removed, when data is pre-scrambled anyways, such that some bitpairs can be sent faster with just 6 cycles between updates. |
| |
obliterator918 Account closed
Registered: Aug 2013 Posts: 9 |
I would love to add this to my benchmark data at https://www.obliterator918.com/dtb/ ... but my code must be clobbering your loader. After saving then loading the data stream, it's just 1x. What part of memory do I need to preserve to make sure I don't clobber the loader?
Or, when a crt version comes out, will it work like other fast loaders and I won't have to worry about it?
Good job. |
| |
chatGPZ
Registered: Dec 2001 Posts: 11123 |
Right now it does only load files that were preprocessed by the not yet released encoder, and there is no saving - i guess that is your problem? :) |
| |
obliterator918 Account closed
Registered: Aug 2013 Posts: 9 |
Well yeah, that would do it, haha. I knew the load required specially encoded files, I just incorrectly assumed that saving files while it was loaded would do it. Obviously not, haha. |
| |
Krill
Registered: Apr 2002 Posts: 2847 |
Quoting obliterator918I just incorrectly assumed that saving files while it was loaded would do it. Obviously not, haha. A native saver will be added in a future version, and the cc1541 Transwarp encoder patch is yet to be finished and submitted.
But for now, you can just send me the files you'd like encoded, and i can send you the corresponding Transwarp images. |
| |
Krill
Registered: Apr 2002 Posts: 2847 |
Quoting obliterator918Or, when a crt version comes out, will it work like other fast loaders and I won't have to worry about it? The cartridge version is planned to be a replacement for Action Replay fastload + Warp*25. You will be able to both load and save files in standard format or Transwarp format. If it turns out as hoped, loading standard format files will be faster than 25x. =) |
| |
BiGFooT
Registered: Mar 2002 Posts: 31 |
Quote: The USR files are encrypted. The key is a 40-bit CBM float, passed as 4th parameter to load. I.e.,LOAD"CIPHERED",8,1,π will load the first encrypted file with pi as the key (with previously installed Transwarp).
The challenge for the crackers is finding the key for the other encrypted file. There are only about a million million possibilities, so can be bruteforced. =)
Now can I load SMB64 pretty fast, huh? ;) |
| |
Krill
Registered: Apr 2002 Posts: 2847 |
BiGFooT wins The Prize! (He just told me the key.) |
| |
chatGPZ
Registered: Dec 2001 Posts: 11123 |
Damn, that was quick :) |
Previous - 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | ... | 18 - Next |