From: David Holz (davidh_at_otterspace.com)
Date: 2002-11-20 16:41:40
From: "Ullrich von Bassewitz" <uz_at_musoftware.de> > Yes, I've seen your page, and the fact that you did it this way, increased my > confidence that this is the right approach. Remember, though, that I never implemented a full system of it (because LUnix wasn't quite compatible with the things I was trying to do). So not all of the uability issues have been tested. > The problem when moving the window pointer is, that the application cannot > remember it anywhere, so you will have to use double indirection - and cc65 I don't see where double-direction comes into play (pointer to a pointer). The window pointer is in the same location in zp. When I said "move the window", I mean the pointer points to a different page. Since you're talking about having 1 window per application, make it have a fixed location in zp that the compiler knows about, instead of a normal pointer variable. But then again, I'm always a proponent of "better code through smarter compilers" instead of using libraries to try to add basic functionality. :) > 1. Unexpanded C64 > As long as the graphics module is not used, the memory below the kernal > may be used as extended memory. Copying is needed because the memory > cannot be accessed directly. If the window pointer is fixed in zp, just update that pointer. No copying necessary. > 6. REU > The REU uses fast DMA transfers (1 cycle per byte). It needs copying, but > because of the REU speed, the solution would still be rather fast. You can also have a simple LRU caching system, and give how many pages to cache in RAM at compile-time. > Are there any other known memory expansions out there, that do not map into > this scheme? As far as I can see, it will work with everything. If you remember back to the DOS days, this type of API is very similar to EMS (bank in memory). If you have to copy data around anyway, like with the REU or SCPU, then a XMS type of API (copy data between external & main RAM) would be faster, but you'd lose all the speed of banking on systems that support it (GeoRAM, linear access, and the cache idea). -- White Flame (aka David Holz) http://www.white-flame.com/ (spamblock in effect) ---------------------------------------------------------------------- To unsubscribe from the list send mail to majordomo_at_musoftware.de with the string "unsubscribe cc65" in the body(!) of the mail.
This archive was generated by hypermail 2.1.3 : 2002-11-20 16:41:11 CET