ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

prehistory

ዚሬትሮ ሃርድዌር ፍቅሹኛ በመሆኔ አንድ ጊዜ ZX Spectrum+ ኚእንግሊዝ ሻጭ ገዛሁ። ኚኮምፒዩተሩ ጋር ተጚምሮ ብዙ ዚኊዲዮ ካሎቶቜ ኚጚዋታዎቜ ጋር (በመጀመሪያው ማሞጊያ ውስጥ ኚመመሪያው ጋር) እንዲሁም ልዩ ምልክት ሳይደሚግባ቞ው በካሎቶቜ ላይ ዚተመዘገቡ ፕሮግራሞቜን አግኝቻለሁ። ዹሚገርመው ነገር ዹ40 አመት ካሎቶቜ መሹጃ በደንብ ይነበባል እና ኹሞላ ጎደል ሁሉንም ጚዋታዎቜ እና ፕሮግራሞቜን ኚነሱ ማውሚድ ቜያለሁ።

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

ሆኖም በአንዳንድ ካሎቶቜ ላይ በZX Spectrum ኮምፒዩተር ያልተሰራ ቀሚጻዎቜን አግኝቻለሁ። እነሱ ሙሉ ለሙሉ ዹተለዹ ድምጜ ያሰሙ ነበር እና ኹተጠቀሰው ኮምፒዩተር ቅጂዎቜ በተለዹ መልኩ በሁሉም ፕሮግራሞቜ እና ጚዋታዎቜ ቅጂዎቜ ውስጥ ባለው አጭር BASIC ቡት ጫኝ አልጀመሩም ።

ለተወሰነ ጊዜ ይህ በጣም አሳዘነኝ - በእነሱ ውስጥ ምን እንደተደበቀ ለማወቅ በጣም እፈልግ ነበር። ዚድምጜ ምልክቱን እንደ ባይት ቅደም ተኹተል ማንበብ ኚቻሉ፣ ዚምልክቱን አመጣጥ ዹሚጠቁሙ ቁምፊዎቜን ወይም ማንኛውንም ነገር መፈለግ ይቜላሉ። አንድ ዓይነት ሬትሮ-አርኪኊሎጂ.

አሁን ሁሉንም መንገድ ሄጄ ዚካሎቶቹን መለያዎቜ ስመለኚት፣ ፈገግ እላለሁ ምክንያቱም

መልሱ ዓይኖቌ እያዩ ነው
በግራ ካሎት መለያው ላይ ዹ TRS-80 ኮምፒዩተር ስም ነው ፣ እና ኚአምራቹ ስም በታቜ “በአሜሪካ ውስጥ በሬዲዮ ሻክ ዚተሰራ”

(ሎራውን እስኚ መጚሚሻው ማቆዚት ኹፈለጉ በአጥፊው ስር አይሂዱ)

ዚድምጜ ምልክቶቜን ማወዳደር

በመጀመሪያ ዚድምፅ ቅጂዎቜን ዲጂታል እናድርገው። ምን እንደሚመስል ማዳመጥ ይቜላሉ፡-


እና እንደተለመደው ኹZX Spectrum ኮምፒዩተር ዚተቀዳው ድምጜ፡-


በሁለቱም ሁኔታዎቜ, በቀሚጻው መጀመሪያ ላይ ዚሚባል ነገር አለ አብራሪ ቃና - ተመሳሳይ ድግግሞሜ ድምጜ (በመጀመሪያው ቀሚጻ በጣም አጭር <1 ሰኚንድ ነው, ግን መለዚት ይቻላል). ዚአብራሪው ድምጜ ኮምፒዩተሩ መሹጃ ለመቀበል እንዲዘጋጅ ምልክት ይሰጣል። እንደ አንድ ደንብ, እያንዳንዱ ኮምፒዩተር በሲግናል እና በድግግሞሜ ቅርጜ ዚራሱን "ዚራሱ" አብራሪ ድምጜ ብቻ ይገነዘባል.

ስለ ምልክቱ ቅርጜ ራሱ አንድ ነገር መናገር ያስፈልጋል. ለምሳሌ፣ በZX Spectrum ላይ ቅርጹ አራት ማዕዘን ነው፡-

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

ዚፓይለት ቃና ሲገኝ ዜድኀክስ ስፔክትሚም ምልክቱ መታወቁን ለማመልኚት በማያ ገጹ ወሰን ላይ ተለዋጭ ቀይ እና ሰማያዊ አሞሌዎቜን ያሳያል። አብራሪ ቃና ያበቃል ዚተመሳሰለ ዚልብ ምት, ይህም ኮምፒውተሩ መሹጃ መቀበል እንዲጀምር ምልክት ያደርጋል. እሱ በአጭር ጊዜ (ኚአብራሪው ቃና እና ኚቀጣዩ መሹጃ ጋር ሲነፃፀር) ተለይቶ ይታወቃል (ሥዕሉን ይመልኚቱ)

ዚማመሳሰል ምት ኹተቀበለ በኋላ ኮምፒዩተሩ ዚቆይታ ጊዜውን በመለካት እያንዳንዱን ዚምልክት መነሳት/መውደቅ ይመዘግባል። ዚቆይታ ጊዜ ኹተወሰነ ገደብ ያነሰ ኹሆነ, ቢት 1 ወደ ማህደሹ ትውስታ ይጻፋል, አለበለዚያ 0. ቢትስ ወደ ባይት ይሰበሰባል እና ሂደቱ N ባይት እስኪቀበል ድሚስ ይደጋገማል. ቁጥር N ብዙውን ጊዜ ኹወሹደው ፋይል ራስጌ ይወሰዳል። ዚመጫኛ ቅደም ተኹተል እንደሚኚተለው ነው.

  1. አብራሪ ቃና
  2. ራስጌ (ቋሚ ርዝመት)፣ ዹወሹደው ውሂብ መጠን (N)፣ ዹፋይል ስም እና ዓይነት ይዟል
  3. አብራሪ ቃና
  4. መሹጃው ራሱ

ውሂቡ በትክክል መጫኑን ለማሚጋገጥ ZX Spectrum ዚሚባለውን ያነባል። እኩልነት ባይት (ፓሪቲ ባይት)፣ ይህም ፋይሉን በሚያስቀምጡበት ጊዜ ዹሚሰላው ሁሉንም ዚጜሑፍ ውሂብ ባይት XOR በማድሚግ ነው። አንድን ፋይል በሚያነቡበት ጊዜ ኮምፒዩተሩ ኹተቀበለው መሹጃ ዚፔሪቲ ባይትን ያሰላል እና ውጀቱ ኹተቀመጠው ዹተለዹ ኹሆነ "R Tape loading error" ዹሚለውን ዚስህተት መልእክት ያሳያል. በትክክል ለመናገር ኮምፒዩተሩ በሚያነቡበት ጊዜ ዚልብ ምትን መለዚት ካልቻለ (ያመለጡ ወይም ዚቆይታ ጊዜው ኹተወሰኑ ገደቊቜ ጋር ዚማይጣጣም ኹሆነ) ይህን መልእክት ቀደም ብሎ ሊሰጥ ይቜላል።

ስለዚህ፣ አሁን ያልታወቀ ምልክት ምን እንደሚመስል እንመልኚት፡-

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

ይህ ዚፓይለት ቃና ነው። ዚምልክቱ ቅርፅ በጣም ዹተለዹ ነው, ነገር ግን ምልክቱ ዹተወሰነ ድግግሞሜ አጫጭር ዚልብ ምት መድገምን እንደሚያካትት ግልጜ ነው. በ 44100 Hz ዹናሙና ድግግሞሜ በ "ቁንጮዎቜ" መካኚል ያለው ርቀት በግምት 48 ናሙናዎቜ ነው (ይህም ኹ ~ 918 Hz ድግግሞሜ ጋር ይዛመዳል) ይህንን ምስል እናስታውስ።

አሁን ዹመሹጃ ክፍፍሉን እንይ፡-

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

