6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 22, 2024 8:39 am

All times are UTC




Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next
Author Message
 Post subject: SyMon Installation?
PostPosted: Sun Mar 03, 2013 8:46 pm 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
Hi guys. I'm afraid I need help again. I found the SyMon emulator page which, like Py65, is on GitHub, but, also like Py65, I can't figure out how to install the package on my Windows 7 laptop.

I feel like I missed a couple semesters at school here. Where should I go to learn about using this GitHub distribution method?

TIA... Cheerful regards, Mike


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Sun Mar 03, 2013 9:56 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Hi Mike
you'll see a button with "zip" and a download symbol on the github page - near the highlighted "http" button - use that to get a zip file. You don't need any git-specific knowledge unless you plan to contribute to the source.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 12:53 am 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
Thanks, Ed.

Does anyone know how to launch and run the SyMon program?

Regards, Mike


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 10:52 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Hi Mike
it turns out that github only contains sources, and I don't see a runnable version anywhere. So I built it - see attached.

The zip file gives you a folder, and in there you find a *.jar file. You can just double-click on that to launch it. If you unpacked the archive, it will have loaded "rom.bin" which is a copy of EhBASIC. Otherwise, if you ran directly from the zip file, the 6502 memory will be empty, and you can load something using the File menu.

Hope this helps. (There's a copy of the source in the enclosed, although the license doesn't require it)

Cheers
Ed


Attachments:
File comment: Seth J. Morabito's 6502 emulator symon from https://github.com/sethm/symon
symon-2013-01-12.zip [559.34 KiB]
Downloaded 136 times
Symon-EhBASIC-3.png
Symon-EhBASIC-3.png [ 82.91 KiB | Viewed 2087 times ]
Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 1:43 pm 
Offline

Joined: Sun Apr 10, 2011 8:29 am
Posts: 597
Location: Norway/Japan
I tried the symon emulator for fun.. it works fine, but it spins like an old DOS program! 130% CPU on my quadcore.. :)

-Tor


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 1:54 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
You should be able to run three at a time in that case!


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 3:06 pm 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
BigEd wrote:
Hi Mike
it turns out that github only contains sources, and I don't see a runnable version anywhere. So I built it - see attached.

The zip file gives you a folder, and in there you find a *.jar file. You can just double-click on that to launch it. If you unpacked the archive, it will have loaded "rom.bin" which is a copy of EhBASIC. Otherwise, if you ran directly from the zip file, the 6502 memory will be empty, and you can load something using the File menu.

Hope this helps. (There's a copy of the source in the enclosed, although the license doesn't require it)

Cheers
Ed

Hi Ed,

That helps a lot and SyMon is now up-n'-runnin'. Can't thank you enough. However, I'm incredibly embarrassed to realize that I used to be an ace 6502 programmer and I've squandered these last 30 years without keeping up on any kind of programming, except for some PIC microcontroller programming spanning the last several years.

I tried to set up a Linux machine about seventeen years ago (RedHat, I think) and I was simply overwhelmed by the "operating system by comittee" approach. There were literally hundreds of files that you had to work through for even the most basic of information and I finally gave up.

May I impose on you and other forum members to ask what path you would recommend for me if I wanted to "catch up" my programming skills? That is, just being able to write, edit, compile programs for the Windows environment? Should I concentrate on any particular languages; Java, Python, Visual Studio Suite, etc.? I know how to do C for PIC microcontrollers but I admit "classes" and C++ are totally bewildering to me. If it helps, I do have Visual Studio 2010 installed since I could get a free student copy but I haven't used it for anything.

Thank you again. Cheerful regards, Mike


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 3:23 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
Hi Mike
I tend to advocate Python these days: it's cross-platform, supports straightforward programming as well as fancy Object Orientated (or even functional) styles, it's adequately fast(*) and there's lots of help and recipes out there. And, of course, you get free support for strings, hashes, and no need to worry about memory allocations.

