VIC 20 W/65C816

Basic and Machine Language

Moderator: Moderators

Post Reply
DrVeryEvil
Vic 20 Amateur
Posts: 69
Joined: Thu Jul 23, 2015 5:11 pm
Location: Lansing, MI, USA
Occupation: Data Analyst

VIC 20 W/65C816

Post by DrVeryEvil »

Ok, I've got this prototype working. It's a VIC 20 with a 65C816 decoded to 128K of adressable memory. Four different versions of Commodore Basic V2.0, two with Jiffy DOS. C64 style banked memory, plus two 4K RAM banks under the Character ROM. This VIC 20 can also be turned on in stock mode also.

But what I really need is a simple machine language monitor for the 65C816 that works on Commodore hardware. I'm not a big programmer. It's probably been 30 years since I done any assembly programming on the VIC. Can anyone steer me in the direction of something that I could make work with this animal?

Regards.
groepaz
Vic 20 Scientist
Posts: 1187
Joined: Wed Aug 25, 2010 5:30 pm

Re: VIC 20 W/65C816

Post by groepaz »

dream mon: https://csdb.dk/release/?id=172122

it's for the scpu, so itwill need modding, i guess
I'm just a Software Guy who has no Idea how the Hardware works. Don't listen to me.
User avatar
Mike
Herr VC
Posts: 4841
Joined: Wed Dec 01, 2004 1:57 pm
Location: Munich, Germany
Occupation: electrical engineer

Re: VIC-20 w/ 65C816

Post by Mike »

There exists a re-implementation of Supermon for 65816, written by BDD of 6502.org. You find the source here:

http://sbc.bcstechnology.net/download.html.

Note a 65816 disassembler is considerably more difficult to implement than a disassembler for 8-bit 65xx CPU. In principle, it has to 'execute' the code as it steps along to keep track of the E bit in the status register. Otherwise opcodes will be disassembled in a wrong way.
DrVeryEvil
Vic 20 Amateur
Posts: 69
Joined: Thu Jul 23, 2015 5:11 pm
Location: Lansing, MI, USA
Occupation: Data Analyst

Re: VIC 20 W/65C816

Post by DrVeryEvil »

Thank you for your suggestions, I will look at them.
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: VIC-20 w/ 65C816

Post by chysn »

Mike wrote: Fri Nov 12, 2021 4:08 am There exists a re-implementation of Supermon for 65816, written by BDD of 6502.org. You find the source here:

http://sbc.bcstechnology.net/download.html.

Note a 65816 disassembler is considerably more difficult to implement than a disassembler for 8-bit 65xx CPU. In principle, it has to 'execute' the code as it steps along to keep track of the E bit in the status register. Otherwise opcodes will be disassembled in a wrong way.
Somebody asked me if I could modify wAx for 65816, and I couldn't think of a way to keep track of 8/16-bit register width. Sure, you can try to simulate execution as you go, but you never know where a subroutine starts or what happened before a subroutine was called. It seemed like a "write-only" language.
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