a2stuff / a2d

Disassembly of the Apple II Desktop - ProDOS GUI
https://a2desktop.com
277 stars 20 forks source link

MGTK video drivers #59

Open eric-ja opened 6 years ago

eric-ja commented 6 years ago

Isolate/abstract the parts of MGTK that deal directly with video hardware, in order to provide support for other modes/platforms.

Possible targets:

eric-ja commented 6 years ago

There are 4 main code areas that deal directly with screen memory:

1. Pattern fill/blitting

2. Text drawing

3. Cursor drawing and animation

4. Pull-down menu save-behind buffer

JohnMBrooks commented 6 years ago

Another good option is to make a smaller/faster 80-column mousetext-based lib, like Apple's original MTx lib for Apple Pascal, or as used in the text-based Finder util MouseFiler.

Mousetext UI would load faster and be more snappy than DHR.

eschaton commented 6 years ago

Just as Apple shipped (and documented!) the MouseGraphics ToolKit, they also shipped the MouseText ToolKit, with many of the same APIs so it was straightforward to port from MouseText to MouseGraphics.

(I’ve actually been puzzled by the amount of work being put into reversing MGTK when the information is available…)

eric-ja commented 6 years ago

@eschaton The goal is not just the API but a complete understanding of the code and a basis for further dev work.

We do have some official docs and headers for MGTK (they are not 100% accurate.)

inexorabletash commented 6 years ago

Heh, I stopped most of my work on MGTK when I began to suspect it was a separate library. Then some other pesky contributors started with the awesome PRs... :)