6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 2:21 pm

All times are UTC




Post new topic Reply to topic  [ 65 posts ]  Go to page Previous  1, 2, 3, 4, 5
Author Message
 Post subject: Re: Announce: Acheron VM
PostPosted: Fri Oct 18, 2019 6:39 am 
Offline
User avatar

Joined: Sun Jun 30, 2013 10:26 pm
Posts: 1949
Location: Sacramento, CA, USA
Garth and Bruce are quite familiar with the fig-FORTH bug, and Garth helped me to recognize my "17th bit" problem here with some failing test cases. Is that the type of data you're seeking?

_________________
Got a kilobyte lying fallow in your 65xx's memory map? Sprinkle some VTL02C on it and see how it grows on you!

Mike B. (about me) (learning how to github)


Top
 Profile  
Reply with quote  
 Post subject: Re: Announce: Acheron VM
PostPosted: Wed Nov 13, 2019 7:57 pm 
Offline

Joined: Tue Nov 10, 2015 5:46 am
Posts: 230
Location: Kent, UK
Hi White Flame,

Your presentation popped up in my youtube frontpage, so I just watched it last night. I have to say, very nice work! Some very smart and clever choices, and I like that you acknowledged the historical architectures that used some of the ideas (even if you learned of them after the fact, and so came up with them independently).

Have you investigated how well the VM might be applied to a 'C' compiler?


Top
 Profile  
Reply with quote  
 Post subject: Re: Announce: Acheron VM
PostPosted: Wed Nov 13, 2019 9:17 pm 
Offline

Joined: Sun Jan 20, 2013 6:44 pm
Posts: 10
I enjoyed the presentation; I was expecting a VM for a "known" 16 bit processor and was very pleasantly surprised.
I was also wondering about it being the target of a compiler, as I have tried a few times to write a Cish compiler for 6502, but always end up half inventing a new 6502ish language instead!
I'm from a (VIC-20 then) BBC Micro background which is 6502, unlike its later version the Master which is 65c02.


Top
 Profile  
Reply with quote  
 Post subject: Re: Announce: Acheron VM
PostPosted: Mon Nov 18, 2019 4:05 am 
Offline

Joined: Tue Jul 24, 2012 2:27 am
Posts: 679
The parameter passing/return scheme isn't really compatible with C's stack notions, which is the biggest issue. But a "mostly C-ish" language should be able to target it, using C syntax expressions and pointer operations, but a different function parameter model.

While a higher level language is obviously beneficial, the ability to create custom instructions is a good part of what keeps Acheron code fast, and that's more a low-level thing. Using an existing language like C would always require the system to do a bunch of extra stuff to maintain the C environment, which is always going to be a drawback on the 6502. I still haven't settled on what an optimal language on top of Acheron would be yet.

_________________
WFDis Interactive 6502 Disassembler
AcheronVM: A Reconfigurable 16-bit Virtual CPU for the 6502 Microprocessor


Top
 Profile  
Reply with quote  
 Post subject: Re: Announce: Acheron VM
PostPosted: Sun Jun 20, 2021 7:06 pm 
Offline

Joined: Sun Jun 20, 2021 6:55 pm
Posts: 1
wanted to do some work with the ancheron VM...started with the basics...
makefile is given which uses ca65
but I am on windows.
gnu make installed.
cc65 installed.

I run make which would execute:
rm -r obj
rm -r bin
mkdir obj
mkdir bin
ca65 -l obj/acheron.o.lst src/acheron.asm -g -o obj/acheron.o -I src
ld65 -Ln bin/labels -C src/acheron.cfg -m obj/map -o bin/acheron.prg obj/acheron.o
# Display size information for each component. Only the above line is necessary for the build.
grep '^[^_]* Size=' obj/map
grep '\._size__' bin/labels
dir bin/acheron.prg

but at the ca65 step I get this:
rm -r obj
RemoveDirectory(C:\retro\6502\acheronvm-master\acheronvm-master\obj)
rm -r bin
RemoveDirectory(C:\retro\6502\acheronvm-master\acheronvm-master\bin)
mkdir obj
mkdir bin
ca65 -l obj/acheron.o.lst src/acheron.asm -g -o obj/acheron.o -I src
src/acheron.asm:38: Error: String constant expected
115 / 128 opcodes defined
make: *** [obj/acheron.o] Error 1

it's having a issue with this macro:
.macro reportSize label, filename
label:
.include filename
.ident (.concat("_size__", .string(label))) = * - name
.export .ident (.concat("_size__", .string(label)))
.endmacro


specifically the .include filename

Any ideas?


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 65 posts ]  Go to page Previous  1, 2, 3, 4, 5

All times are UTC


Who is online

Users browsing this forum: No registered users and 19 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: