Looking for Baum's tiny assembler on Apple-1
Looking for Baum's tiny assembler on Apple-1
I remember I've read somewhere that in 1976 Allen Baum had written a tiny 300'ish byte assembler for the Apple-1. It supposedly uses a clever brute-force method, parasitising on the Baum-Wozniak disassembler (so that must be present as well, but that's just under 500 bytes).
However, after much googling, I can't find the actual code. Did I misremember?
I can find the infamous disassembler. It was published in Dr. Dobb's and I've got it running fine in the Gigatron's Apple-1 emulator. Now I would like to add an assembler as well.
Any pointers are much appreciated.
P.S: I'm not looking for something like KRUSADER. Just something small. In order to be useful for this project, it will have to sit somewhere of the $400-$fff area in the Apple-1 memory map.
However, after much googling, I can't find the actual code. Did I misremember?
I can find the infamous disassembler. It was published in Dr. Dobb's and I've got it running fine in the Gigatron's Apple-1 emulator. Now I would like to add an assembler as well.
Any pointers are much appreciated.
P.S: I'm not looking for something like KRUSADER. Just something small. In order to be useful for this project, it will have to sit somewhere of the $400-$fff area in the Apple-1 memory map.
Re: Looking for Baum's tiny assembler on Apple-1
Indeed this may be it. However, it appears to call out to a whole bunch of functions not present in the Apple-1. Perhaps I misremember the story and this assembler doesn't exist for Apple-1.
Re: Looking for Baum's tiny assembler on Apple-1
In the meantime I stumbled upon this:
http://www.apple1notes.com/old_apple/Mo ... _on_1.html
This is a very interesting approach provided I can get it to sit in $0500-$0fff. That link gives hex files for several starting addresses, but not this range. Perhaps I can XOR two of them to get the one I need 
http://www.apple1notes.com/old_apple/Mo ... _on_1.html
Quote:
[...] As a part of the material in the Gayler collection was a program tape that contained a file of the Apple II monitor ported to the Apple 1 that he had apparently made complete with Mini-Assembler. This was not a transitional step from the Apple 1 like the Monitor file by Steve and Allen but a port of the completed Apple II monitor including the mini-assembler. [...]
Re: Looking for Baum's tiny assembler on Apple-1
Good find! Certainly should be straightforward to find the variant bytes and use that to relocate.
Re: Looking for Baum's tiny assembler on Apple-1
Source code for all the Apple 1 and Apple II monitor is out there - including the source code for the mini assembler.
e.g.
This link might help: https://github.com/cmosher01/Apple-II-S ... tag/v1.1.2
So if you can assemble that then you can relocate it anywhere - and have it use your own IO, etc. routines.
-Gordon
e.g.
Code: Select all
;***********************
;* *
;* APPLE-II *
;* MINI-ASSEMBLER *
;* *
;* COPYRIGHT 1977 BY *
;* APPLE COMPUTER INC. *
;* *
;* ALL RIGHTS RESERVED *
;* *
;* S. WOZNIAK *
;* A. BAUM *
;***********************
FORMAT = $2E
LENGTH = $2FSo if you can assemble that then you can relocate it anywhere - and have it use your own IO, etc. routines.
-Gordon
--
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
Gordon Henderson.
See my Ruby 6502 and 65816 SBC projects here: https://projects.drogon.net/ruby/
- barrym95838
- Posts: 2056
- Joined: 30 Jun 2013
- Location: Sacramento, CA, USA
Re: Looking for Baum's tiny assembler on Apple-1
mvk wrote:
[Edit: I'm finding some redundant code and what appears to be ][-specific code in there. It looks like the person transplanting the Apple ][ stuff didn't want to fiddle with the inner mechanism too much, so he patched it together sub-optimally and stopped messing with it as soon as he got it to work. I don't want to bite off more than I can chew, but I'll nibble away at it as time and inspiration permit ...]
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)
Mike B. (about me) (learning how to github)
Re: Looking for Baum's tiny assembler on Apple-1
I took a first stab at disassembling. First I created an object file for $500-$fff by comparing the other files for their differences. Then I ran it through x65dsasm and edited it until it assembled ok with ca65. I pushed the first result in the Gigatron repo on GitHub:
https://github.com/kervinck/gigatron-ro ... pple-1/asm
It doesn't run on my system yet, because I need additional zero-page relocations.
P.S. I'm interested to find out who's behind apple1notes.com, because that isn't mentioned on the site itself. It could be Wendell Sander.
https://github.com/kervinck/gigatron-ro ... pple-1/asm
It doesn't run on my system yet, because I need additional zero-page relocations.
P.S. I'm interested to find out who's behind apple1notes.com, because that isn't mentioned on the site itself. It could be Wendell Sander.
- barrym95838
- Posts: 2056
- Joined: 30 Jun 2013
- Location: Sacramento, CA, USA
Re: Looking for Baum's tiny assembler on Apple-1
There are many hundreds of bytes of dead/useless/corrupt code in there that should be amputated. I am attempting surgery ...
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)
Mike B. (about me) (learning how to github)
Re: Looking for Baum's tiny assembler on Apple-1
mvk wrote:
P.S. I'm interested to find out who's behind apple1notes.com, because that isn't mentioned on the site itself. It could be Wendell Sander.
-
Uncle Warthog
- Posts: 14
- Joined: 24 Oct 2017
Re: Looking for Baum's tiny assembler on Apple-1
mvk wrote:
I remember I've read somewhere that in 1976 Allen Baum had written a tiny 300'ish byte assembler for the Apple-1. It supposedly uses a clever brute-force method, parasitising on the Baum-Wozniak disassembler (so that must be present as well, but that's just under 500 bytes).
However, after much googling, I can't find the actual code. Did I misremember?
However, after much googling, I can't find the actual code. Did I misremember?
Where I _think_ it might be is on a tape that Apple used to sell for the Apple I, the "Extended Monitor" which I think also may have included the disassembler (though maybe not as they also sold that on tape separately).
Re: Looking for Baum's tiny assembler on Apple-1
Thanks for sharing. I've found more background on these hex files:
https://www.applefritter.com/content/ap ... ed-apple-1
We correctly guessed the site owner
This thread then leads to this disassembly by Jeff Tranter
https://github.com/jefftranter/6502/tre ... %5BMonitor
I'm ashamed to admit I already had this repo cloned months ago, but overlooked this gem because of the Apple][ directory name.
https://www.applefritter.com/content/ap ... ed-apple-1
We correctly guessed the site owner
This thread then leads to this disassembly by Jeff Tranter
https://github.com/jefftranter/6502/tre ... %5BMonitor
Code: Select all
This is the source code for a port of Apple II Monitor to the Apple 1.
- barrym95838
- Posts: 2056
- Joined: 30 Jun 2013
- Location: Sacramento, CA, USA
Re: Looking for Baum's tiny assembler on Apple-1
See what I mean about all the stuff that has absolutely no use on the Apple 1? I'm still nibbling at it ...
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)
Mike B. (about me) (learning how to github)
Re: Looking for Baum's tiny assembler on Apple-1
It seems that it came from a ROM dump with patches on top to bind to Apple-1. It makes sense one would do it that way without better tools. There's quite a bit of stuff to be scrubbed indeed. I'm tempted.
I found a similar back port of the Apple II monitor here:
https://www.scullinsteel.com/apple1/#Mo ... sassembler
It loads in $800.$fff, it starts at an unusual address ($f3d) and routines are clearly rearranged. The origins are unclear to me. I spotted the disassembler in there but it is missing the mini-assembler.
I found a similar back port of the Apple II monitor here:
https://www.scullinsteel.com/apple1/#Mo ... sassembler
It loads in $800.$fff, it starts at an unusual address ($f3d) and routines are clearly rearranged. The origins are unclear to me. I spotted the disassembler in there but it is missing the mini-assembler.
- barrym95838
- Posts: 2056
- Joined: 30 Jun 2013
- Location: Sacramento, CA, USA
Re: Looking for Baum's tiny assembler on Apple-1
mvk wrote:
It seems that it came from a ROM dump with patches on top to bind to Apple-1. It makes sense one would do it that way without better tools. There's quite a bit of stuff to be scrubbed indeed. I'm tempted.
Quote:
I found a similar back port of the Apple II monitor here:
https://www.scullinsteel.com/apple1/#Mo ... sassembler
It loads in $800.$fff, it starts at an unusual address ($f3d) and routines are clearly rearranged. The origins are unclear to me. I spotted the disassembler in there but it is missing the mini-assembler.
https://www.scullinsteel.com/apple1/#Mo ... sassembler
It loads in $800.$fff, it starts at an unusual address ($f3d) and routines are clearly rearranged. The origins are unclear to me. I spotted the disassembler in there but it is missing the mini-assembler.
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)
Mike B. (about me) (learning how to github)