
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
> Der das LCD betreffende Abschnitt ist Quatsch mit Sauce. Das das nicht funktionierte, liegt am > Write Byteport2 Bug der OS-Version 2.01 und keineswegs daran, das die V2 "so schnell" ist. > Mit OS-Version 2.02 funktionieren auch die alten Basictreiber für die LCD Ansteuerung, sodaß > nur wenige, bei fehlen von Zeitschleifen und /oder Assemblerroutinen keine, Änderungen an > bestehenden Programmen vorgenommen werden müssen. > > Das ist nicht ganz unwichtig, wenn man alte Programme auf die Schnelle mit der > neuen Umgebung ausprobieren oder erweitern möchte. Supportseiten sollten Probleme > lösen, nicht durch falsche Erklärungen neue Probleme schaffen. Hallo.... Hier ist ein RIP aus einer Demo zur CC1. Bei mir geht sie übrigens NICHT ohne slowmode '-------------------------- '------ I/O PORTS --------- '-------------------------- define lcd_port byteport[2] define lcd_rs port[14] define lcd_rw port[13] define lcd_e port[15] '-------------------------- '---- SYSTEM MEMORY ------- '-------------------------- '---- LCD DRIVER ------------- define lcd_buf byte[14] define lcd_param byte[15] '----CONTROL COMPUTER INIT --- 'slowmode on gosub lcd_init #s gosub message1 pause 20:gosub lcd_cls:pause 20 goto s 'HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH 'HHHHHH DISPLAY MESSAGES HHHHHHHH 'HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH #message1 gosub lcd_cls lcd_param = 1 : gosub lcd_gotoline lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H54 : gosub lcd_writechar 'T lcd_param = &H52 : gosub lcd_writechar 'R lcd_param = &H58 : gosub lcd_writechar 'X lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H34 : gosub lcd_writechar '4 lcd_param = &H33 : gosub lcd_writechar '3 lcd_param = &H33 : gosub lcd_writechar '3 lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H20 : gosub lcd_writechar ' lcd_param = 2 : gosub lcd_gotoline lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H54 : gosub lcd_writechar 'T lcd_param = &H52 : gosub lcd_writechar 'R lcd_param = &H58 : gosub lcd_writechar 'X lcd_param = &H20 : gosub lcd_writechar ' lcd_param = &H44 : gosub lcd_writechar 'D lcd_param = &H45 : gosub lcd_writechar 'E lcd_param = &H4D : gosub lcd_writechar 'M lcd_param = &H4F : gosub lcd_writechar 'O return '--------------------------------------- '------------- LCD ROUTINES ------------- '---------------------------------------- #LCD_INIT ' alle ports 0 lcd_port = OFF ' 8-Bit-Modus aktivieren lcd_param=&H38 : gosub LCD_WRITECMD ' mit 8-Bit-Command in 4-Bit-Modus umschalten lcd_port=&B00000010 tog lcd_e tog lcd_e ' ab jetzt 4-Bit-Modus lcd_param = &H28 : gosub LCD_WRITECMD lcd_param = &H0C : gosub LCD_WRITECMD ' Display loeschen #LCD_CLS lcd_param = &H02 : gosub LCD_WRITECMD lcd_param = &H01 : gosub LCD_WRITECMD return ' Zeilenwechsel #LCD_GOTOLINE if lcd_param = 1 then lcd_param = &H80 if lcd_param = 2 then lcd_param = &HC0 goto LCD_WRITECMD ' LCD-Kommando #LCD_WRITECMD lcd_buf = OFF goto LCD_WRITE ' Zeichenausgabe #LCD_WRITECHAR lcd_buf = &B00100000 ' Kommando oder Zeichen an Display senden #LCD_WRITE lcd_port = lcd_buf or (lcd_param shr 4) ' Hi-Nibble tog lcd_e tog lcd_e lcd_port = lcd_buf or (lcd_param and &H0F) ' Lo-Nibble tog lcd_e tog lcd_e return |
| Antwort schreiben |