Search found 563 matches

by tlr
Thu Jul 29, 2021 7:18 am
Forum: Programming
Topic: Testing for zero after DEC
Replies: 9
Views: 581

Re: Testing for zero after DEC

@tlr, assume you mean Z is already set by the DEC so LDA and CMP are both superfluous here? Yes. The OP questions if the LDA and CMP is necessary. It would work if you remove just the CMP, but the LDA is redundant too. And of course: in addition to the C-flag, Acc gets overwritten as well in the or...
by tlr
Thu Jul 29, 2021 3:56 am
Forum: Programming
Topic: Testing for zero after DEC
Replies: 9
Views: 581

Re: Testing for zero after DEC

The LDA affects Z as well, so your example uses a double redundant construct. Using an unnecessary CMP has the side effect of overwriting the C-flag which you may not want in a particular case.
by tlr
Fri Jul 23, 2021 4:44 am
Forum: Programming
Topic: 1540 memory write
Replies: 22
Views: 1167

Re: 1540 memory write

I was trying to add support for the 1540 drive in my loader code and it looks like memory write operations aren't reliable. I don't have the drive so I'm only doing this in VICE. Is there something I need to do to make the operation work reliably? I read that there's some kind of speed difference b...
by tlr
Wed Jul 14, 2021 2:33 am
Forum: Programming
Topic: An unusual demo that the Vic20 could also probably initiate
Replies: 5
Views: 675

Re: An unusual demo that the Vic20 could also probably initiate

Haven't checked the code here but if it doesn't use it already you could port it to use the 1541 utility loader function. That way a single '&' command to the drive could start it. Very portable. IIRC there is at least one 1541 DOS version that supports booting such a disk automatically when hav...
by tlr
Sun Jun 27, 2021 7:37 am
Forum: Programming
Topic: NTSC interlace detail info needed
Replies: 32
Views: 2529

Re: NTSC interlace detail info needed

tokra and I discussed that in a short call - I'll write a routine that 'scans' the presence/number of values in $9004 in the two rasters before and after each frame change, for 256 cycles in total and for both even->odd and odd->even frame changes. For what it's worth there are some tests I wrote i...
by tlr
Sun Feb 14, 2021 7:56 am
Forum: Programming
Topic: Flipping a Byte
Replies: 8
Views: 675

Re: Flipping a Byte

This is 1 byte shorter, 16 cycles faster, and doesn't touch the X-register. That’s awesome, thank you! And this technique, which is new for me, goes beyond this project; it can be used to constrain accumulator operations for lots of things. There's also a variant of this: ; Flip A and return flippe...
by tlr
Sun Feb 14, 2021 2:53 am
Forum: Programming
Topic: Flipping a Byte
Replies: 8
Views: 675

Re: Flipping a Byte

How about:

Code: Select all

; Flip A and return flipped value in A
Flip:   sta ZP
        lda #$01
-loop:  lsr ZP
        rol a
        bcc loop
        rts
This is 1 byte shorter, 16 cycles faster, and doesn't touch the X-register.
by tlr
Thu Feb 11, 2021 2:07 am
Forum: Programming
Topic: What sort of autostart is this?
Replies: 10
Views: 657

Re: What sort of autostart is this?

As already stated, the only difference are the first two bytes @029F, $BF00 versus $A102. $029F is always the loading address. To check which version you are dealing with, you have to ... play! At game start go left, then jump until you get first note. If the life display increments by one, it's an...
by tlr
Sun Feb 07, 2021 8:21 am
Forum: Programming
Topic: What sort of autostart is this?
Replies: 10
Views: 657

Re: What sort of autostart is this?

See here for „cracked“ version Perils of Willy Tapes.zip See in the original post for „original“ BR The .tap in "Pow.rar" here: http://sleepingelephant.com/ipw-web/bulletin/bb/viewtopic.php?f=1&t=10012 loads up $02a1 into $029f/$02a0, but in this thread it is claimed the original vers...
by tlr
Sun Feb 07, 2021 4:33 am
Forum: Programming
Topic: What sort of autostart is this?
Replies: 10
Views: 657

Re: What sort of autostart is this?

The IRQ vectors are touched, but only after the entire code 02A1 - 02FF is autostarted. See tap layout screenshot and extracted code below (Vice). BR $029f/$02a0 is the temporary storage for the IRQ vector during tape loading. It gets swapped back when loading ends, unless $02a0 is $00. If it conta...
by tlr
Tue Feb 02, 2021 2:04 am
Forum: Programming
Topic: What sort of autostart is this?
Replies: 10
Views: 657

Re: What sort of autostart is this?

The IRQ vectors are touched, but only after the entire code 02A1 - 02FF is autostarted. See tap layout screenshot and extracted code below (Vice). BR $029f/$02a0 is the temporary storage for the IRQ vector during tape loading. It gets swapped back when loading ends, unless $02a0 is $00. If it conta...
by tlr
Mon Dec 14, 2020 4:54 am
Forum: Programming
Topic: Fastloaders?
Replies: 17
Views: 915

Re: Fastloaders?

The underlying loader is a two stage process. One tiny polled boot loader and then a stage 2 IRQ based loader residing in the stack area. On top of that the loading screen can be hooked in. Those three masters all use the exact same loader. I forgot about using the stack area, it would certainly of...
by tlr
Mon Dec 14, 2020 2:45 am
Forum: Programming
Topic: Fastloaders?
Replies: 17
Views: 915

Re: Fastloaders?

That loader looks superb. Thanks! :) The underlying loader is a two stage process. One tiny polled boot loader and then a stage 2 IRQ based loader residing in the stack area. On top of that the loading screen can be hooked in. Those three masters all use the exact same loader. Misfit sent me the ga...
by tlr
Sun Dec 13, 2020 9:13 am
Forum: Programming
Topic: Fastloaders?
Replies: 17
Views: 915

Re: Fastloaders?

I've done a few tape masters for the Vic-20, all for Misfit: Super Starship Space Attack, Pentagorat and Rodman. These all feature loading screens, e.g pentagorat here: https://www.youtube.com/watch?v=qlReF07nQeM You can download the .tap here if you want to see it in action: https://misfit.itch.io/...
by tlr
Thu Nov 19, 2020 7:28 am
Forum: Programming
Topic: Tips for Reverse Engineering a Cassette Program
Replies: 41
Views: 2324

Re: Tips for Reverse Engineering a Cassette Program

If I select NTSC and full memory expansion it loads (with ?LOAD ERROR) in vice, but then starts on RUN. Don't know if it's broken though.
If I select PAL it crashes on RUN.