The only fly in the ointment is if you want to make a GUI-based program: you have to choose a toolkit, and there are several but with different pros and cons. Personally I tend to write non-GUI things so I don't have a strong view. Here are three:
http://zetcode.com/wxpython/
http://wiki.python.org/moin/PyQt
http://www.learningpython.com/category/python/tkinter/
of which the third is probably easiest but is not very pretty, as I recall.

Cheers, Ed
(*) and pypy is even faster, supporting almost anything you'd want to do.

Edit: I should add, JavaScript has a lot of the same advantages as python, but comes with a free GUI because you can run in a browser. It's slightly easier to write bad code, I think, but that doesn't make it a bad language. It's possible to run a command-line javascript too, although I haven't done it. See http://stackoverflow.com/questions/6499 ... repl-style


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 7:36 pm 
Offline

Joined: Thu Mar 03, 2011 5:56 pm
Posts: 284
Javascript is a fun language, and if you use Google Chrome, you actually get pretty decent debug/introspection facilities, and a "command line" interface that lets you add/modify code (and data) on the fly. I was about to suggest my HP-41 barcode generator as an example of using javascript as a programming language, but I guess that visual6502 is a much more convincing example :-)


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Mon Mar 04, 2013 7:45 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10985
Location: England
If you get serious with JavaScript, or you want to prepare before you dive in, take a look at Crockford's "JavaScript: The Good Parts" - see for example http://www.catonmat.net/blog/javascript-the-good-parts/
Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Tue Mar 05, 2013 12:58 am 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
Thank you, Gentlemen...


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Tue Mar 05, 2013 1:29 am 
Offline

Joined: Sat Dec 13, 2003 3:37 pm
Posts: 1004
Unfortunately today, you can't really just say "catch up on programming". The detail is that it matters, and it matters quite a bit, what KIND of programming you want to do.

All of the systems are "general purpose" programming languages, but at the same time, all of the systems have specialized to some extent. You can "do anything" in pretty much all of them, but few actually choose to do everything in all of them.

Unless you're at the "Introduction to Computers" level of programming, everyone programs with some goal in my mind. If you aim to achieve whatever goal that is, it's best to start with a system that's more compatible with that goal than not.

Python is a fine language, I happen to not care for it's syntax, and I don't care it's heavy reliance on C libraries which can frustrate folks not willing to build a new interpreter for their project.

JavaScript is ubiquitous -- as long as you're using your browser as your runtime environment. But if you want to do some file processing, or run some scripts from the command line, it's a poor choice. Yes, there are command line JS environments, but 99% of the folks using JS are not running in those environments. And fighting the browser security model is also frustrating for a novice. Fighting cross browser issue is also exciting (but there are libraries for that -- mostly).

C# is a fine choice, because of the tooling. Pretty sure there's a lot available for free, but it's Windows only (yes, I'm aware of Mono, but, again, you want to toss a novice in to getting that running?), and Visual Studio is NOT available free. And C# is a complicated system as well.

VB.NET might be a bit more friendly, that's hard for me to say -- I've not used it much and it's mostly a sugar coated C# in contrast to VB6, and again the popular tools aren't available for free.

Java is my lingua franca, and the IDEs help a lot. It would be as hard to learn as C#, but at least it's portable and runs everywhere. It's also completely free. Java + NetBeans IDE + an App Server (Tomcat or Glassfish) + a database (postgres is my choice, MySQL can pound sand) and you can rule the world. Just absurdly capable systems and infrastructure.

I don't suggest anyone start with C, much less C++.

PHP is God awful, and one of the most popular systems in the world.

Of course, there's also VBA if you have Excel or Word. Do not discount it's capability.

