Табличка:
Код:
Маппер памяти для Reverse, 1Mb по стандарту Пентагон
|----------------------------------------------------------------------------------------------||
| ВЫХОДЫ || ВХОДЫ | ПРИМЕЧАНИЯ ||
|-----------------------------------------------------------------|----------------------------||
| SRAM ADDR ||CPU ADR|| ROM || #7FFD | ||
|RA19|RA18|RA17|RA16|RA15|RA14||A15|A14||DOS|RS||D5|D7|D6|D2|D1|D0| ||
|-----------------------------------------------------------------|----------------------------||
| 0 | 0 | 1 | 0 | 0 | 0 || 0 | 0 || 0 |0 ||x |x |x |x |x |x | Basic128* ||
| 0 | 0 | 1 | 0 | 0 | 1 || 0 | 0 || 0 |1 ||x |x |x |x |x |x | Basic48* ||
| x | x | x | x | x | x || 0 | 0 || 1 |0 ||x |x |x |x |x |x | RAM_CS = 1** ||
| 0 | 0 | 1 | 0 | 1 | 0 || 0 | 0 || 1 |1 ||x |x |x |x |x |x | TR-DOS* ||
|-----------------------------------------------------------------|----------------------------||
| 0 | 0 | 0 | 1 | 0 | 1 || 0 | 1 || x |x ||x |x |x |x |x |x | Стандартно ||
| 0 | 0 | 0 | 0 | 1 | 0 || 1 | 0 || x |x ||x |x |x |x |x |x | Стандартно ||
|-----------------------------------------------------------------|----------------------------||
| 0 | 0 | 0 | C | B | A || 1 | 1 || x |x ||0 |0 |0 |C |B |A | Стандартно, первые 128Кб ||
|-----------------------------------------------------------------|----------------------------||
| 0 | 0 | 1 | 0 | B | A || 1 | 1 || 1 |0 ||0 |0 |1 |0 |B |A | Маппер, защита от записи***||
| 0 | 0 | 1 | 0 | B | A || 1 | 1 || 1 |0 ||0 |0 |1 |0 |B |A | Маппер, защита от записи***||
| 0 | 0 | 1 | 0 | B | A || 1 | 1 || 1 |0 ||0 |0 |1 |0 |B |A | Маппер, защита от записи***||
| 0 | 0 | 1 | 0 | 1 | 1 || 1 | 1 || 1 |x ||0 |0 |1 |0 |1 |1 | Маппер**** ||
|-----------------------------------------------------------------|----------------------------||
| 0 | 1 | D | C | B | A || 1 | 1 || 1 |x ||0 |1 |D |C |B |A | Маппер**** ||
| 1 | 0 | D | C | B | A || 1 | 1 || 1 |x ||1 |0 |D |C |B |A | Маппер**** ||
| 1 | 1 | D | C | B | A || 1 | 1 || 1 |x ||1 |1 |D |C |B |A | Маппер**** ||
|----------------------------------------------------------------------------------------------||
D,C,B,A - значение соответствующих разрядов порта #7FFD
* - запись запрещена!
** - используется внутренняя память FPGA
*** - При DOS=0 устанавливать RAM_CS в "1"! Защита записи (порт,разряд?; Where is Black Cat?!)
Идея следующая: в циклоне есть внутренняя память и это хорошо! По сбросу стартуем в нулевую банку ПЗУ, которая размещается во внеутренней памяти циклона. После сброса запись в страницы образа ПЗУ (помеченные ***) разрешена. Так как DOS после сброса равен единице, то из нулевой банки запись туда разрешена. Код в нулевой странице грузит с SD карты (спи-ром, астрала и т.д.) образ ПЗУ и например Fatall или WDC, устанавливает бит защиты записи для страниц с образом ПЗУ и передает управление... Куда нибудь, в меня128 или Fatall/WDC...