LWN.net Logo

Advertisement

GStreamer, Embedded Linux, Android, VoD, Smooth Streaming, DRM, RTSP, HEVC, PulseAudio, OpenGL. Register now to attend.

Advertise here

Garrett: Implementing UEFI Boot to Zork

Garrett: Implementing UEFI Boot to Zork

Posted Sep 25, 2013 0:21 UTC (Wed) by davidstrauss (subscriber, #85867)
In reply to: Garrett: Implementing UEFI Boot to Zork by branden
Parent article: Garrett: Implementing UEFI Boot to Zork

> You'd need to add support for (at least) wider integral data types. Otherwise you'd still only have 64kB of RAM.

Or use multi-level bank-switching.


(Log in to post comments)

Garrett: Implementing UEFI Boot to Zork

Posted Sep 25, 2013 5:16 UTC (Wed) by dlang (✭ supporter ✭, #313) [Link]

and remember that the c64 already supported bank switching so that you could have either the ROM or RAM at a particular location (and it ran MUCH faster if you copied ROM to RAM and switched to the all RAM config)

Garrett: Implementing UEFI Boot to Zork

Posted Sep 26, 2013 18:18 UTC (Thu) by nix (subscriber, #2304) [Link]

It supported multi-level bank switching, no less: $D000-$DFFF could not only hold RAM and the "character ROM" which held images of the glyphs, but also the I/O area where the 6510's I/O ports were exposed.

To add even more confusion, the VIC chip always saw the character ROM at this position (you could copy the glyphs elsewhere and modify them, then ask it to look elsewhere in memory: elsewhere, as I recall, it always saw RAM). Meanwhile, the 6510 by default saw the I/O ports, though you could change that in the usual way. So the shape of the memory map varied depending on what chip you were talking about.

The C64 was a *fun* architecture... it's just a shame that everyone's first program had to be to write an assembler in raw machine language or in that horrific crippled dialect of MS BASIC. As a previous Sinclair ZX81 user, I was not tempted by the BASIC route at all! I'd seen a *real* BASIC, after all (and in the end Sinclair gave us SuperBASIC, which was very nearly a real language).

Copyright © 2013, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds