Search found 563 matches
- 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...
- 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.
- 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...
- 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...
- 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...
- 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...
- Sun Feb 14, 2021 2:53 am
- Forum: Programming
- Topic: Flipping a Byte
- Replies: 8
- Views: 675
Re: Flipping a Byte
How about:
This is 1 byte shorter, 16 cycles faster, and doesn't touch the X-register.
Code: Select all
; Flip A and return flipped value in A
Flip: sta ZP
lda #$01
-loop: lsr ZP
rol a
bcc loop
rts
- 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...
- 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...
- 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...
- 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...
- 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...
- 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...
- 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/...
- 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.
If I select PAL it crashes on RUN.