Subject: Re: just a thought... inspired by "CP/M disks for apple IIgs"Path: lobby!newstf02.news.aol.com!portc01.blue.aol.com!news.maxwell.syr.edu!newsfeed1.uni2.dk!uio.no!news.kth.se!tybalt.admin.kth.se!merope.saaf.se!not-for-mailFrom: pausch@saafNOSPAM.se (Paul Schlyter)Newsgroups: comp.os.cpm,comp.sys.apple2Date: 24 Sep 2000 09:57:54 +0200Organization: Svensk Amat|rAstronomisk F|rening (SAAF)Lines: 55Message-ID: <8qkc62$dp$1@merope.saaf.se>References: <39c6cfdc.1625904@news.planetc.com> <39CD5DDF.3A6B2450@acronet.net>NNTP-Posting-Host: merope.saaf.seXref: lobby comp.os.cpm:28457 comp.sys.apple2:106235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