The problem today, as my young colleagues are learning to their pain, is that modern programming is as much an integration problem as it is a coding problem. Selecting libraries and other large systems and working with them. Nobody codes any of the classic data structures any more (you should understand them, you just don't need to write them). Databases are ubiquitous and taint much of the approach to the entire system. GUI libraries are vast and complex beyond the ugliest out of box demos.

The languages are almost secondary today compared to the framework and class library you're choosing to use, and it's is effectively impossible to get away from using pretty much any framework or library today (you can, but it's truly not worth your time most of the time).

The problems Michael talk about just speak to the complexity of modern operating systems. If you cut your teeth on an Apple ][ or in DOS, the world is much much different today, and you have a lot (a LOT) of subsystems that the OS is now managing compared to back then, many of which are transparent to you but somehow you're supposed to know how to manage anyway.

So, what, exactly, do you want to do Michael? Python may well be the best choice at this juncture, frankly, but, it depends.


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Tue Mar 05, 2013 7:39 am 
Offline

Joined: Thu Mar 03, 2011 5:56 pm
Posts: 284
This is getting way off the original topic, but...

... if you want a high quality implementation of a language that is described in a standards document, and are happy to expand your horizons, you should take a look at the "Personal" edition of Lispworks. It's steeper at the start compared with Python, but incredibly productive once you get into it. If you decide to take a look at Lisp, you should, immediately, install quicklisp - this gives you easy access to hundreds of libraries. There are even some 6502-related projects in Lisp :-)


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Tue Mar 05, 2013 9:55 am 
Offline

Joined: Tue Jul 24, 2012 2:27 am
Posts: 679
whartung wrote:
C# is a fine choice, because of the tooling. Pretty sure there's a lot available for free, but it's Windows only (yes, I'm aware of Mono, but, again, you want to toss a novice in to getting that running?), and Visual Studio is NOT available free. And C# is a complicated system as well.

Actually, the Visual Studio Express editions are free, and are quite complete for relatively hefty single-person development.


And yes, Lisp is the grand-daddy of all languages, to which other languages are still trying to catch up. There are great compilers, code is short and interactive, but there are a fair number of differences between well-structured Lisp and the styles of other languages. This is a good thing to learn, simply to break you out of the "standard" programming models that the C-family languages tend to drill into you, and be able to see (meta-)programming options more broadly.

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


Top
 Profile  
Reply with quote  
 Post subject: Re: SyMon Installation?
PostPosted: Tue Mar 05, 2013 12:38 pm 
Offline

Joined: Mon Jan 07, 2013 2:42 pm
Posts: 576
Location: Just outside Berlin, Germany
Hi Mike,

On SyMon, note that it will only emulate 6502, not 65c02, and once you have had those extra commands like BRA at your disposal, you'll never want to give them up. This is the reason I switched to py65. Note I have a Mac, so my options are more limited.

Let me second BigEd here with recommending Python. I mentioned this in a different thread already, but maybe a bit more detail: The core language is laughably easy to learn, which leads to slogans such as "Python fits your brain" or "it's executable pseudocode". No braces, no semicolons, and very clean syntax. For example, to print words from a list each to a line, you have:

Code:
btvs = ["buffy", "willow", "xander", "giles"]
for n in btvs:
    print n


That "for w in btvs" is the whole loop. After doing this for a while, every other loop construction seems encrusted with stupid boilerplate. Oh, and you don't have to go around defining "main" functions and whatnot just to get the thing to work (though if you do bigger projects, you'll want to).

The main drawback of Python apart from the missing GUI -- and this drives some people crazy -- is that whitespace is significant. You need those four spaces before the print instruction to signal it's part of the for loop. Get your indents wrong, and things blow up in your face, and are a serious pain to debug. If I remember correctly, it is why Google Go doesn't use whitespace, though a lot of other stuff was influenced by Python.

The language then scales up with more complex constructs. At some point I was lacking the basic concepts (factory functions, etc) to follow the level of abstraction, because I don't have the background of programming theory. It's more than a toy language, though it seems to start out that way.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 16 posts ]  Go to page 1, 2  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 15 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:  
cron