Vickit 4+5 Assembler

Basic and Machine Language

Moderator: Moderators

Robbie
Vic 20 Dabbler
Posts: 84
Joined: Tue Aug 11, 2020 4:36 am
Location: England

Re: Vickit 4+5 Assembler

Post by Robbie »

Thanks for the interesting conversation folks, really informative.


I'm having trouble again though, with the simplest 'Hello World' program I can think of:

10 .O $33C
20 LDA $51
30 JSR $FFD2
40 RTS

All I get is a display of the registers, albeit with the correct value of $51 in A.

If I put the same into VICMON:

A 033C LDA #$51
JSR $FFD2
BRK

then I get a Q on the screen as expected.

...I wonder if Vickit is using the Tape Buffer for something... I'll try a different address. Unless anyone can suggest a better assembler.
Last edited by Robbie on Wed Aug 26, 2020 2:18 pm, edited 1 time in total.
User avatar
chysn
Vic 20 Scientist
Posts: 1205
Joined: Tue Oct 22, 2019 12:36 pm
Website: http://www.beigemaze.com
Location: Michigan, USA
Occupation: Software Dev Manager

Re: Vickit 4+5 Assembler

Post by chysn »

The code that you put in memory disassembles as:

Code: Select all

$033c LDA #$51
$033e .byte $1c
$033f .byte $d2
$0340 RTS
You're getting a display of registers because $1c is an illegal instruction that functions as an absolute,x NOP (a.k.a. TOP or SKW), which considers $d2 and your RTS as part of its operand, and you're falling through to a BRK afterward.

You're correct that if you use a label for $ffd2, it assembles properly

Code: Select all

10 .O 828
20 LDA $51
25 PRINT=$FFD2
30 JSR PRINT
40 RTS
This isn't really an acceptable way to do it. And here we're even overlooking the non-standard LDA $51 syntax, which is by itself a good reason to steer clear of this product. I'm not going to say that there are better assemblers than Vickit 4+5 out there. I'm going to say that there are probably no worse ones.
Robbie wrote: Wed Aug 26, 2020 1:45 pm Unless anyone can suggest a better assembler.
wAx is crafted to be the finest native VIC-20 assembler that no-money can buy. https://github.com/Chysn/wAx/wiki
VIC-20 Projects: wAx Assembler, TRBo: Turtle RescueBot, Helix Colony, Sub Med, Trolley Problem, Dungeon of Dance, ZEPTOPOLIS, MIDI KERNAL, The Archivist, Ed for Prophet-5

WIP: MIDIcast BASIC extension

he/him/his
Robbie
Vic 20 Dabbler
Posts: 84
Joined: Tue Aug 11, 2020 4:36 am
Location: England

Re: Vickit 4+5 Assembler

Post by Robbie »

Thanks. What an ordeal!

I've just placed an order, and look forward to having a go with Wax.
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: Vickit 4+5 Assembler

Post by Mike »

chysn wrote:This isn't really an acceptable way to do it. And here we're even overlooking the non-standard LDA $51 syntax, which is by itself a good reason to steer clear of this product. I'm not going to say that there are better assemblers than Vickit 4+5 out there. I'm going to say that there are probably no worse ones.
I am beginning to suspect that the ROM dump of VICKIT 4+5 as linked to in the thread here is faulty. Maybe it's just a single bit flipped in the EPROM programmed more than 10 years ago.

It is just not imaginable, that such a simple thing as absolute address mode with a literal address is broken - even the most basic form of quality control would have catched that.

Without another, independent copy of the ROM dump to compare against, confirming that suspicion requires a thorough look into the object code, but the time needed for this is probably better spent elsewhere, given that there are working alternatives available.
Robbie
Vic 20 Dabbler
Posts: 84
Joined: Tue Aug 11, 2020 4:36 am
Location: England

Re: Vickit 4+5 Assembler

Post by Robbie »

The version I'm using is on the Penultimate+ Cartridge. Perhaps they used the same ROM dump source though.

I'm currently having a mess with Wax. I have to say chysn, everything is working exactly as I'd expect so I'm very impressed - and also not worried that I'm losing my mind (which was happening with the Vickit assembler!). Did you put any extra RAM in the cartridge? Mind you, where would be the fun in having more than 3.5k to play with?
User avatar
chysn
Vic 20 Scientist
Posts: 1205
Joined: Tue Oct 22, 2019 12:36 pm
Website: http://www.beigemaze.com
Location: Michigan, USA
Occupation: Software Dev Manager

Re: Vickit 4+5 Assembler

Post by chysn »

Robbie wrote: Thu Aug 27, 2020 6:30 am I'm currently having a mess with Wax. I have to say chysn, everything is working exactly as I'd expect so I'm very impressed - and also not worried that I'm losing my mind (which was happening with the Vickit assembler!). Did you put any extra RAM in the cartridge? Mind you, where would be the fun in having more than 3.5k to play with?
Happy to hear that! No, there's no extra RAM in the cartridge. But, like VICMON, it can be used in conjunction with expansion cartridges with a port expander. The problem with adding additional memory in a commercial product is that you never know what people are using, and the expansion permutations for the VIC-20 are... dizzying...

I've got my own copy stashed in a 3K cartridge with an extra 2K at $a000. Mike helped me out with reworking the PCB slots, and this topic recounts my saga viewtopic.php?f=11&t=9497. I started with VICMON for this project, but ultimately VICMON became more of an opponent than a tool :)
VIC-20 Projects: wAx Assembler, TRBo: Turtle RescueBot, Helix Colony, Sub Med, Trolley Problem, Dungeon of Dance, ZEPTOPOLIS, MIDI KERNAL, The Archivist, Ed for Prophet-5

WIP: MIDIcast BASIC extension

he/him/his
Post Reply