6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sat Nov 23, 2024 12:10 am

All times are UTC




Post new topic Reply to topic  [ 114 posts ]  Go to page Previous  1, 2, 3, 4, 5, 6 ... 8  Next
Author Message
 Post subject:
PostPosted: Sun Aug 28, 2011 8:08 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
ElEctric_EyE wrote:
I found my floppy. I was a fan of multiple backups it seems.
Had TurboTape, Superbasic, and Micromon, among others. All typed in from Compute! from the old days...

Hi EEye
I know you've been working on disassembling and reworking, but do you now have the original typed-in source for Micromon? It would be great to have that in an archive somewhere.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 12:23 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
BigEd wrote:
... I know you've been working on disassembling and reworking, but do you now have the original typed-in source for Micromon? It would be great to have that in an archive somewhere.

Cheers
Ed

I do. I've tested it in VICE after making an image of it and it works, but I think it may already be stored here.

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 12:55 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Hmm, I can't find it anywhere online - we're looking for January 1982. All the online disks are from 1983 onwards.

The article text is there:
http://www.atarimagazines.com/compute/i ... CROMON.php

but not the program.

So if you have it, perhaps you could share it?

Edit: hang on: are these they?
http://www.commodore.ca/gallery/magazin ... e-1-43.htm


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 1:37 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
oh, I didn't realize they were that old... Check your email!

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 3:26 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Got it - thanks! (4k ROM file for micromon64 - a different version from the one in the magazine article, which is also different from the vic20 v1.2 version I found elsewhere "Bill Yee 1983".)

What I'd completely failed to realise, which is obvious really, is that these programs were published only as hex dumps. Whereas I was hoping to see the original assembly source. It seems like we're only ever going to see more or less inspired disassemblies, although the article does say that the source code is (was) available.

I like the fact that micromon (as found in the magazine) only needs 4 external routines, and two of those are for load and save.

But Supermon is half the size... and there's a more intelligible source (actually a listing) here. As far as I can tell, Supermon runs from $8000 to $88AE in this listing.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 3:43 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Back up at 4k in size, but fully commented and modern, we have Ken's Krusader monitor for the Replica 1, as announced here


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 3:58 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
BigEd wrote:
...I like the fact that micromon (as found in the magazine) only needs 4 external routines, and two of those are for load and save.

Exactly, it just needs character in from a keyboard, and character out for a display. Also, Micromon-64 can copy and compare blocks of memory...

BigEd wrote:
But Supermon is half the size... and there's a more intelligible source (actually a listing) here. As far as I can tell, Supermon runs from $8000 to $88AE in this listing.

Supermon is worth looking at first IMO because we have a commented listing, and like you pointed out, much smaller. Most likely it just needs two primary routines modified for a 6502 core. For your original 65Org16 core, I think only features like block copy/compare/fill, etc. would have to be modified since we're looking at a much more expansive memory. Where else would one have to focus on modifications as far as you can tell?

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 4:27 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Found a page here with the hex for supermon4 (for the PET), if that's worth anything. I'm actually a bit more comfortable with that as it's stated to be free software, as opposed to the listing which is stated to be copyright. (Yes, ages ago and to a defunct company)


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 8:10 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
I do also have SuperMON-64, it's only 2.5K. Along with a book I also have called Mapping the 64 I should be able to make sense of the JSR's and JMPs and substitute routines to make it work. This is pretty much where I had left off on the 6502SoC and when I'm done the 65Org16 mainboard, I plan to come back and get my brain in software mode and make it work initially with Arlet's core.

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 8:29 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
A couple of thoughts:

- the supermon by synertek for the kim-1, for which we have the listing: is that in fact a completely different and unrelated program to the later supermon programs we've seen for PET, VIC and C64? It's a similar length but is that as far as the similarity goes?

- given the emulator we have, do we need a little less from a monitor than we would have done back in the day? It might be easier to debug a program in the emulator than on the machine itself. Any improvements we make to the emulator benefit all users of the emulator, for any CPU (6502 or, one day, 65Org32.) Although, to debug hardware we might well need a monitor.

Cheers
Ed


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Mon Aug 29, 2011 9:26 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
BigEd wrote:
A couple of thoughts:

- the supermon by synertek for the kim-1, for which we have the listing: is that in fact a completely different and unrelated program to the later supermon programs we've seen for PET, VIC and C64? It's a similar length but is that as far as the similarity goes?...
Cheers
Ed

Not really sure.
I know the ascii data for the startup screen is right at the beginning of at least the pet and 64 version, followed by a string of TXA's, then the beginning of the program with an LDA $2D, STA $22...

BigEd wrote:
...Although, to debug hardware we might well need a monitor.

Cheers
Ed

Personally, this is my main driving motivation!
Imagine sitting there writing code after the FPGA boots up with the monitor in a brand new system, no drivers for video, no drivers for USB data transfer, or memory compare to FLASH/RAM, etc, no drivers for HDD.
Like you I got tired very quickly of programming the FPGA each and every time a small change was made.
Actually I have character out routine written for the TFT panel, and character in routine for the PS2 core. The TFT panel would be used at the very beginning of development, until at least the video drivers for the CS4654 could be written.

Incidentally, you can open up binaries using M. Kowalski's assembler. It assigns labels for everything though, so with a little bit of effort you can make it look like it should. Then assemble it back to binary form and compare it to the original. I've already done this for Micromon, before I found Supermon. Now I must do this for Supermon as well.

How does this apply to 65Org16? Not so sure yet, but when I do get around the software aspect, I'll be thinking along lines of how to translate it over. Port it I guess is the correct term.

_________________
65Org16:https://github.com/ElEctric-EyE/verilog-6502


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 26, 2011 11:13 am 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
ElEctric_EyE wrote:
Incidentally, you can open up binaries using M. Kowalski's assembler. It assigns labels for everything though, so with a little bit of effort you can make it look like it should...

How does this apply to 65Org16? Not so sure yet, but when I do get around the software aspect, I'll be thinking along lines of how to translate it over. Port it I guess is the correct term.

Manual "porting" will not be necessary thanks to Bitwises' Assembler! It does it automatically.

The following taken from here.
BitWise wrote:
...I built the 65Org16 assembler from the same Java source as my 6502 family assembler. Its uses the same parser but I stripped out support for device switching (.6502, .65C02, .65816) and extended byte to be 16-bits through out.

So if you feed it vanilla 6502 source it will come out as 16-bit code.

So all that's needed is to copy the assembly listing, say from MK's assembler, and paste it in the Assembler.

I have Arlet's bin2coe in the same folder as Bitwises' assembler. That way, from the command line, I can do a quick nmake to make the binary, and then bin2coe -2 to derive the .coe from the .bin.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 26, 2011 11:39 am 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
ElEctric_EyE wrote:
I have Arlet's bin2coe in the same folder as Bitwises' assembler. That way, from the command line, I can do a quick nmake to make the binary, and then bin2coe -2 to derive the .coe from the .bin.


You can even add the bin2coe line to the makefile, so you only have to type "make" to get everything done.


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 26, 2011 12:03 pm 
Offline

Joined: Mon Mar 02, 2009 7:27 pm
Posts: 3258
Location: NC, USA
Arlet wrote:
You can even add the bin2coe line to the makefile, so you only have to type "make" to get everything done.

How do I do this?


Top
 Profile  
Reply with quote  
 Post subject:
PostPosted: Wed Oct 26, 2011 12:08 pm 
Offline
User avatar

Joined: Tue Nov 16, 2010 8:00 am
Posts: 2353
Location: Gouda, The Netherlands
ElEctric_EyE wrote:
Arlet wrote:
You can even add the bin2coe line to the makefile, so you only have to type "make" to get everything done.

How do I do this?


Add a rule somewhere that says:
Code:
firmware.bin: firmware.coe
     bin2coe ... with proper arguments like you'd do it on the command line ...

Now, if you also have a rule to turn the source into firmware.coe, you can type "make firmware.bin", and it will automatically do everything it needs. Make sure the second line starts with a TAB character.

If you put firmware.bin as the first target in the makefile, e.g. by having a first rule that says:
Code:
all: firmware.bin .... add more target here if you want...


Then all you need to type is "make" (it will default to the first target it finds).


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

All times are UTC


Who is online

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