Forum

Command Line Assemb...
 
Notifications
Clear all

Command Line Assembler?

41 Posts
2 Users
3 Reactions
7,181 Views
rbourque
Posts: 43
Topic starter
(@rbourque)
Trusted Member
Joined: 2 months ago

Since I had all the opcodes in a json file so that vp-asm.py would aware of what opcodes were valid and how many parameters they required for the error messages I got an idea to expand it and use it for reference, like Linux Man pages.   

./vp-man.py              
usage: vp-man.py [-h] [--list] [--category CATEGORY] [--search SEARCH] [--validate] [--export-html EXPORT_HTML] [--export-pdf EXPORT_PDF] [opcode]

Opcode Manual Tool

arguments:
  opcode                Opcode name

options:
  -h, --help            show this help message and exit
  --list
  --category CATEGORY   List by category
  --search SEARCH       Search keyword (fuzzy)
  --validate
  --export-html EXPORT_HTML
                        Export full manual to HTML
  --export-pdf EXPORT_PDF
                        Export full manual to PDF

I've done this before in another project so I recycled some of my code.   I still have to populate the opcodes.json file with the additional information.

 

So far there are three utilities.

vp-asm to assemble the chip to a chipout file.

vp-loader to upload or upload and save the chipout to the device.   It will also upload the image and font data someday

vp-man to quickly lookup opcode details and examples.

 

I'll use pyinstaller so the end user (on linux, windows or mac) doesn't have to deal with 'pip install' and all the library prerequisites.

Don't worry, I'm not steamrolling your project here.   When I get it to a point it's worthy you will have full access to help me work out any glitches.   I did throw it together really fast since I don't normally have free time to work on personal projects.   It was just good timing.   My work on this will come and go depending on my day job, so don't worry if I disappear for a week every now and again.


Reply
3 Replies
Admin
(@nivbot)
Joined: 8 months ago

Member
Posts: 84

@rbourque I'm not worried about anything. I'm just amazed at how fast you can do it. Regardless of who makes what, I have to keep building my own whether people use it or not. The software isn't my main thing so if there's something better that people want to use I'm all for it. I'll keep improving mine where I can when I have time and make sure that I'm making good changes to the unit itself and that the software follows with that. And of course I will update GUI docs when necessary for those who have their own tools.


Reply
rbourque
(@rbourque)
Joined: 2 months ago

Trusted Member
Posts: 43

@nivbot I run an IT Department and have been coding since 1985, so stuff like this is really small task for me in comparison to my day job coding.  It's just really nice to be making something because I want to, not because I have to.

I enjoy playing with old hardware, so the Vetus Pars will come in very handy.   I have a late 70's Volker-Craig Terminal coming in today that I want to repair and it's 100% TTL logic, no cpu.   I've also got a Kaypro 1 that needs some work too.

The other products that test chips I looked into are so limited if your chip isn't listed, and so expensive in comparison.     I'm hoping to help you get Vetus Pars popular enough that other people help write your library of chips.

I think only a minority of users of Vetus Pars will be be making chip files from IC datasheets.   The majority of buyers just want to use it.

I'm also thinking of hosting a site so people can can get chip files similar to the way we use apt or brew.    No need to unzip or copy the file anywhere.   Users can't follow instructions! 


Reply
Admin
(@nivbot)
Joined: 8 months ago

Member
Posts: 84

@rbourque Yeah, I agree with all of that.


Reply
rbourque
Posts: 43
Topic starter
(@rbourque)
Trusted Member
Joined: 2 months ago

The Volker-Craig VC-4152 came in, and after re-seating all the sockets there was nothing to fix.   How disappointing for a 46 year old machine, fixing them is the best part.    It's a bit of an anomaly though as I think it was an internal prototype.   The early models were all TTL, then they made a 6502 terminal and later a z80 terminal.  This one looks like it came out between the TTL model and 6502 model because of the dates on the chips and it only understands VT52, and not VT100 like the 6502 model.

The one I have isn't documented anywhere and uses a 6800 cpu from 79/11.   It has custom burned roms and handwritten stickers with memory locations written on them.   Interesting piece of history.   Google and ChatGPT says it doesn't exist.   At least it's a source of lots of ic's to make tests for!


Reply
Posts: 84
Admin
(@nivbot)
Member
Joined: 8 months ago

That's fun. I'm hoping to find a cool little mini-mainframe somewhere before I die. But Really, I already have about 6 various computers I want to get to that I don't have time for. 


Reply
2 Replies
rbourque
(@rbourque)
Joined: 2 months ago

Trusted Member
Posts: 43

@nivbot I'd love an S-100 system but can't affort one.    I had to settle for replicas of the IMSAI and Altair 8800. 
There is something about blinky lights and switches, lol.

No progress on your console tools yet...  I had to work last night.  My goal is to get everything functioning by the weekend, and then do QA because I'm positive I've made some mistakes somewhere.


Reply
Admin
(@nivbot)
Joined: 8 months ago

Member
Posts: 84

@rbourque they aren't mine, friend. They are yours. It's cool you are making them though and I'm sure others will appreciate it too.


Reply
rbourque
Posts: 43
Topic starter
(@rbourque)
Trusted Member
Joined: 2 months ago

I moved all the opcode definitions into an opcodes.json file for vp-asm and vp-man to share.    The manual utility can now look up any opcode or list all the codes on the screen with basic colouring.  It can also output a manual in html or pdf.  (Sample attached)   Everything still needs formatting and thje opcodes.json file was thrown together quickly so there could be some mistakes in it.  The only opcode that has all the fields populated right now is SETPIN.

I also made the vp-asm script accept code in hex or dec so you can use 0xa or 10, whichever you prefer.  It's progress!


Reply
Posts: 84
Admin
(@nivbot)
Member
Joined: 8 months ago

Thats awesome. I wanted to do something like that too. It's just a matter of finding time for it all. You're like a robot. Sounds very useful and intuitive. I actually have an old CLI I made from the start but that was just for testing things. I felt I needed something for those people that might not be as advanced as others so I tried to make something that could sort of "teach" you as you are coding. I don't know if teach is the right word, but I guess what I mean is that I wanted everything to be there and seen so the uninitiated could see what options they have. I'm sure the GUI will undergo many many revisions. But what you are doing looks great and I'm sure many people will use it. 


Reply
1 Reply
Admin
(@nivbot)
Joined: 8 months ago

Member
Posts: 84

the CLI I made is way outdated by the way. It was just USB testing and stuff for uploads and what have you.


Reply
Page 3 / 5
Share: