I don't think I need to say anything, people can read what you wrote on the forum alreadyNekoNoNiaow wrote: ↑Sat Mar 31, 2018 7:03 amHuhu.
Don't worry, I do the same. Just ask DBug about the length of my emails/posts.

I don't think I need to say anything, people can read what you wrote on the forum alreadyNekoNoNiaow wrote: ↑Sat Mar 31, 2018 7:03 amHuhu.
Don't worry, I do the same. Just ask DBug about the length of my emails/posts.
I find that asking the question from the point of view of user experience is often worth it.Symoon wrote: ↑Sat Mar 31, 2018 11:37 amFrom there, I have several options:
- knowing that the loop will be even longer at the end of a filled RAM page (4 more cycle to go to the next page), I can try optimising the loop but I don't think I can save enough cycles and only have two spare bytes to code ()
- I could add an option for "old Atmos" that will generate a slower signal for those bytes (adding options is confusing, the user will not know if his Atmos is "old" or not, or if it fails because of an audio problem)
- I will have to slow down the speed to try being compatible with more Atmos
- old Atmos can die, it won't work with them !
Nope, but this Atmos was modified by the previous owner, so I guess it might affect something. Also noticed the keys sound is lower.
You're probably right. I'll have to convince myself, since in my mind so far, TAP2CD was the "fastest safe" option; I wanted first to push the limits as far as I could, would it be in "laboratory conditions"NekoNoNiaow wrote: ↑Sat Mar 31, 2018 8:05 pmI find that asking the question from the point of view of user experience is often worth it.
What would users prefer as an experience?
Very slightly (probably imperceptible) slower loading but full compatibility with their Atmos, "It just works".
Or full speed loading but if this might randomly fail on their Atmos and they would have to figure out whether it is because the tape is corrupted or because of their Atmos model and then test with the "slower speed" tape.
Oh, if these modifications indeed do affect the speed as you indicate, then that would be worth knowing because that would mean you can safely keep using your current setup since real Atmos capturable in the wild would run fine with it.Symoon wrote: ↑Sat Mar 31, 2018 8:44 pmNope, but this Atmos was modified by the previous owner, so I guess it might affect something. Also noticed the keys sound is lower.
I don't dare opening it since there are several switches (one to reboot, another to switch from ROM 1.1 to ROM 1.0) and wouldn't like to damage the wires.
Well, as long as you are validation phase, you can still send the program for test by a larger number of people and see what the results are.Symoon wrote: ↑Sat Mar 31, 2018 8:44 pmYou're probably right. I'll have to convince myself, since in my mind so far, TAP2CD was the "fastest safe" option; I wanted first to push the limits as far as I could, would it be in "laboratory conditions"
I'm currently between 2 and 4 times faster than TAP2CD. Slowing down could be up to a 25% speed loss, for an unkonwn amount of machines :-/
I understand.
Good ideaNekoNoNiaow wrote: ↑Sun Apr 01, 2018 5:33 amI cannot help too much with 6502 ASM yet but if you are stuck you could still release just part of the interrupt code to see if people have ideas to make it faster. If they do, then you could try it and continue experimenting without needing to do a full monty.![]()
Code: Select all
(...)
0460 2 38 SEC
0461 2/3 B0 FE BCS -2 infinite loop (waiting for interrupt)
(...)
Interrupt code:
04D0 4 AE 00 03 LDX 0300 Reset flag on CB1
04D3 4 AE 08 03 LDX 0308 read timer (sinusoid duration) in X
04D6 4 8E 09 03 STX 0309 Rest timer counter (writing in #309 sets #308 with #F5 once instruction executed)
04D9 4 28 PLP Get the system flags saved by the interrupt
04DA 2 18 CLC Set C to 0 to leave the loop
04DB 3 08 PHP Save the system flags
04DC 6 40 RTI Back to the loop
Is it a 3 cycles or 2 cycles advantage, since I'm exiting from the BCS?Dbug wrote: ↑Sun Apr 01, 2018 8:10 amIf the idea is to go out of the loop as fast as possible, instead of PLP/CPC/PHP you could use code that takes about the same amount of time to instead patch the program counter return address stored in the stack to add +2 to it.
(...)
The advantage is that instead of having RTI bring you back at the start of the BCS to detect that now the carry is cleared and then exit, you directly return after the BCS itself, which gives you a 3 clock cycles advantage.
Lol, we would have to bring our computers with us, WAV players didn't exist by then, did they?