[39] Software for Design Project
[39.1] Software for Design Project
What kind of software is appropriate for the Design Project? I am an Apple II guy, so I immediately think of the Apple II monitor which can display memory, change memory, compare two regions of memory, disassemble machine code, assemble machine code, and has various utility routines. What high level language should be in the ROM? I know of small 6502 implementation of BASIC, Forth, Lisp, and Focal.
Paul R. Santa-Maria
Paul R. Santa-Maria
- Mike Naberezny
- Site Admin
- Posts: 293
- Joined: 30 Aug 2002
- Location: Northern California
- Contact:
[39.2] Software for Design Project
Paul,
I have the source code for Jim Butterfield's Supermon, a small and powerful little monitor written for the Commodore 64. I had planned on porting that, but if your Apple II monitor has advantages perhaps we could use it instead.
I think the original plan was to get the hardware done first and then worry about software, but there's no reason why the two can't be developed concurrently.
I would like to see some high-level interpreters made to run on the board. We haven't really discussed this yet. I have the SYM-1 BASIC and a Commodore 64 BASIC ROM disassembly. How difficult would it be to port the version of BASIC you're thinking of? Care to volunteer?
I have the source code for Jim Butterfield's Supermon, a small and powerful little monitor written for the Commodore 64. I had planned on porting that, but if your Apple II monitor has advantages perhaps we could use it instead.
I think the original plan was to get the hardware done first and then worry about software, but there's no reason why the two can't be developed concurrently.
I would like to see some high-level interpreters made to run on the board. We haven't really discussed this yet. I have the SYM-1 BASIC and a Commodore 64 BASIC ROM disassembly. How difficult would it be to port the version of BASIC you're thinking of? Care to volunteer?
- Mike Naberezny (mike@naberezny.com) http://6502.org
[39.3] Software for Design Project
Something that would be really useful to build for the design project...
How about somebody writes an emulator for the board, for testing purposes?
How about somebody writes an emulator for the board, for testing purposes?
- Mike Naberezny
- Site Admin
- Posts: 293
- Joined: 30 Aug 2002
- Location: Northern California
- Contact:
[39.4] Software for Design Project
I think that is an excellent idea!
- Mike Naberezny (mike@naberezny.com) http://6502.org
[39.5] Software for Design Project
I will document the commands available in the Apple II monitor and post them here. Can you do the same for the Supermon? That way we can compare the functionality of the two. If anyone has another 6502 monitor then tell us about it.
Paul R. Santa-Maria
Paul R. Santa-Maria
-
leeeeee
- In Memoriam
- Posts: 347
- Joined: 30 Aug 2002
- Location: UK
- Contact:
[39.6] Software for Design Project
Mike
The Compukit/Superboard BASIC seems easy to port as it only requires character in/out routines for the target system. There are a few bugs in it (garbage collection is one) and it is (c)Microsoft (spit!) but it will run with only 1k RAM (0000-03FF).
The biggest problem could be locating it in memory as it wants A000-BFFF for the (8k) ROM.
I use two versions of it on my 6502SBC, the standard UK101 8K version and the extended (12k) superboard II version.
It's not perfect but it doed provide a quick and dirty high level language for test purposes.
Lee.
The Compukit/Superboard BASIC seems easy to port as it only requires character in/out routines for the target system. There are a few bugs in it (garbage collection is one) and it is (c)Microsoft (spit!) but it will run with only 1k RAM (0000-03FF).
The biggest problem could be locating it in memory as it wants A000-BFFF for the (8k) ROM.
I use two versions of it on my 6502SBC, the standard UK101 8K version and the extended (12k) superboard II version.
It's not perfect but it doed provide a quick and dirty high level language for test purposes.
Lee.
- Mike Naberezny
- Site Admin
- Posts: 293
- Joined: 30 Aug 2002
- Location: Northern California
- Contact:
[39.7] Software for Design Project
Paul, I don't have a command list for Supermon but I will dissect the source code and make a list in the next few days. In the meantime feel free to post the Apple II monitor source. Is it easily portable?
Lee, this BASIC sounds like a good start! Can you please send me a copy of it? I originally thought of using the 6502 TINY BASIC but I couldn't locate it and this sounds just as good. It's too bad that it is located right where the I/O space is going to go, but it shouldn't be a problem to relocate it.
This is really nice. We're going to have a nice monitor and even a high-level language right from the start. This design project is moving along, I have been doing quite a bit of work on the schematic. More on this very soon.
Lee, this BASIC sounds like a good start! Can you please send me a copy of it? I originally thought of using the 6502 TINY BASIC but I couldn't locate it and this sounds just as good. It's too bad that it is located right where the I/O space is going to go, but it shouldn't be a problem to relocate it.
This is really nice. We're going to have a nice monitor and even a high-level language right from the start. This design project is moving along, I have been doing quite a bit of work on the schematic. More on this very soon.
- Mike Naberezny (mike@naberezny.com) http://6502.org
-
leeeeee
- In Memoriam
- Posts: 347
- Joined: 30 Aug 2002
- Location: UK
- Contact:
[39.8] Software for Design Project
Hi again Mike,
I don't have a full listing for the BASIC but I do have a (probably correct) disassembly which I did while I was looking for the garbage collection bug. I also have some memory use and other notes, and a binary dump. I'll sort them out next time I'm home (I'm working away) and forward them to you.
If anyone out there knows about the garbage collection bug, or has the replacement ROM(s) that fixed it, or has a fully comented source listing would they let me know (UK101/Superboard II BASIC). It's always easier to borrow someone elses wheel than invent your own.
Cheers,
Lee.
I don't have a full listing for the BASIC but I do have a (probably correct) disassembly which I did while I was looking for the garbage collection bug. I also have some memory use and other notes, and a binary dump. I'll sort them out next time I'm home (I'm working away) and forward them to you.
If anyone out there knows about the garbage collection bug, or has the replacement ROM(s) that fixed it, or has a fully comented source listing would they let me know (UK101/Superboard II BASIC). It's always easier to borrow someone elses wheel than invent your own.
Cheers,
Lee.
[39.9] Software for Design Project
I put the Apple II monitor and other potential 6502 SBC software on the web at http://people.delphi.com/paulrsm/6502.
Paul R. Santa-Maria
Ann Arbor, Michigan USA
Paul R. Santa-Maria
Ann Arbor, Michigan USA
[39.10] Software for Design Project
Paul:
I have a copy of the Add-on TIM monitor ROM for the SuperPet which I intend on using this for my My6502 SBC. AFAIK, this is straight from Commodore. I also have copies of SuperMon 64 and the KIM monitor ROM.
The issue for me is finding a monitor for a machine that is line-oriented as opposed to screen oriented. My6502 is designed to be used with a TTY terminal, so directly using SuperMon 64 or the SuperPet TIM may be a problem. The Kim-1 code may be better...
Although I have not yet tested the code (because I can't find a good simulator
), I created RS232-based line-input and line-output APIs to replace the default screen-based input and output code in the VIC Kernal code (which I'm using as the base for my project).
Rich
I have a copy of the Add-on TIM monitor ROM for the SuperPet which I intend on using this for my My6502 SBC. AFAIK, this is straight from Commodore. I also have copies of SuperMon 64 and the KIM monitor ROM.
The issue for me is finding a monitor for a machine that is line-oriented as opposed to screen oriented. My6502 is designed to be used with a TTY terminal, so directly using SuperMon 64 or the SuperPet TIM may be a problem. The Kim-1 code may be better...
Although I have not yet tested the code (because I can't find a good simulator
Rich
Rich Cini
http://cini.classiccmp.org
http://altair32.classiccmp.org
GitHub Repro: https://github.com/RichCini
http://cini.classiccmp.org
http://altair32.classiccmp.org
GitHub Repro: https://github.com/RichCini
[39.11] Software for Design Project
Mike:
Funet has a lot of source code for the Commodore computers. I've seen monitors and BASICs for several machines, specifically Commodore BASIC v.1, v.2, and v.4. I think that's where I got the KIM-1 monitor and SuperPet TIM code...
Funet has a lot of source code for the Commodore computers. I've seen monitors and BASICs for several machines, specifically Commodore BASIC v.1, v.2, and v.4. I think that's where I got the KIM-1 monitor and SuperPet TIM code...
Rich Cini
http://cini.classiccmp.org
http://altair32.classiccmp.org
GitHub Repro: https://github.com/RichCini
http://cini.classiccmp.org
http://altair32.classiccmp.org
GitHub Repro: https://github.com/RichCini
-
WJMcLaughlin
[39.12] Software for Design Project
Hi Lee,
I have a working UK101 with the fixed rom. I will try to read it and email the binary dump. Only one chip needs replaced so the file will be 2K, where should I email it to?
William McLaughlin.
I have a working UK101 with the fixed rom. I will try to read it and email the binary dump. Only one chip needs replaced so the file will be 2K, where should I email it to?
William McLaughlin.
-
leeeeee
- In Memoriam
- Posts: 347
- Joined: 30 Aug 2002
- Location: UK
- Contact:
[39.13] Software for Design Project
Hi William
>where should I email it to?
lee.davison@merlincommunications.com if you wouldn't mind.
Thank you,
Lee.
>where should I email it to?
lee.davison@merlincommunications.com if you wouldn't mind.
Thank you,
Lee.
[39.14] Software for Design Project
For the BASIC, I have ported the C64 BASIC interpreter to my GeckOS/A65 6502 OS. It only needs the I/O routines. However, it occupies a lot of zeropage and stack area.
(So it only runs on my MMU computer that
gives each process a full ZP and stack, but if you ONLY run the BASIC, that is no problem
Andre
(So it only runs on my MMU computer that
gives each process a full ZP and stack, but if you ONLY run the BASIC, that is no problem
Andre
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/
[39.15] Software for Design Project
The Add-on Monitor for the SuperPET as well as the original monitor _are_ line oriented. Only the screen device code allows you to move around and enter lines anywhere on the screen. If you call CBM kernal BASIN, the screen monitor is actived, you can move around, and after the first return BASIC returns with one character after the other of that line, until the line is read and then the screen editor is activated again.
So the CBM monitors can be used over a TTY.
Andre
So the CBM monitors can be used over a TTY.
Andre
Author of the GeckOS multitasking operating system, the usb65 stack, designer of the Micro-PET and many more 6502 content: http://6502.org/users/andre/