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

Vickit 4+5 Assembler

Post by Robbie »

Hello all.

I've just got hold of the Penultimate+ cartridge after spending ages wrestling with the VicMon Machine Code Monitor.

I've found a pdf manual online, and feel like I'm getting somewhere, but still have a few questions, if anyone knows how Vickit 5 works.

I've input a really simple 'hello world', which appears to be assembling ok when I type SYS45045.
I ask it to relocate the code, and then SYS that address. No 'Hello World'.

I get a #B: prompt before it assembles, and have no idea what that is (can't find mention in the manual).

Does anyone have any experience with this ROM that could possibly offer me a pointer?

Many Thanks,
Robbie
User avatar
srowe
Vic 20 Scientist
Posts: 1340
Joined: Mon Jun 16, 2014 3:19 pm

Re: Vickit 4+5 Assembler

Post by srowe »

Page 6 of the manual says
The first thing that will happen after you give the <-E or <-B command is that a
message will appear asking how many B(blocks)(multiples of 256) you require for your
object code to which you may answer from 0 to 9. This will reserve a block of memory
with the end of the object code buffer equal to the top of memory($37/38 minus 1).
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 srowe. I stupidly assumed the page titled "printed output" would just be about "printed output".
I need to remember I'm back in the 80s when manuals were real manuals!

That page answers all of my other questions too.

Robbie
User avatar
Noizer
Vic 20 Devotee
Posts: 297
Joined: Tue May 15, 2018 12:00 pm
Location: Europa

Re: Vickit 4+5 Assembler

Post by Noizer »

Do you have a Rom Dump to share and a link from the online document to share for Vickit 4+5 Assembler?
Valid rule today as earlier: 1 Byte = 8 Bits
-._/classes instead of masses\_.-
User avatar
srowe
Vic 20 Scientist
Posts: 1340
Joined: Mon Jun 16, 2014 3:19 pm

Re: Vickit 4+5 Assembler

Post by srowe »

Noizer wrote: Tue Aug 11, 2020 9:00 am Do you have a Rom Dump to share and a link from the online document to share for Vickit 4+5 Assembler?
ROM images available here

http://vic20.de/html/vickit.html
User avatar
Noizer
Vic 20 Devotee
Posts: 297
Joined: Tue May 15, 2018 12:00 pm
Location: Europa

Re: Vickit 4+5 Assembler

Post by Noizer »

srowe wrote: Tue Aug 11, 2020 9:09 am
Noizer wrote: Tue Aug 11, 2020 9:00 am Do you have a Rom Dump to share and a link from the online document to share for Vickit 4+5 Assembler?
ROM images available here

http://vic20.de/html/vickit.html
Thanx! Rom found. What‘s about the instructions?
Valid rule today as earlier: 1 Byte = 8 Bits
-._/classes instead of masses\_.-
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 »

Noizer wrote: Tue Aug 11, 2020 9:17 am
srowe wrote: Tue Aug 11, 2020 9:09 am
Noizer wrote: Tue Aug 11, 2020 9:00 am Do you have a Rom Dump to share and a link from the online document to share for Vickit 4+5 Assembler?
ROM images available here

http://vic20.de/html/vickit.html
Thanx! Rom found. What‘s about the instructions?
I burned this ROM back-to-back onto a 2764, because I like to have all the assemblers, and ran it at $b000. I can't make anything of it right away. The #B? prompt is as mysterious as its output. I'd love to see a manual if anyone can dig one up.

Edit: I then burned VICKIT4 and VICKIT 5 onto the same 2764. VICKIT 4 runs okay, but it doesn't seem to do much beyond memory dump, register display, and loading. Oh, and it appears to include a left-arrow wedge for doing fast save/load operations. And the world's least-usable hex/decimal converter.
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
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 »

Actually I also spared a look at those tools before I started out with my own you-know-what project (FYI, Robbie - look here). ;)
chysn wrote:VICKIT 4 runs okay, but it doesn't seem to do much beyond memory dump, register display, and loading. [...]
In the code I could identify the commands M, R, G, X, ":", ";", L and S, which pretty much coincides with the feature set of Tinymon.

Tinymon itself fits into less than 1 KB and I'd expect the monitor of VICKIT 4 to be about the same size, so the people at Stack wasted a lot of the remaining ROM space just for a turbo tape and those base converter routines? Ahem.
Vic20-Ian
Vic 20 Scientist
Posts: 1214
Joined: Sun Aug 24, 2008 1:58 pm

Re: Vickit 4+5 Assembler

Post by Vic20-Ian »

Hope this helps

Example from Vickit 4&5 from Multi Rom Carrier Manual

for unexpanded Vic or Vic +3k

10 .O 4596
20 PRINT = $E742
30 LDX 0
40 LOOP TXA
45 JSR PRINT
50 DEX
60 BNE LOOP
70 RTS.

Press
<-E (left arrow E)
WHEN B?
TYPE l
if no errors
Type Y

Sys 4596

This prints out the character set.
Stop with RUNSTOP/RESTORE

for Vic with greater than 3K expansion

If the Vic contains extra memory move the origin to 8194

i.e. line 10 .O (oh not zero)
and to start the program
sys 8194
Vic20-Ian

The best things in life are Vic-20

Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
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 »

Thanks! That's interesting. Are there commands other than <-E?
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
Vic20-Ian
Vic 20 Scientist
Posts: 1214
Joined: Sun Aug 24, 2008 1:58 pm

Re: Vickit 4+5 Assembler

Post by Vic20-Ian »

Vic20-Ian

The best things in life are Vic-20

Upgrade all new gadgets and mobiles to 3583 Bytes Free today! Ready
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 »

Thanks again!

I played around with it on a real VIC. Several things about this are absurd, like the way you differentiate between immediate and zero page addressing modes, and the intermediate low-memory assembly process, and the blunt 1972-inspired UX sensibility. But it's interesting from a historical standpoint.
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
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:Several things about this are absurd, like the way you differentiate between immediate and zero page addressing modes, [...]
IMO, the non-use of '#' to specify immediate address mode disqualifies this assembler. Small constant symbols for magic values need to mis-use '<' so they are identified as immediate, otherwise these values get mistaken for zero page addressing.
But it's interesting from a historical standpoint.
Only if there was any significant body of source files around using this assembler. Even then, it would be advisable to port those sources over to a more recent assembler with MOS conformant mnemonic syntax.
User avatar
srowe
Vic 20 Scientist
Posts: 1340
Joined: Mon Jun 16, 2014 3:19 pm

Re: Vickit 4+5 Assembler

Post by srowe »

I've cleaned up these manuals and sent them off to David to host on Bombjack.
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 »

This assembler is the worst. It doesn't seem to assemble anything properly. This code

Code: Select all

10 .O 6144
20 JMP $1200
30 RTS
gets assembled as

Code: Select all

48 PHA
00 BRK
60 RTS
The only way to accurately assemble absolute (including ,x and ,y) instructions is to use a label. Otherwise it chooses another addressing mode, and sometimes a totally different mnemonic.

And occasionally, if you answer "N" to Move?, it will delete your BASIC program and cause LIST to emit ?FORMULA TOO COMPLEX.

It's less functional than VICMon, and that's saying a lot.
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