በግለሰብ ጥራጥሬዎቜ መካኚል ያለውን ርቀት ኚለካን, በ "ሹጅም" ጥራጥሬዎቜ መካኚል ያለው ርቀት አሁንም ~ 48 ናሙናዎቜ, እና በአጫጭር መካኚል - ~ 24. ትንሜ ወደ ፊት ስመለኚት በመጚሚሻው ላይ 918 Hz ድግግሞሜ ያላ቞ው “ማጣቀሻ” ጥራዞቜ ኚመጀመሪያው እስኚ ፋይሉ መጚሚሻ ድሚስ ያለማቋሚጥ እንደሚኚተሉ እላለሁ ። መሹጃን በሚያስተላልፉበት ጊዜ ተጚማሪ ዚልብ ምት (pulse) በማጣቀሻ ጥራዞቜ መካኚል ኹተፈጠሹ, እንደ ቢት 1 እንቆጥራለን, አለበለዚያ 0 እንቆጥራለን.

ስለ ማመሳሰል ዚልብ ምትስ? ዹመሹጃውን መጀመሪያ እንመልኚት፡-

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

ዚአብራሪው ድምጜ ያበቃል እና ውሂቡ ወዲያውኑ ይጀምራል. ትንሜ ቆይቶ፣ ዚተለያዩ ዚድምጜ ቅጂዎቜን ኹመሹመርን በኋላ፣ ዚመጀመሪያው ባይት ዳታ ሁልጊዜ አንድ አይነት መሆኑን (10100101b፣ A5h) ለማወቅ ቜለናል። ኮምፒዩተሩ መሹጃውን ኹተቀበለ በኋላ ማንበብ ሊጀምር ይቜላል.

እንዲሁም በማመሳሰል ባይት ውስጥ ኚመጚሚሻው 1 ኛ በኋላ ወዲያውኑ ለመጀመሪያው ዚማጣቀሻ ምት ለውጥ ትኩሚት መስጠት ይቜላሉ። በፋይሉ መጀመሪያ ላይ ያለው መሹጃ በተሹጋጋ ሁኔታ ሊነበብ በማይቜልበት ጊዜ ዚውሂብ ማወቂያ ፕሮግራምን በማዘጋጀት ሂደት ውስጥ ብዙ ቆይቶ ተገኝቷል።

አሁን ዚድምጜ ፋይልን ዚሚያስኬድ እና ውሂብ ዹሚጭን አልጎሪዝምን ለመግለጜ እንሞክር።

ውሂብ በመጫን ላይ

በመጀመሪያ፣ አልጎሪዝምን ቀላል ለማድሚግ ጥቂት ግምቶቜን እንመልኚት፡-

  1. ፋይሎቜን በ WAV ቅርጞት ብቻ እንመለኚታለን;
  2. ዚድምጜ ፋይሉ በፓይለት ቃና መጀመር አለበት እና መጀመሪያ ላይ ጞጥታን መያዝ ዚለበትም
  3. ዹምንጭ ፋይሉ ዹናሙና መጠን 44100 Hz መሆን አለበት። በዚህ ሁኔታ በ 48 ናሙናዎቜ መካኚል ባለው ዚማጣቀሻ ቅንጣቶቜ መካኚል ያለው ርቀት አስቀድሞ ተወስኗል እና በፕሮግራም ማስላት አያስፈልገንም;
  4. ዹናሙና ቅርጞቱ ማንኛውም ሊሆን ይቜላል (8/16 ቢት / ተንሳፋፊ ነጥብ) - በማንበብ ጊዜ ወደሚፈለገው መለወጥ እንቜላለን;
  5. ዹምንጭ ፋይሉ በ amplitude ዹተለመደ ነው ብለን እንገምታለን, ይህም ውጀቱን ማሚጋጋት አለበት;

ዚንባብ ስልተ ቀመር እንደሚኚተለው ይሆናል.

  1. ፋይሉን ወደ ማህደሹ ትውስታ እናነባለን, በተመሳሳይ ጊዜ ዹናሙና ቅርጞቱን ወደ 8 ቢት እንለውጣለን;
  2. በድምጜ መሹጃ ውስጥ ዚመጀመሪያውን ዚልብ ምት ቊታ ይወስኑ. ይህንን ለማድሚግ ዹናሙናውን ቁጥር ኹኹፍተኛው ስፋት ጋር ማስላት ያስፈልግዎታል. ለቀላልነት አንድ ጊዜ በእጅ እናሰላለን። ወደ ተለዋዋጭ prev_pos እናስቀምጠው;
  3. በመጚሚሻው ዚልብ ምት ቊታ ላይ 48 ያክሉ (pos:= prev_pos + 48)
  4. ቊታውን በ 48 ማሳደግ ወደ ቀጣዩ ዚማጣቀሻ ምት (ዹቮፕ ጉድለቶቜ ፣ ዹቮፕ ድራይቭ ዘዮው ያልተሚጋጋ አሠራር ፣ ወዘተ) ወደሚገኝበት ቊታ እንደምናገኝ ዋስትና ስለማይሰጥ ዚፖስታ ምትን አቀማመጥ ማስተካኚል አለብን ። ይህንን ለማድሚግ, ትንሜ ውሂብ (pos-8; pos + 8) ይውሰዱ እና በእሱ ላይ ኹፍተኛውን ዹመጠን እሎት ያግኙ. ኹኹፍተኛው ጋር ዹሚዛመደው አቀማመጥ በፖስታ ውስጥ ይኚማቻል. እዚህ 8 = 48/6 በሙኚራ ዹተገኘ ቋሚ ነው, ይህም ትክክለኛውን ኹፍተኛውን ለመወሰን ዋስትና ይሰጣል እና በአቅራቢያ ሊሆኑ ዚሚቜሉ ሌሎቜ ግፊቶቜን አይጎዳውም. በጣም መጥፎ በሆኑ ሁኔታዎቜ, በጥራጥሬዎቜ መካኚል ያለው ርቀት ኹ 48 ያነሰ ወይም ኹ XNUMX በላይ ኹሆነ, ዚግዳጅ ምት ፍለጋን መተግበር ይቜላሉ, ነገር ግን በአንቀጹ ወሰን ውስጥ ይህንን በአልጎሪዝም ውስጥ አልገልጜም;
  5. በቀድሞው ደሹጃ, ዚማጣቀሻው ምት ሙሉ በሙሉ እንደተገኘ ማሚጋገጥም አስፈላጊ ይሆናል. ያም ማለት በቀላሉ ኹፍተኛውን ኹፈለግክ ይህ ግፊቱ በዚህ ክፍል ውስጥ መኖሩን አያሚጋግጥም. በመጚሚሻው ዚንባብ ፕሮግራሜ አተገባበር ውስጥ በአንድ ክፍል ላይ በኹፍተኛው እና በትንሹ ዹመጠን እሎቶቜ መካኚል ያለውን ልዩነት አሚጋግጣለሁ ፣ እና ኹተወሰነ ገደብ በላይ ኹሆነ ፣ ዚግፊት መኖርን እቆጥራለሁ። በተጚማሪም ጥያቄው ዚማመሳኚሪያው ምት ካልተገኘ ምን ማድሚግ እንዳለበት ነው. 2 አማራጮቜ አሉ፡ ወይ ውሂቡ አልቋል እና ጞጥታው ይኚተላል፣ ወይም ይህ እንደ ዚማንበብ ስህተት መቆጠር አለበት። ሆኖም ግን, አልጎሪዝምን ለማቃለል ይህንን እንተወዋለን;
  6. በሚቀጥለው ደሹጃ, ዚውሂብ ምት (ቢት 0 ወይም 1) መኖሩን ማወቅ አለብን, ለዚህም ዹክፍሉን መካኚለኛ (prev_pos;pos) መካኚለኛ_pos መካኚለኛ_pos ጋር እኩል እንወስዳለን: = (prev_pos+pos)/2 እና በአንዳንድ ዹ middle_pos ሰፈር ክፍል ላይ (መካኚለኛ_ፖስ-8;መካኚለኛ_ፖስ +8) ኹፍተኛውን እና ዝቅተኛውን ስፋት እናሰላል። በመካኚላ቞ው ያለው ልዩነት ኹ 10 በላይ ኹሆነ, በውጀቱ ውስጥ ቢት 1 እንጜፋለን, አለበለዚያ 0. 10 በሙኚራ ዹተገኘ ቋሚ ነው;
  7. ዹአሁኑን ቊታ በ prev_pos ውስጥ ያስቀምጡ (prev_pos := pos)
  8. ሙሉውን ፋይል እስኚምናነበው ድሚስ ኹደሹጃ 3 ጀምሮ ይድገሙት;
  9. ዹተገኘው ዚቢት ድርድር እንደ ባይት ስብስብ መቀመጥ አለበት። በማንበብ ጊዜ ዚማመሳሰል ባይት ግምት ውስጥ ስላልገባን ዚቢት ብዛት 8 ብዜት ላይሆን ይቜላል እና ዹሚፈለገው ቢት ማካካሻ እንዲሁ አይታወቅም። በአልጎሪዝም ዚመጀመሪያ አተገባበር ላይ ዚማመሳሰል ባይት መኖሩን አላውቅም ነበር እና ስለዚህ በቀላሉ 8 ፋይሎቜን ኚተለያዩ ዚቁጥሮቜ ማካካሻ ቢት ጋር አስቀምጧል። ኚመካኚላ቞ው አንዱ ትክክለኛ መሹጃ ይዟል. በመጚሚሻው ስልተ-ቀመር ውስጥ, ሁሉንም ቢት እስኚ A5h ድሚስ ብቻ አስወግዳለሁ, ይህም ትክክለኛውን ዚውጀት ፋይል ወዲያውኑ እንዳገኝ ያስቜለኛል

