Ôï ëïãéóìéêü ôïõ óõóôÞìáôïò äåí ðåñéãñÜöåôáé åäþ åîáíôëçôéêÜ, åíþ ïé áëãüñéèìïé äßíïíôáé ó÷çìáôéêÜ óå äéáãñÜììáôá ñïÞò. Óêïðüò ìáò åßíáé íá ðåñéãñáöåß ÷ùñßò êïõñáóôéêÝò ëåðôïìÝñåéåò ç ëåéôïõñãßá ôïõ óõóôÞìáôïò.
Ç âáóéêüôåñç äïìÞ ðïõ ÷ñçóéìïðïéåßôáé åßíáé ï "ðßíáêáò åöÝ" ðïõ äéáôçñåßôáé óôçí flash RAM($4000). Åêåß åßíáé áðïèçêåõìÝíá ìå óõãêåêñéìÝíï ôñüðï "óêçíÝò" ôùí ïðôéêþí åöÝ. ÊÜèå óêçíÞ ðåñéÝ÷åé ðëçñïöïñßåò ãéá 16 "öþôá" (ëÜìðåò, spots, ðñïâïëåßò, ñïìðïôéêÜ, laser, ê.ë.ð.) ð.÷. Üíáøå, óâÞóå, Üëëáîå ÷ñþìá ê.ë.ð. Ç ðëçñïöïñßá áõôÞ ðåñéÝ÷åôáé óå 32 bytes áíÜ æåýãç ôçò ìïñöÞò : address, data. ÓõíïëéêÜ ðåñéÝ÷ïíôáé 512 óêçíÝò óå 32 ïìÜäåò ôùí 16, äçëáäÞ 16Ê ðëçñïöïñßáò, üóç åßíáé ç flash RAM.
$4000 | ÓÊÇÍÇ 1 |
$4020 | ÓÊÇÍÇ 2 |
$4040 | ÓÊÇÍÇ 3 |
$4060 | ÓÊÇÍÇ 4 |
...... | |
...... | |
...... | |
$7F80 | ÓÊÇÍÇ 509 |
$7FA0 | ÓÊÇÍÇ 510 |
$7FC0 | ÓÊÇÍÇ 511 |
$7FE0 | ÓÊÇÍÇ 512 |
Áí ç address Ý÷åé most significant bit 0 ôüôå áíáöÝñåôáé óå óåéñéáêÞ èýñá êáé ôï data óôÝëíåôáé åêåß. Áí åßíáé 1, ôüôå áíáöÝñåôáé óå module ôïõ controller ïðüôå óôÝëíïíôáé óôçí CENTRONICS äéáäï÷éêÜ ç address êáé ôï data. Ì' áõôü ôïí ôñüðï ðåñéïñéæüìáóôå óå 128 modules ðïõ åßíáé üìùò áñêåôÜ. Ï ÷ùñéóìüò ôùí óêçíþí óå ïìÜäåò (32) ãßíåôáé ëüãù ôïõ music mode ëåéôïõñãßáò ðïõ ðåñéãñÜöåôáé ðéï êÜôù.
Ç ìåôáâëçôÞ mode ÷ñçóéìïðïéåßôáé ãéá ôçí äéÜêñéóç ôùí ôñüðùí ëåéôïõñãßáò. Ç test (áíé÷íåýåôáé óôï C port ôïõ 8255) äåß÷íåé áí ç ìç÷áíÞ åßíáé óå test mode (÷ñçóéìïðïéåßôáé ãéá Ýëåã÷ï) ç ü÷é. Ïé I, J, êáé × åßíáé âïçèçôéêïß ìåôñçôÝò.O F åßíáé ï óõíôåëåóôÞò äéáìüñöùóçò ôïõ tempo óå auto mode.
Ïé äõíáôïß ôñüðïé ëåéôïõñãßáò (modes) åßíáé ôñåéò :
Ç ìåôáâëçôÞ mode ðáßñíåé ìßá áð' áõôÝò ôéò ôéìÝò êáé ìðïñåß íá áëëÜîåé áð´ôï ôåñìáôéêü.
Ç êåíôñéêÞ ñïõôßíá ðïõ ôñÝ÷åé ôï óýóôçìá êÜíåé ðåñßðïõ ôá åîÞò:
Åäþ äßíïíôáé áñ÷éêÝò ôéìÝò óôéò âáóéêÝò ìåôáâëçôÝò.Ïé ìåôñçôÝò É,J,× ðáßñíïõí ôçí ôéìÞ 1. Ôï tempo ãßíåôáé 2 Çz (äçëáäÞ 120 b.p.s.) êáé ôï mode auto. ÔÝëïò ãßíïíôáé enable êÜèå åßäïõò interrupts.
Ç ñïõôßíá áõôÞ åêôåëåß Ýíá ðñïò Ýíá üëá ôá åöÝ (óêçíÝò) êõêëéêÜ ÷ùñßò íá óôáìáôÜ, Þ íá ìðáßíåé óå êáíïíéêÞ ëåéôïõñãßá. ÕðÜñ÷åé ìüíï ãéá Ýëåã÷ï.
Óôçí ïõóßá
õðïëïãßæåé ðïéï
óõãêåêñéìÝíï
åöÝ (óêçíÞ) ôïõ
ðßíáêá èá åêôåëåóôåß.Áõôü
èá åßíáé 32 åðß
ôïí áñéèìü ïìÜäáò
óõí áñéèìü
ìÝëïõò ôçò ïìÜäáò
áõôÞò. Êáôüðéí
åêôåëåßôáé
ç óõãêåêñéìÝíç
óêçíÞ.
ÁõôÞ åßíáé ìéá ðïëý óçìáíôéêÞ ñïõôßíá ãéáôß ïõóéáóôéêÜ öÝñåé üëï ôï âÜñïò ôçò ïäÞãçóçò ôùí öùôïñõèìéêþí, äçëáäÞ ôçò áðïóôïëÞò óå áõôÜ ðëçñïöïñéþí ãéá êÜðïéá áëëáãÞ óôç ëåéôïõñãßá ôïõò. Ïé ðëçñïöïñßåò áõôÝò âñßóêïíôáé óôïí ðßíáêá ôùí åöÝ. ÊÜèå óêçíÞ áðïôåëåßôáé áðü 16 æåýãç bytes, Ýíá ãéá êÜèå "öùôéóôéêÞ óõóêåõÞ" ðïõ åðçñåÜæåé. ÊÜèå æåýãïò åßíáé ìéá äéåýèõíóç (ôçò óõóêåõÞò) êáé Ýíá data ðïõ åßíáé ïõóéáóôéêÜ ç ïäçãßá ðñïò ôç óõóêåõÞ. Ç ñïõôßíá åëÝã÷åé ðïõ áíáöÝñåôáé ç äéåýèõíóç êáé óôÝëíåé ôï data.
Ôï ôåñìáôéêü êáé ôï mouse åßíáé ôá êýñéá åñãáëåßá ðïõ äéáèÝôåé ï ÷åéñéóôÞò ôïõ óõóôÞìáôïò ãéá íá ôï åëÝãîåé. Ï Ýëåã÷ïò ãéá ðéèáíÞ åíôïëÞ áð' ôï ôåñìáôéêü Þ ôï mouse ãßíåôáé ðïëý óõ÷íÜ êáé áìÝóùò ãßíåôáé åîõðçñÝôçóç. Äåí äßíåôáé åäþ ðåñéãñáöÞ ôïõ ôñüðïõ ðïõ ãßíåôáé áõôÞ ç åîõðçñÝôçóç ãéáôß êÜôé ôÝôïéï èá Þôáí ïãêþäåò êáé Ýîù áðü ôïõò óôü÷ïõò ìáò. ÃåíéêÜ ôï ôåñìáôéêü ìðïñåß íá êÜíåé ôá åîÞò :
Ôï mouse êÜíåé ðéï
åýêïëï ôï ÷åéñïêßíçôï
÷åéñéóìü.