Subversion Repositories ngs

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

├Ёєяяр NedoPC Ёрфр яЁхфёЄртшЄ№ тр°хьє тэшьрэш■  ЄЁры ы  ┬╧╚╤└╥▄ ╨┼╩╦└╠╙! :).
NeoGS (NGS)
old general sound (ogs)


╩ЁрЄъшх Єхїэшўхёъшх їрЁръЄхЁшёЄшъш:

 - яюыэр  яЁюуЁрььэр  ёютьхёЄшьюёЄ№ ё ogs
 - ушсър  рЁїшЄхъЄєЁр, юёэютрээр  эр fpga
 - 2 ьхурсрщЄр RAM
 - 512 ъшыюсрщЄ flash-ROM
 - Ёрё°шЁхээ√х ёяюёюс√ рфЁхёрЎшш ярь Єш: 2 юъэр яЁюхЎшЁютрэш , яюыэюх шёъы■ўхэшх ROM шч рфЁхёэюую яЁюёЄЁрэёЄтр
 - Z80 ё яхЁхъы■ўрхьющ ўрёЄюЄющ (10, 12, 20 ш 'ЄєЁсю'-24 ╠├Ў)
 - 8 ряярЁрЄэ√ї чтєъют√ї ърэрыют ё уЁюьъюёЄ ьш (т 2 Ёрчр сюы№°х, ўхь є ogs)
 - mp3-фхъюфхЁ (рэрыюу vs1001) ё ряярЁрЄэ√ь SPI фы  яхЁхё√ыъш фрээ√ї
 - шэЄхЁЇхщё SD-card ё ряярЁрЄэ√ь SPI фы  яхЁхё√ыъш фрээ√ї.
 - DMA-фюёЄєя ёяхъЄЁєьр т ярь Є№ NGS (яхЁхё√ыър фрээ√ї ьхцфє ёяхъЄЁєьюь ш NGS ъюьрэфрьш LDI, LDIR ш яюфюсэ√ьш)
 - тючьюцэюёЄ№ яюыэюёЄ№■ ртЄюэюьэющ ЁрсюЄ√ (яЁюшуЁ√трэшх ьюфєыхщ ш mp3-Їрщыют ё SD-ърЁЄюўъш яю яыхщышёЄє, яЁш ¤Єюь
   ёсЁюё ёяхъЄЁєьр эх тыш хЄ эр NGS)

╟тєъют√х тючьюцэюёЄш яю ёЁртэхэш■ ё ogs чэрўшЄхы№эю єтхышўхэ√: ЄхяхЁ№ яЁръЄшўхёъш ы■сющ ёє∙хёЄтє■∙шщ 4-ърэры№э√щ
ьюфєы№ яюьхёЄшЄё  т ярь Єш NGS. ╨рё°шЁхээюх ўшёыю ряярЁрЄэ√ї ърэрыют ш єтхышўхээр  ўрёЄюЄр Z80 яючтюы ■Є яЁюшуЁ√трЄ№ ъръ 8-ърэры№э√х
ьюфєыш, Єръ ш юфэютЁхьхээю ьєч√ъє ш чтєъют√х ¤ЇЇхъЄ√ схч юЄъы■ўхэш  ърэрыют ьєч√ъш. mp3-фхъюфхЁ тьхёЄх ё эюёшЄхыхь
SD-card яючтюы Є т√тхёЄш ючтєўъє эр ърўхёЄтхээю эют√щ єЁютхэ№. ═ръюэхЎ, NGS фхщёЄтшЄхы№эю (т юЄышўшх юЄ ogs)
ьюцхЄ ЁрсюЄрЄ№ ъръ т√ёюъюяЁюшчтюфшЄхы№э√щ ръёхыхЁрЄюЁ, шьх■∙шщ °шЁюъшщ DMA-ърэры юсьхэр фрээ√ьш ёю ёяхъЄЁєьюь.
╩Ёюьх Єюую, DMA-ърэры яючтюы хЄ чэрўшЄхы№эю ёюъЁрЄшЄ№ тЁхьхэр чруЁєчъш чтєъют√ї фрээ√ї т NGS.


═шцх яЁштюфшЄё  ъЁрЄъюх юяшёрэшх фюяюыэшЄхы№э√ї тючьюцэюёЄхщ NGS ё Єюўъш чЁхэш  яЁюуЁрььшёЄр. ╧Ёш ¤Єюь
яЁхфяюырурхЄё , ўЄю ўшЄрЄхы№ шьххЄ  ёэюх яЁхфёЄртыхэшх ю рЁїшЄхъЄєЁх ogs.


─х°шЇЁрЎш  яюЁЄют ёю ёЄюЁюэ√ ёяхъЄЁєьр, т юЄышўшх юЄ ogs, т√яюыэхэр яю яюыэюьє ьырф°хьє срщЄє рфЁхёр, яЁш ¤Єюь
ёшуэры IORQGE, юя Є№ цх т юЄышўшх юЄ ogs, т√фр╕Єё  ╥╬╦▄╩╬ эр юёэютх рфЁхёр ш ръЄштхэ ъръ яЁш чряшёш т яюЁЄ√, Єръ
ш яЁш ўЄхэшш шч эшї.

╧юЁЄ√ $B3 ш $BB яютЄюЁ ■Є ЇєэъЎшюэры№эюёЄ№ ogs.

┬ ърЁЄє яюЁЄют фюсртыхэ яюЁЄ $33 ё ЇєэъЎшхщ ёсЁюёр NGS ш т√фрўш яЁюЎхёёюЁє NGS эхьрёъшЁєхьюую яЁхЁ√трэш :
 яЁш т√тюфх т эхую ўшёыр $80 яЁюшёїюфшЄ ёсЁюё NGS. ╧Ёш т√тюфх $40 - яЁюЎхёёюЁє NGS т√фр╕Єё  NMI.



┬эєЄЁхээшх яюЁЄ√ NGS (яхЁхўшёыхэ√ Єюы№ъю юЄышўр■∙шхё  юЄ яюЁЄют ogs яю ЇєэъЎшюэры№эюёЄш, ышсю тэют№ фюсртыхээ√х):

$40-$FF - яюЁЄ√, шёяюы№чє■∙шхё  яЁш эрўры№эющ ъюэЇшуєЁрЎшш FPGA, эх фюыцэ√ шёяюы№чютрЄ№ё  яЁш эюЁьры№эющ ЁрсюЄх яЁюуЁрьь NGS.

яюЁЄ $00, чряшё№ - рфЁхёрЎш  Ёрё°шЁхэр фю 2 ьхурсрщЄ (сшЄ√ 5..0: 64 ёЄЁрэшЎ√ яю 32 ъшыюсрщЄр)

яюЁЄ $0F, чряшё№ ш ўЄхэшх (Єюую, ўЄю чряшёрэю).

 bit 0 - NO ROM bit: 1 - яюфъы■ўхэр Єюы№ъю R└╠,
                     0 - $4000-$7fff R└╠, юёЄры№эюх FLASH ёю ёЄЁрэшЎрьш Єръшьш цх ъръ RAM.

 bit 1 - RAM RO bit: 1 - ёЄЁрэшЎр 0 RAM (рсёюы■Єэ√х рфЁхёр 0..32767) чр∙ш∙хэр юЄ чряшёш (¤ьєы Ўш  ROM ogs)
                     0 - эх чр∙ш∙хэр юЄ чряшёш.

 bit 2 - 8 channels bit: 1 - 8 чтєъют√ї ърэрыют
                         0 - 4 ърэрыр (ъръ т ogs).

 bit 3 - extended paging mode bit: 1 - Ёрё°шЁхээ√щ Ёхцшь ёЄЁрэшЎ (ёь. эшцх)
                                   0 - ярь Є№ яхЁхъы■ўрхЄё  ъръ т ogs

 bit 4,5 - z80 overclocking bits: 00 - Z80 ЁрсюЄрхЄ эр ўрёЄюЄх 24╠├Ў
                                  01 - Z80 ЁрсюЄрхЄ эр ўрёЄюЄх 12╠├Ў
                                  10 - Z80 ЁрсюЄрхЄ эр ўрёЄюЄх 20╠├Ў
                                  11 - Z80 ЁрсюЄрхЄ эр ўрёЄюЄх 10╠├Ў

 bits 6,7 - эхшёяюы№чєхь√х: эх юяЁхфхыхэ√ яЁш ўЄхэшш, фюыцэ√ єёЄрэртыштрЄ№ё  т эюы№ яЁш чряшёш


яюЁЄ $10, чряшё№. ╨рё°шЁхээ√щ яюЁЄ ёЄЁрэшЎ, шёяюы№чєхЄё , ъюуфр extended paging mode bit = 1

 ╠юфхы№ ёЄЁрэшЎ т Ёрё°шЁхээюь Ёхцшьх Єръютр:
 яюЁЄ $00 - ёЄЁрэшЎр (16ъ ъєёюъ), тъы■ўхээр  яю рфЁхёрь $8000-$bfff
 яюЁЄ $10 - ёЄЁрэшЎр (16ъ ъєёюъ), тъы■ўхээр  яю рфЁхёрь $c000-$ffff

─ы  2 ьхурсрщЄ ярь Єш ёє∙хёЄтєхЄ тёхую 128 ёЄЁрэшЎ яю 16 ъшыюсрщЄ, яЁюэєьхЁютрээ√ї ўшёырьш юЄ 0 фю 127.

╚ьх  эюьхЁ Єръющ ёЄЁрэшЎ√ т A, фхырхь RRCA ш т√тюфшь Ёхчєы№ЄрЄ т яюЁЄ $00 шыш $10, тъы■ўр  ёЄЁрэшЎє ё чрфрээ√ь эюьхЁюь
т ёююЄтхЄёЄтє■∙хх юъэю яЁюхЎшЁютрэш .


яюЁЄ√ $16-$19, чряшё№. ╙ёЄрэютър уЁюьъюёЄш т ърэрырї 5-8

 ▌Єш ърэры√ ёє∙хёЄтє■Є Єюы№ъю т Ёхцшьх, ъюуфр 8 channels bit = 1. ┬ Ёхцшьх 4 ърэрыют
 яЁш чряшёш фрээ√ї т ърэры√ 1-4 ¤Єш фрээ√х ртЄюьрЄшўхёъш ъюяшЁє■Єё  т ърэры√ 5-8, Є.ю. уЁюьъюёЄ№ ърэрыр
 т 4-ърэры№эюь Ёхцшьх сюы№°х, ўхь т 8-ърэры№эюь.


╩ръ шчтхёЄэю, т ogs чряшё№ юЄёў╕Єр т ╓└╧ ърэрыр яЁюшёїюфшЄ ўЄхэшхь ¤Єюую юЄёў╕Єр шч ярь Єш:

 ╧Ёш ўЄхэшш ё рфЁхёют $6000-$60FF ёўшЄрээ√щ срщЄ шф╕Є т ╓└╧ 1юую ърэрыр.
 ╧Ёш ўЄхэшш ё рфЁхёют $6100-$61FF - т ╓└╧ 2юую ърэрыр
 $6200-$62FF - 3хую ърэрыр
 $6300-$63FF - 4юую ърэрыр
 $6400-$64FF - ёэютр 1юую ърэрыр ш Єръ фрыхх фю $7F00-$7FFF - шф╕Є т 4√щ ърэры.

┬ 8-ърэры№эюь Ёхцшьх ¤Єр ёїхьр ьюфшЇшЎшЁєхЄё  юўхтшфэ√ь юсЁрчюь:

 $60xx - 1√щ
 $61xx - 2ющ
 $62xx - 3
 $63xx - 4
 $64xx - 5
 $65xx - 6
 $66xx - 7
 $67xx - 8
 $68xx - 1
 ш Єръ фрыхх фю $7Fxx.

╨рёяЁхфхыхэшх ърэрыют яю ёЄхЁхюярэюЁрьх:

ърэры√ 1,2,5,6 - ыхт√х
ърэры√ 3,4,7,8 - яЁрт√х



 MP3 ш SD-card

─ы  ёт чш ё MP3-фхъюфхЁюь (ma8201, рэрыюу vs1001) шёяюы№чєхЄё 
2 ърэрыр spi. ╧хЁт√щ ЁрсюЄрхЄ Єюы№ъю эр яхЁхфрўє, яхЁхфр╕Є
эхяюёЁхфёЄтхээю mp3-фрээ√х. ┬ЄюЁющ - єяЁрты ■∙шщ, фтєэряЁртыхээ√щ.

─ы  ёт чш ё SD-ърЁЄюўъющ шёяюы№чєхЄё  1 spi-ърэры.

╧хЁхфрўр срщЄр юёє∙хёЄты хЄё  яєЄ╕ь хую чряшёш т ёяхЎшры№э√щ яюЁЄ яхЁхфрўш, рёёюЎшшЁютрээ√щ
ё фрээ√ь SPI-ърэрыюь, ўЄю шэшЎшшЁєхЄ Ўшъы юсьхэр. ╧Ёшэ Є√щ т ¤Єюь юсьхэх срщЄ (фы  фтєэряЁртыхээюую
ърэрыр SPI) фюёЄєяхэ т яюЁЄх ўЄхэш . ╩Ёюьх Єюую, тючьюцэю ўЄхэшх ё яхЁхчряєёъюь юсьхэр (яЁш╕ь ёхъЄюЁр шч
SD-ърЁЄюўъш сєфхЄ т√уы фхЄ№ ъръ INIR:INIR, яхЁхфрўр - OTIR:OTIR).



 DMA

╤ю ёЄюЁюэ√ ёяхъЄЁєьр DMA-ърэры ё NGS т√уы фшЄ ъръ ъєёюъ ярь Єш, яюфёЄрты хь√щ NGS тьхёЄю ╧╟╙ ёяхъЄЁєьр яЁш
ўЄхэшш шыш чряшёш фрээ√ї яю рфЁхёрь $0000-$3FFF яЁш тъы■ў╕ээюь ╧╟╙ (ръЄштхэ ёшуэры /CSROM эр zx-bus).

╬сьхэ яЁюшёїюфшЄ ёыхфє■∙шь юсЁрчюь:

═р сюЁЄє NGS хёЄ№ рфЁхёэ√щ єърчрЄхы№, ЁхушёЄЁ ўЄхэш  ш ЁхушёЄЁ чряшёш.
┼ёыш яЁш тъы■ўхээюь Ёхцшьх DMA ёяхъЄЁєь ўшЄрхЄ шч юсырёЄш $0000-$3FFF
(ъюэъЁхЄэ√щ рфЁхё т ¤Єшї яЁхфхырї эх шьххЄ чэрўхэш ) яЁш тъы■ўхээюь ╧╟╙, Єю яЁюшёїюфшЄ ёыхфє■∙хх:

1. ╧╟╙ сыюъшЁєхЄё  ёшуэрыюь RDROM zx-bus.
2. NGS т√фр╕Є эр ╪─ ёяхъЄЁєьр ёюфхЁцшьюх ЁхушёЄЁр ўЄхэш 
3. NGS шэшЎшшЁєхЄ Ўшъы DMA т ёюсёЄтхээє■ ярь Є№ т√фрўхщ /BUSRQ эр яЁюЎхёёюЁ NGS; яюёых яюыєўхэш  /BUSAK эр ╪└ NGS т√ёЄрты хЄё 
   ёюфхЁцшьюх рфЁхёэюую єърчрЄхы  ш яЁюшёїюфшЄ ўЄхэшх ¤Єюую рфЁхёр, яЁюўшЄрээ√щ срщЄ ёюїЁрэ хЄё  т ЁхушёЄЁх ўЄхэш , р рфЁхёэ√щ
   єърчрЄхы№ шэъЁхьхэЄшЁєхЄё .

яЁюЎхёё√ 1-2 ш 3 шфєЄ ярЁрыыхы№эю Єръшь юсЁрчюь, ўЄю ёяхъЄЁєь яЁшэшьрхЄ срщЄ, ёўшЄрээ√щ NGS шч ётюхщ ярь Єш т яЁхф√фє∙шщ Ўшъы.
╬фэръю хёыш т ьюьхэЄ ўЄхэш  ёяхъЄЁєьюь срщЄр NGS х∙╕ эх єёяхы хую яЁюўшЄрЄ№ шч ёюсёЄтхээющ ярь Єш, Єю ёяхъЄЁєьє т√ёЄрты хЄё  /WAIT.


╧Ёш чряшёш ёяхъЄЁєьюь т рфЁхёр $0000-$3FFF яЁюшёїюфшЄ ёыхфє■∙хх:

1. ╟ряшё√трхь√щ срщЄ ёюїЁрэ хЄё  т ЁхушёЄЁх чряшёш.
2. шэшЎшшЁєхЄё  Ўшъы DMA, т ъюЄюЁюь яю рфЁхёє єърчрЄхы  чряшё√трхЄё  яЁшэ Є√щ ёю ёяхъЄЁєьр срщЄ.

/WAIT рэрыюушўэю т√фр╕Єё  ёяхъЄЁєьє, хёыш яЁхф√фє∙хх чэрўхэшх ЁхушёЄЁр чряшёш х∙╕ эх ёюїЁрэхэю т ярь Єш NGS.

╧Ёш ЁрсюЄх Z80 ёяхъЄЁєьр эр ўрёЄюЄх 3.5╠├Ў, р NGS - эр ўрёЄюЄх 20 ╠├Ў /WAIT'√ т√фртрЄ№ё , ъръ яЁртшыю, эх сєфєЄ
яЁш ы■сющ яюёыхфютрЄхы№эюёЄш ўЄхэш  шыш чряшёш (т Єюь ўшёых ўхЁхч ёЄхъ).




╬╥╠└╟╩└ (disclaimer яю-рэуышщёъш ъюЄюЁ√щ):
┬ё  яЁштхф╕ээр  шэЇюЁьрЎш   ты хЄё  яЁхфтрЁшЄхы№эющ ш ьюцхЄ с√Є№ шчьхэхэр схч яЁхфєяЁхцфхэш .
╩юэхўэ√х ёяхЎшЇшърЎшш сєфєЄ фюёЄєяэ√ т ъюьяыхъЄх фюъєьхэЄрЎшш, яюёЄрты хьющ ё уюЄют√ьш єёЄЁющёЄтрьш NGS.




(c) 2008 NedoPC

╧ю тёхь тюяЁюёрь, ёт чрээ√ь ё рЁїшЄхъЄєЁющ NGS, яш°шЄх эр lvd.mhm@gmail.com шыш lvd@dgap.mipt.ru