|
SD2IEC
Introduction ============
SD2IEC LCD is my try to extend the SD2IEC/MCC2IEC controllers with a LCD display.
It is bases heavily on the SD2IEC firmware by Ingo Korb, who did a great job there!
Note that i made several modifications of the firmware. Ingo Korb is not responsible for any wanted or unwanted features of this firmware version.
Since this is a slightly unfinished fun project (sorry, not so much spare time at the moment) i am publishing it as it is in the hope that it will be useful.
There's no guarantee that the code works or that the suggested hardware modifications are correct. Use it on your own risk!
Additional Features ===================
* Version 0.6d is based on SD2IEC 0.6.6 and runs on ATMEGA32 or ATMEGA644 MCU * Version 0.8d is based on SD2IEC 0.8.0 and runs on ATMEGA644P MCU only (64KB)
* Display various information like - current path (D:<path>) - current D64 image (D:<Image.d64>) - file access (L/S/R:<file>) - error messages (E:<message>) - user defined messages - and a nice boot screen (-;
* Support HD 44780 compatible displays (2x16 or 2x20 chars)
Removed Features ================
I fitted in the LCD routines at the price of:
- No debug code (UART output) - No bootloader support on ATMEGA32 (sorry, not enough space)
Additional Commands available via IEC =====================================
XT* Text Commands -----------------
The display can be accessed from the c64! Use commands "XT1" and "XT2" to send text to display line 1 or 2. The addressed line will be cleared before text is printed.
Example 1 - send "Lightyears ahead!" to line1:
OPEN15,8,15,"XT1Lightyears ahead!"
The "XTC" command allows to send a control code followed by data, which makes it possible to program the display from the C64 side, e.g. define own characters.
Example2 - clear the screen:
OPEN15,8,15,"XTC"+CHR$(1) will clear the screen.
Example 3 - define a special character with a "heart" (line 2) and print it 3 times (line 3): 1 OPEN15,8,15 2 PRINT#15,"XTC"+CHR$(64)+CHR$(27)+CHR$(31)+CHR$(31)+CHR$(14)+CHR$(4)+CHR$(0)+CHR $(0) 3 print#15,"XT1"+CHR$( +CHR$( +CHR$( 4 CLOSE15
Display About Message ----------------------
The XA command shows a small about message:
Example:
OPEN15,8,15,"XA"
Display Greetings & Credits ---------------------------
The XG command shows the greetings and credits:
Example:
OPEN15,8,15,"XG"
Undocumented experimental feature ----------------------------------
The XX command is not documented. It might cause skynet to link all computers together to play a game of global thermonuclear war.
Maybe your C64 is not connected to skynet, so you'll give it a try. Good luck!
Example:
OPEN15,8,15,"XX"
LCD Hardware ============
Every HD 44780 compatible displays (2x16 or 2x20 chars) should work The display is accessed in 4-bit mode.
Different pinouts have to be used depending on the hardware variant of the SD2IEC / MMC2IEC device:
sd2iec V1.4 by Shadowolf (sw1 variant) MMC2IEC by Lars Pontoppidan (larsp variant) ------------------------------------------- (original design, also used by PCBs from Peter Sieg)
Display Atmega RS PB0 RW PB1 E PB2 DB4 PC4 DB5 PC5 DB6 PC6 DB7 PC7
sd2iec V1.6 by Shadowolf (sw2 variant) -------------------------------------- ATTENTION: I have not yet tested this pinout so it might be possible that it is not working. At least it will be hard to solder the display to PB0,PB1 and PB3 if using a TQFP44 mcu.
Display Atmega RS PB0 RW PB1 E PB3
DB4 PC4 DB5 PC5 DB6 PC6 DB7 PC7
For other variants please feel encouraged to change the lcd.h to suit your needs.
Credits =======
Ingo Korb alias for his great SD2IEC firmware. Shadowolf for his outstanding hardware designs running the SD2IEC firmware. Lars Pontoppidan for creating the MMC2IEC in the first place. Jim Brain & ChaN for basic code like IEC routines and FAT driver. Commodore for the good times.
Licence =======
This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; version 2 of the License only.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA |