Side-by-side graphics/text windows
This blogpost is a partial-transcript of a discussion from Apple2Infinitum on Slack, which was spawned from an even older Facebook thread. Since it isn't easy to view the old discussions on Slack and Facebook, I've copy-pasted the messages, pictures, and code blocks below...
Scott Elliott Sep 3rd 11:29:17 AM
Here are pictures of the "window toggle" program, which splits the screen into 10 vertical windows that can be independently toggled between text or graphics by pressing the keys 0-9. I've also included a hex dump of the whole program, and the two annotated pictures from my FB comments.
[EDIT: The emulator depicted in the last screencap can't actually execute this routine. That was just a disassembly for annotating the machine code.]
Scott Elliott Sep 3rd 11:33:01 AM
Here's a text version of that machine code. Type it into the monitor, start it with comment 300G<return>, then press number keys to individually toggle 10 side-by-side windows between text and graphcis modes.
Machine code for WindowToggle routine
0300- 20 7E 03 AD 57 C0 AD 54
0308- C0 AD 52 C0 AD 50 C0 2C
0310- 50 C0 10 FB A9 0A 38 E9
0318- 01 D0 FC EA EA CD 50 C0
0320- CD 50 C0 CD 50 C0 CD 50
0328- C0 CD 50 C0 CD 50 C0 CD
0330- 50 C0 CD 50 C0 CD 50 C0
0338- CD 50 C0 CD 50 C0 CD 50
0340- C0 CD 50 C0 CD 56 C0 EA
0348- AD 00 C0 10 D0 C9 9B D0
0350- 01 60 29 0F 24 06 2C 10
0358- C0 2C 10 C0 2C 10 C0 2C
0360- 10 C0 2C 10 C0 2C 10 C0
0368- 2C 10 C0 EA 85 3D 0A 38
0370- 65 3D AA BD 1D 03 49 01
0378- 9D 1D 03 D0 A0 60 A9 20
0380- 85 E6 85 3D A9 40 85 3F
0388- A0 00 84 3C 84 3E B1 3C
0390- 29 7F 91 3C 20 B4 FC 90
0398- F5 A9 40 85 3C 85 3D A5
03A0- 3C 20 11 F4 A0 00 B1 26
03A8- 09 80 91 26 E6 3C C6 3D
03B0- D0 ED 60
[EDIT: several comments skipped]
Scott Elliott Sep 23 9:57:43 AM
Yes, another version of the program let the user choose a different soft-switch for each region. It wasn't much fun to play with, so I didn't save it. But it demonstrated the timing quirks of each switch, causing some regions to appear as 5-colums or 3-columns, even though the switching always occurs on 4-cycle boundaries.
- S.Elliott's blog
- Log in or register to post comments