[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: just a thought... inspired by "CP/M disks for apple IIgs"
- Subject: Re: just a thought... inspired by "CP/M disks for apple IIgs"
- From: pausch@saafNOSPAM.se (Paul Schlyter)
- Date: 2000/09/24
- Newsgroups: comp.os.cpm, comp.sys.apple2
- Organization: Svensk Amat|rAstronomisk F|rening (SAAF)
- References: <39c6cfdc.1625904@news.planetc.com> <39CD5DDF.3A6B2450@acronet.net>
In article <39CD5DDF.3A6B2450@acronet.net>, <dkanecki@acronet.net> wrote:
> The 65816 uses a different register set... CP/M was orignially written for
> an 8080 with a register set of PSW/A, B/C, D/E, and H/L or M as the
> combination 8 and 16 bit registers. The problem with 65XX and 65XXX
> series is that they have few registers -- mostly and A and B register and
> an X (index or memory register)
This could easily be compensated for by using the 6502 Page Zero as a
set of "extended CPU registers". After all, the 6502 could access
Page Zero in 3 clock cycles, while the 8080 needed 4 clock cycles to
access a CPU register....
The REALLY BIG problem with the 6502 was something else: the CPU stack
which was limited to a mere 256 bytes. This was a real bottleneck
for all software using more than a very small amount of stack. And
it's because of this that AppleSoft Basic had much more severe limits
regarding nested subroutine calls, nested parantheses in expressions,
etc than it's "CP/M cousin" M-Basic.
> -- So, port CP/M you might want to do want some people did -- write a
> virtual 8080 that run on a 65XX or 65XXX, then you can port the code
> to the system ---
That's emulation, not porting....
> When the Apple first came out, that was reason for the two basics -- one
> basic used a virtual processor to get around some things with the 65XX
> series processor -- That is what made Woz a hero!
I'm sorry, but this is a myth. Yes, Woz designed and implemented
"Sweet-16 - The Dream Machine" as well as Integer Basic, however Integer
Basic was implemented in 6502 assembly language, not in Sweet-16 code.
Remember that at that time, Integer Basic was faster than most other
Basic interpreters -- if Woz had implemented it in Sweet-16 rather
than 6502 code, Integer Basic would have been some 10 times slower.
Another piece of history: Woz implemented Integer Basic directly in
6502 machine language -- there isn't and never was any official
source code for Integer Basic !
> My first system was an Osborne 1, but I floated between the OS-1 and Apple
> (mainly using logo and Grafforth)...
>
> I hope this helps...
>
> D. Kanecki
--
----------------------------------------------------------------
Paul Schlyter, Swedish Amateur Astronomer's Society (SAAF)
Grev Turegatan 40, S-114 38 Stockholm, SWEDEN
e-mail: pausch at saaf dot se or paul.schlyter at ausys dot se
WWW: http://hotel04.ausys.se/pausch http://welcome.to/pausch