SD2IEC

Downloads:

Version 0.6d sources based on SD2IEC 0.6.6: sd2iec_lcd_06d_src atmega32_larsp
Version 0.6d binaries based on SD2IEC 0.6.6:
sd2iec_lcd_06d_bin_atmega32_larsp

Version 0.8d sources based on SD2IEC 0.8.0: sd2iec_lcd_08d_src atmega32_larsp
Version 0.8d binaries based on SD2IEC 0.8.0:
sd2iec_lcd_08d_bin_atmega644_larsp
 

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$(8)+CHR$(8)+CHR$(8)
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