CPCWiki forum

General Category => Programming => Topic started by: Johnny Olsen on 14:19, 12 June 09

Title: Winape Assembler
Post by: Johnny Olsen on 14:19, 12 June 09
    org &6000

        ld hl,kommando    ;ellers find tape kommando
        call &bcd4          ;i discrom
        ld (gem),hl          ;gem adr for kommando
        ld a,c                 ;rom nr.
        ld (gem1),a         ;gem rom nr.
        xor a                  ;ld a,0. Hvorfor det skal g|res er et mysterie
        rst 3,gem            ;udf|rer kommandoen
        ret
.kommando
         text "TAP","E"+&80
.gem    rmem 2            ;adr for kommando
.gem1   rmem 1            ;rom nr for kommando

This piece of code works with maxam but not with winape assembler.
Is there anyone who could tell me how the restart (rst 3 ~ rst 18)
syntax works in winape?
Title: Re: Winape Assembler
Post by: Executioner on 08:40, 15 June 09
Is there anyone who could tell me how the restart (rst 3 ~ rst 18)
syntax works in winape?

Yes, WinAPE doesn't assume any parameters for the restart instructions, you need to modify it to be:

rst 3:dw gem
Title: Re: Winape Assembler
Post by: Johnny Olsen on 21:29, 15 June 09
It works, thank you
Title: Re: Winape Assembler
Post by: Executioner on 08:15, 16 June 09
It works, thank you

No problems, thanks for pointing this out. I'll look at adding the comma support for the next release.
Title: Re: Winape Assembler
Post by: akj on 00:16, 31 July 09
@Executioner:
 
 As I see you are the WinApe developer, I am going to take the liberty of hoping you will be willing to try and resolve a few queries for me.
 
 My version of WinApe is 2.0 alpha 17 and I am using it under Windows XP Pro.
 
 1. My USB joystick does not work in WinApe, but it does work fully and correctly in Caprice32 and WinCPC.  Control Panel -> Game Controllers also recognises it as a 2-axis 8-button game pad and all tests succeeed.
The joystick is enabled in the WinApe input settings.
 Have you any idea how my joystick can be made to work in WinApe?
 
 2. Always when I start WinApe I get a pop-up dialogue box saying "Unknown Archive Type".  What can I do to prevent this message?
 
 3. Is there any way to force a snapshot to always execute at WinApe startup?
 
 4. Is there any way to force a snapshot to always execute when the CPC emulation is reset (the equivalent of CALL 0) ?
 
 I have used WinApe for ages, and have had loads of fun with it.
 
 Many thanks if you can help with my questions.
 
 Anthony Jordan

 
Title: Re: Winape Assembler
Post by: Executioner on 07:43, 04 August 09
1. My USB joystick does not work in WinApe, but it does work fully and correctly in Caprice32 and WinCPC.  Control Panel -> Game Controllers also recognises it as a 2-axis 8-button game pad and all tests succeeed.
The joystick is enabled in the WinApe input settings.
 Have you any idea how my joystick can be made to work in WinApe?

No idea, sorry. I'd have to take a look at the Caprice code to see how that works.
 
Quote
2. Always when I start WinApe I get a pop-up dialogue box saying "Unknown Archive Type".  What can I do to prevent this message?

I've never seen this before. Maybe you have a disc/tape or ROM image selected with a file extension like zip/arj/arc, but it isn't a valid archive.
 
Quote
3. Is there any way to force a snapshot to always execute at WinApe startup?

Not currently, but it's on the list for future enhancements.
 
Quote
4. Is there any way to force a snapshot to always execute when the CPC emulation is reset (the equivalent of CALL 0) ?

Also, not currently. I've never had this request, and I can't really see the need. Perhaps a snapshot quick-load is what you're after (ie. One key combination to re-load a snapshot).

I've got a long list of improvements for 2.0A18, but I can't seem to find the time to get stuck into them yet. Hopefully soon.
 
Cheers,

Richard
Title: Re: Winape Assembler
Post by: fano on 11:14, 29 November 09
I posted that @cpcrulez but there is a little feature that would be great for the assembler.Nasm uses this and it is very usefull.

That would be nive to have local and global labels and if assembler makes the concatenation.the local label can be called via its name inside its function and with its complete name outside.Example :

Code: [Select]
func1:
ld b,5
.loop
[do domething]
djnz loop
ret

func2:
ld b,#FF
call func1.loop
[do something else]

I think that Winape assembler lacks this feature , that would be very usefull to have that  ;D