ReadMe for "What Time Is It?" Commodore 64 Version (C) Copyright 2008 Bill Buckels All Rights Reserved. Introduction - Apple IIe Version "What Time Is It?" was (and is) an Apple II program written by Canadian Software Developer Bill Buckels and was once distributed in the early 1990's by a publisher called Class Software in Winnipeg, Canada in both an English and a French Version. Class Software is now gone. "What Time Is It?" was intended for use as "CourseWare" in Canadian Classrooms for teaching Elementary School children how to "tell time" using various analog and digital clock representations. The French Version of "What Time Is It?" was (and is) called "Quelle heure est-il?". Both English and French Versions for the Apple IIe are available for free download as emulator diskimages at: http://www.clipshop.ca/DiskImages/ Introduction - Commodore 64 Version In early 2008 as part of his efforts to produce an Aztec C programming environment for the Commodore 64 (C64), complete with sample programs, the developer of the Apple II version of "What Time Is It?", Bill Buckels, decided that he would create an English-only version for the C64 as a demonstration program in the C programming language using an obsolete C64 compiler program called "Aztec C". This was the same language and the same make of compiler that he had used for his Apple II versions. During the time years before when he created the Apple II versions, "What Time Is It?" was one of the programs that he had purchased the C64 Aztec C compiler to produce. Due to an unfortunate chain of events at that time, programming the C64 version was never started, although some C64's were still in use in Canadian Schools. Bill's partner on the project (and friend and mentor) died of a heart attack, was revived, and has spent from that time to this recovering, so was not capable of delivering the C64 portion of the project which he had undertaken. As many of us know programming is a "team sport" and sometimes (sadly) a game needs to be postponed or called-off when one of the players (or in this case half the team) gets hurt. Bill decided not to produce the C64 version at that time. The Market disappeared for C64 programs almost immediately after. (The Apple IIe followed and vanished a year or so later from the Software Budgets in Canadian Schools). The idea of a C64 version of "What Time Is It?" (and the compiler to create it) were shelved and forgotten until recently. Although it is now sometime in 2008, and he had intended to have his partner write the C64 version almost 20 years ago using a compiler produced almost 25 years ago, Bill has finally produced the C64 version of "What Time Is It?" in Windows XP in less than 2 weeks of his spare time including the time required to prepare the C64 graphics and music. It runs nicely in the WinVICE C64 Emulator in Windows XP (it has never been tried on a real C64), and is as complete in every way as the other versions, accounting for differences between the C64, the Apple IIe, and the IBM-PC. It turned-out to be a good choice for an Aztec C64 production demo program. Also, for Bill, this now answers the question whether or not Aztec C for the C64 would have been capable of producing a comparable version of "What Time Is It?" to that of the Apple IIe. This was just one of those things that had to be done or he would never have really known the answer. There is now no doubt that Aztec C was the right tool for the job, and only the fickle finger of fate that took away the livelihood of his friend and partner prevented the release of "What Time Is It?" before today. History - Apple IIe "What Time Is It?" was originally developed for use on the IBM-PC by French Canadian "CourseWare" developers Denis Coulombe and Robert Boivin on behalf of Centre de recherche appliquée pour l'ordinateur (CRAPO) in 1989 and marketed to schools across Canada as part of a six program set called "Collection Les Petites espadrilles". Note: Espadrilles are casual flat sandals originating from the Pyrenees. In Quebec French, however, espadrilles is the usual term for running shoes. The Apple II version was written by Canadian Software Developer Bill Buckels on the IBM-PC in the C programing language using the Manx Aztec C 6502 Cross-Compiler for Apple IIe ProDOS 8. It was completed in mid-1991. Bill did not have the source code for the IBM-PC version of the program and it wouldn't have helped much anyway. The IBM-PC was a much more capable and sophisticated platform than the Apple II, so producing "What Time Is It?" for the Apple II required a complete rewrite "from the ground-up". The Manx C compiler provided a rudimentary Graphics Library, but came nowhere close to what Bill needed to complete "What Time Is It?" and the 3 other programs in the "Collection Les Petites espadrilles" that he had undertaken to write. So he set to work to create the graphics and the sound routines that the Apple versions needed to behave as closely as possible to their IBM-PC counterparts. The IBM-PC graphics of the day that CRAPO used (4 Colour CGA Mode) were vastly different from Apple II graphics (which were a coarser resolution), and each and every screen and graphics image needed to be redrawn, and reformatted for the Apple II. Using the Graphics from the IBM-PC version as a starting point, Bill developed his own Apple II graphics file formats and programmed his own set of conversion tools which he ran on the IBM-PC to produce the Apple II graphics after creating and editing these in IBM-PC format to suit the Apple II display. He did this in conjunction with writing his Manx C graphics library, since both tasks were complimentary. When the graphics images and graphics and sound library routines were completed he moved forward to writing the program. Not only did the Apple II have less capable graphics than the IBM-PC; it also ran more slowly with only 128K of memory, some of it unusable, and with slower disk access and a smaller floppy disk size. To overcome all of this Bill broke his Manx C Apple programs into small modules called "overlays" which ran in very little memory, and he used the upper ram bank of the Apple II to store his graphics libraries and other data to avoid loading from disk where possible. Since the Manx C compiler translates its programs into machine language which runs as quickly as can be on the Apple II, no optimization or additional "tweaks" were required, except to script the game levels using external scripts (also of Bill's design) which further saved on disk space and program memory, and which avoided slow processor intensive operations that would otherwise have been needed. The finished result ran more slowly than its IBM-PC counterpart, but for all practical purposes, "What Time Is It?" for the Apple II had all the same functionality. Recent History - Apple II In mid-2007 Bill Buckels resurrected the Apple IIe versions of his programs from "Collection Les Petites espadrilles". and released them as Apple II Emulator DiskImages, rebranding them "The Little Running Steps Collection". Although Bill is the sole author and also the architect, the designer, and the programmer of the Apple IIe English and French versions of "What Time Is It?" and the other 3 programs in the "The Little Running Steps Collection", he still includes the two Quebeckers' names who wrote the IBM-PC versions on his title screens, listed in blue below his own. History - Commodore 64 In December 2007 after resurrecting his C64 Aztec C compiler, Bill Buckels set to work to produce a C64 programming environment that would provide equal capabilities within the C64's limitations and features as to what he had prepared many years before for Apple IIe programming in Aztec C. After completing the C64 environment in less than a 3 month period, he was finally able to produce a C64 version of "What Time Is It?" as complete in every way as the other versions, accounting for differences between the C64, the Apple IIe, and the IBM-PC (as noted above). In fact the C64 Version runs at the same speed as the Apple IIe version in less memory, with equal or better graphics, and better sound. Some of the techniques that he used to save space on the Apple IIe are the same, such as the use of overlays and some C64 techniques are more efficient memory-wise, like the use of compressed graphics. He wrote additional tools as well that were similar to the tools on the Apple IIe that allowed the embedding of graphics, sound, and even fontsets and cursors directly in the program. The Aztec C Compiler for the C64 is not as sophisticated as its Apple IIe counterpart, and provided no Graphics Library or Sound Routines at all. All this was written "from scratch" for the C64. Despite all that, which after all these years is a given more than a surprise, Aztec C was still equal to the task and was close-enough to the Apple IIe version, that the re-use of many routines from the Apple version was possible with fix-ups for the differences between the two machines. Because he had already designed the architecture to run in a low memory environment, in many ways the C64 version is a "port" and an optimization of the Apple IIe version, which in turn was an optimized but original rewrite of the IBM-PC version that he never saw the source code for. System Requirements - Commodore 64 Version "What Time Is It?" requires a Commodore with 64K of memory and a floppy disk. It runs under the BASIC 2 Operating System. It can also be run from a disk image file in an C64 emulator. It has been tested in Windows XP using WinVICE, and probably works in others using the d64 diskimage format. Starting "What Time Is It?" Put the "What Time Is It?" disk in the floppy drive and start the computer. Type LOAD "*",8" and press [Return]. After the program loads, type "RUN" and press [Return] and wait until the Main Menu Screen appears. If you are running "What Time Is It?" in an emulator, follow the same basic steps. In WinVICE just click-on the diskimage if you have file associations set, or select it from within WinVICE and autostart, or from within your cmd window if you have file associations set, type time.d64 and press enter and it will autostart. Keys and Navigation The Arrow Keys are used to navigate the menus and to select choices during activities (Game Play). The [RETURN] Key or the Space Bar can be interchangeably used to enter selections. The X Key is used to return to the Main Menu and to Exit the program. The Sound Toggle Key - S toggles the sound on or off at the Main Menu or during any of the activities. The 3 Key - Pressing the number 3 at the Main Menu will use 3 digital clocks for the first 10 screens of multiple choice answers during activities (Game Play). This is "level 1". After the first 10 screens, 5 digital clocks will be used. This is "level 2". The 5 Key - Pressing the number 5 at the Main Menu will use 5 digital clocks for 20 screens of multiple choice answers during activities (Game Play). This effectively skips "level 1" and goes directly to "level 2". Note: Each time the Main Menu is displayed the default of 3 digital clocks is reset. There should be no need to press the 3 key unless the 5 key has been pressed and needs to be reset back to 3 digital clocks before starting a new activity (Game). The AlphaNumeric Keyboard keys are used where required to enter information during activities (Game Play) in all programs in the "Collection Les Petites espadrilles" including "What Time Is It?". A mouse is not supported. Title Screen When the program loads the Title Screen will display during loading, then the Main Menu will appear when the program starts after it is loaded. Main Menu Screen "What Time Is It?" has 3 Learning Activities (Games) which can be selected from the Main Menu by moving the Snail Cursor with the Arrow Keys to the desired activity then started by pressing the [RETURN] Key. Each Learning activity is a Game based on a different type of analog clock formatted as a series of 20 screens presenting the time on the analog clock as a question and 3 or 5 multiple choice answers in digital clock format. For the first 10 screens 3 digital clocks are displayed. This is "level 1". For the following 10 screens 5 digital clocks are displayed. This is "level 2". The student selects the answer for each screen, and when 10 screens are complete, the Student is presented with a musical reward. After the reward for completing 20 screens, the student is returned to the Main Menu. Activities followed by musical rewards is the basic format of all the programs in the "Collection Les Petites espadrilles". The fourth Main Menu choice exits the Main Menu and ends the program and returns to BASIC. It is the equivalent of pressing the X Key. Sound can be toggled on or off at the Main Menu or during any of the activities by pressing S. Activity 1: 12 Hour Analog Clock - Hours Only Background The 12-hour clock is a convention of time keeping in which the day runs from midnight to noon, then from noon to midnight, and is divided into 2 periods of 12 hours, numbered from 0 to 12. The 12-hour clock is only dominant in a handful of countries, particularly the United States and Canada (except Quebec). The 24-hour clock is the most commonly used time notation in the world today. Game Play This activity teaches hours in the 12-hour clock time format. For each screen, a random time is displayed on the 12-hour analog clock. To the right of the analog clock is a multiple choice menu of different times in digital clock format, with only one that matches the time that is displayed on the analog clock. For each screen, when the Snail Cursor is to moved to the digital clock that matches the analog clock, and the [RETURN] Key is pressed, a section of the Drain Pipe on the left of the screen will fill with water. For every 10 screens the water will empty from the drain pipe, and give the Snail a "bath". Activity 2: 24 Hour Analog Clock - Hours Only Background The 24-hour clock is a convention of time keeping in which the day runs from midnight to midnight and is divided into 24 hours, numbered from 0 to 23. This system is the most commonly used time notation in the world today. The 12-hour clock is only dominant in a handful of countries, particularly the United States and Canada (except Quebec). 24-hour notation is in the US and Canada also referred to as military time or astronomical time, and in Australia as army time. In some parts of the world, it is called railway time. It is also the international standard notation of time (ISO 8601). Game Play This activity teaches hours only in the 24-hour clock time format. For each screen, a random time is displayed on the 24-hour analog clock. The analog clock is in the form of a "cuckoo clock". To the right of the analog clock is a multiple choice menu of different times in digital clock format, with only one that matches the time that is displayed on the analog clock. For each screen, when the Snail Cursor is to moved to the digital clock that matches the analog clock, and the [RETURN] Key is pressed, a section of the Hour Glass on the left of the screen will fill with sand. After the first 10 screens ("level 1") the hourglass will be half-filled with sand and the cuckoo will come out of the clock and "sing". After the next 10 screens ("level 2") the hourglass will be completely filled with sand and the cuckoo will come out of the clock and "sing", then the student will be returned to the Main Menu. To make the activity more challenging in "level 2", the higher-order numbers on the clock face will disappear every time the time changes. If the wrong answer is pressed however, they re-appear until the time changes again. Activity 3: 12 Hour Analog Clock - Hours and Minutes Background The other two activities in "What Time Is It?" present time in an "Hours Only" format. Adding a second objective of minutes introduces an additional base of 60 to the base 12 and base 24 arithmetic that the student must perform in order to tell time in hours. The approach that "What Time Is It?" uses is to break the minutes into 5 minute intervals which allows the student to count by 5's and 10's to gain a relative framework for the base 60 arithmetic that minutes and seconds require. Game Play This activity teaches hours and minutes in 5 minute intervals. For each screen, a random time is displayed on the analog clock. To the right of the analog clock is a multiple choice menu of different times in digital clock format, with only one that matches the time that is displayed on the analog clock. For each screen, when the Snail Cursor is to moved to the digital clock that matches the analog clock, and the [RETURN] Key is pressed, a light bulb on the left of the screen will be "turned-off". There are 10 light bulbs. After the first 10 screens ("level 1") all the light bulbs will be turned-off and the Snail will take a "bite" out of the apple on the lower left of the screen, and an angry worm will appear from the apple, music will play, and all the light bulbs will re-appear. After the next 10 screens ("level 2") all the light bulbs will be turned-off again and the Snail will take another "bite" out of the apple on the lower left of the screen, then the student will be returned to the Main Menu. End of ReadMe