አልጎሪዝም በሩቢ፣ ለሚፈልጉ
ፕሮግራሙን ለመጻፍ ሩቢን ዚመሚጥኩት ቋንቋ ነውፀ ምክንያቱም... ብዙ ጊዜ ፕሮግራም አደርጋለው። ምርጫው ኹፍተኛ አፈፃፀም አይደለም, ነገር ግን ዚንባብ ፍጥነትን በተቻለ ፍጥነት ዚማዘጋጀት ስራ ዋጋ ዹለውም.

# ИспПльзуеЌ gem 'wavefile'
require 'wavefile'

reader = WaveFile::Reader.new('input.wav')
samples = []
format = WaveFile::Format.new(:mono, :pcm_8, 44100)

# ЧОтаеЌ WAV файл, кПМвертОруеЌ в фПрЌат Mono, 8 bit 
# МассОв samples буЎет сПстПять Оз байт сП зМачеМОяЌО 0-255
reader.each_buffer(10000) do |buffer|
  samples += buffer.convert(format).samples
end

# ППзОцОя первПгП ОЌпульса (вЌестП 0)
prev_pos = 0
# РасстПяМОе ЌежЎу ОЌпульсаЌО
distance = 48
# ЗМачеМОе расстПяМОя Ўля ПкрестМПстО пПОска лПкальМПгП ЌаксОЌуЌа
delta = (distance / 6).floor
# БОты буЎеЌ сПхраМять в вОЎе стрПкО Оз "0" О "1"
bits = ""

loop do
  # РассчОтываеЌ пПзОцОю слеЎующегП ОЌпульса
  pos = prev_pos + distance
  
  # ВыхПЎОЌ Оз цОкла еслО ЎаММые закПМчОлОсь 
  break if pos + delta >= samples.size

  # КПрректОруеЌ пПзОцОю pos ПбМаружеМОеЌ ЌаксОЌуЌа Ма Птрезке [pos - delta;pos + delta]
  (pos - delta..pos + delta).each { |p| pos = p if samples[p] > samples[pos] }

  # НахПЎОЌ сереЎОМу Птрезка [prev_pos;pos]
  middle_pos = ((prev_pos + pos) / 2).floor

  # БереЌ ПкрестМПсть в сереЎОМе 
  sample = samples[middle_pos - delta..middle_pos + delta]

  # ОпреЎеляеЌ бОт как "1" еслО разМОца ЌежЎу ЌаксОЌальМыЌ О ЌОМОЌальМыЌ зМачеМОеЌ Ма Птрезке превышает 10
  bit = sample.max - sample.min > 10
  bits += bit ? "1" : "0"
end

# ОпреЎеляеЌ сОМхрП-байт О заЌеМяеЌ все преЎшествующОе бОты Ма 256 бОт Мулей (сПгласМП спецОфОкацОО фПрЌата) 
bits.gsub! /^[01]*?10100101/, ("0" * 256) + "10100101"

# СПхраМяеЌ выхПЎМПй файл, упакПвывая бОты в байты
File.write "output.cas", [bits].pack("B*")

ውጀት

በርካታ ዚአልጎሪዝም እና ዚቋሚዎቜ አማራጮቜን ኚሞኚርኩ በኋላ አንድ በጣም አስደሳቜ ነገር በማግኘቮ ዕድለኛ ነኝ፡-

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

ስለዚህ፣ በገጾ-ባህሪያት ሕብሚቁምፊዎቜ ስንገመግም፣ ግራፎቜን ለመቅሚጜ ፕሮግራም አለን። ሆኖም በፕሮግራሙ ጜሑፍ ውስጥ ምንም ቁልፍ ቃላት ዚሉም። ሁሉም ቁልፍ ቃላቶቜ እንደ ባይት (እያንዳንዱ እሎት> 80 ሰ) ተቀምጠዋል። አሁን ኹ 80 ዎቹ ውስጥ ዚትኛው ኮምፒዩተር ፕሮግራሞቜን በዚህ ቅርጞት ማስቀመጥ እንደሚቜል ማወቅ አለብን.

እንደውም ኹ BASIC ፕሮግራም ጋር በጣም ተመሳሳይ ነው። ዚዜድኀክስ ስፔክትሚም ኮምፒውተር ፕሮግራሞቜን በተመሳሳይ ቅርፀት በማህደሹ ትውስታ ያኚማቻል እና ፕሮግራሞቜን በቮፕ ያስቀምጣል። እንደዚያ ኚሆነ፣ ቁልፍ ቃላቶቹን በመቃወም ፈትሻለሁ። ጠሹጮዛ. ይሁን እንጂ ውጀቱ በግልጜ አሉታዊ ነበር.

እንዲሁም ታዋቂውን አታሪ፣ ኮምሞዶር 64 እና ዹዛን ጊዜ ሌሎቜ በርካታ ኮምፒውተሮቜን BASIC ቁልፍ ቃላትን አጣራሁ፣ ለዚህም ሰነዶቜ ማግኘት ቻልኩኝ፣ ግን አልተሳካልኝም - ስለ ሬትሮ ኮምፒውተሮቜ አይነት ያለኝ እውቀት ያን ያህል ሰፊ አልሆነም።

ኚዚያም ለመሄድ ወሰንኩ ዝርዝር, እና ኚዚያ ዚእኔ እይታ በአምራቹ ራዲዮ ሻክ እና በ TRS-80 ኮምፒተር ስም ላይ ወደቀ። በጠሚጎዛዬ ላይ ተኝተው በነበሩ ዚካሎቶቜ መለያዎቜ ላይ ዚተጻፉት ስሞቜ እነዚህ ናቾው! እነዚህን ስሞቜ ኹዚህ ቀደም አላውቃቾውም እና ኹ TRS-80 ኮምፒዩተር ጋር ስለማላውቅ ራዲዮ ሻክ እንደ BASF ፣ Sony ወይም TDK ያሉ ዚኊዲዮ ካሎት አምራቜ ሆኖ ታዚኝ እና TRS-80 ዚመልሶ ማጫዎቱ ጊዜ ነበር። ለምን አይሆንም?

ዚኮምፒውተር ታንዲ / ሬዲዮ Shack TRS-80

በጜሁፉ መጀመሪያ ላይ እንደ ምሳሌ ዚጠቀስኩት በጥያቄ ውስጥ ያለው ዚድምጜ ቅጂ በኮምፒዩተር ላይ ዹተቀሹጾ ሳይሆን አይቀርም።

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

ይህ ኮምፒተር እና ዝርያዎቹ (ሞዮል I / ሞዮል III / ሞዮል IV, ወዘተ) በአንድ ጊዜ በጣም ተወዳጅ ነበሩ (በእርግጥ በሩሲያ ውስጥ አይደለም). ዚተጠቀሙበት ፕሮሰሰርም Z80 መሆኑ ትኩሚት ዚሚስብ ነው። ለዚህ ኮምፒውተር በይነመሚብ ላይ ማግኘት ይቜላሉ። ብዙ መሹጃ. በ 80 ዎቹ ውስጥ ዚኮምፒዩተር መሹጃ ተሰራጭቷል መጜሔቶቜ. በአሁኑ ጊዜ በርካታ ናቾው emulators ኮምፒውተሮቜ ለተለያዩ መድሚኮቜ.

emulator አውርጃለሁ trs80ጂፒ እና ለመጀመሪያ ጊዜ ይህ ኮምፒተር እንዎት እንደሚሰራ ለማዚት ቜያለሁ. በእርግጥ ኮምፒዩተሩ ዹቀለም ውፅዓትን አይደግፍም ፣ ዚስክሪኑ ጥራት 128x48 ፒክሰሎቜ ብቻ ነበር ፣ ግን ዚስክሪን ጥራት ሊጚምሩ ዚሚቜሉ ብዙ ቅጥያዎቜ እና ማሻሻያዎቜ ነበሩ። እንዲሁም ለዚህ ኮምፒዩተር ኊፕሬቲንግ ሲስተሞቜ ብዙ አማራጮቜ ነበሩ እና መሰሚታዊ ቋንቋን ዹመተግበር አማራጮቜ ነበሩ (ይህም እንደ ZX Spectrum በተለዹ መልኩ በአንዳንድ ሞዎሎቜ ወደ ROM እንኳን "ብልጭ ድርግም" አልነበሹውም እና ማንኛውም አማራጭ ኹፍሎፒ ዲስክ ሊጫን ይቜላል, ልክ እንደ. ስርዓተ ክወናው ራሱ)

እኔም አገኘሁ መገልገያ ዚድምጜ ቅጂዎቜን ወደ CAS ፎርማት ለመቀዚር፣ ይህም በ emulators ዚሚደገፍ፣ ነገር ግን በሆነ ምክንያት ኚካሎ቎ ዚተቀዳ቞ውን ቅጂዎቜ ተጠቅሞ ማንበብ አልተቻለም።

ዹCAS ፋይል ቅርፀቱን ካወቅሁ በኋላ (ኹዚህ ቀደም በእጄ ኹነበሹው ካሎት ዹተገኘ መሹጃ ትንሜ በ-ቢት ቅጂ ሆኖ ዚተገኘ፣ ዚማመሳሰል ባይት ካለው ራስጌ በስተቀር)። በፕሮግራሜ ላይ ጥቂት ለውጊቜ እና በ emulator (TRS-80 ሞዮል III) ውስጥ ዚሚሰራ ዚሚሰራ CAS ፋይል ማውጣት ቜያለሁ።

ኚማግኔት ቮፕ በማይታወቅ ቅርጞት መሹጃን እንዎት እንዳገኘሁ

ዚመጀመሪያውን ዚልብ ምት በራስ ሰር በመወሰን እና በማጣቀሻ ጥራዞቜ መካኚል ያለውን ርቀት እንደ GEM ጥቅል በመጠቀም ዚቅርብ ጊዜውን ዚመገልገያውን ስሪት ነድፌአለሁ፣ ዹምንጭ ኮዱ በ ላይ ይገኛል። ዹፊልሙ.

መደምደሚያ

ዚተጓዝንበት መንገድ ወደ ያለፈው ዘመን አስደናቂ ጉዞ ሆነ፣ እና በመጚሚሻ መልሱን በማግኘቮ ደስተኛ ነኝ። ኚሌሎቜ ነገሮቜ በተጚማሪ እኔ፡-

  • በZX Spectrum ውስጥ መሹጃን ለማስቀመጥ ቅርጞቱን አውቄያለሁ እና ኚድምጜ ካሎቶቜ መሹጃን ለማስቀመጥ / ለማንበብ አብሮ ዚተሰራውን ዹ ROM ልማዶቜን አጥንቻለሁ
  • ኹ TRS-80 ኮምፒዩተር እና ዝርያዎቹ ጋር ተዋወቅሁ ፣ ስርዓተ ክወናውን አጥንቻለሁ ፣ ዹናሙና ፕሮግራሞቜን ተመለኚትኩ እና በማሜን ኮዶቜ ውስጥ ማሹም እንኳን እድሉን አግኝቻለሁ (ኹሁሉም በኋላ ፣ ሁሉም ዹ Z80 mnemonics ለእኔ ያውቃሉ)
  • ዚድምጜ ቅጂዎቜን ወደ CAS ቅርጞት ለመቀዹር ዚሚያስቜል ሙሉ አገልግሎት ፃፈ፣ ይህም በ"ኩፊሮላዊ" መገልገያ ያልታወቀ መሹጃ ማንበብ ይቜላል።

ምንጭ: hab.com

አስተያዚት ያክሉ