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