Atari Microsoft BASIC
માઇક્રોસોફ્ટ બેઝિકની 6502-આવૃત્તિના એટારી માઇક્રોસોફ્ટ બેઝિક અને એટારી માઇક્રોસોફ્ટ બેઝિક II પ્રકારો એટારી 8-બીટ મશીનોમાં મૂકવામાં આવ્યા હતા. 1981માં રજૂ થયેલ પ્રથમ સંસ્કરણ માટે 32 KB રેમની જરૂર હતી અને તેને ફ્લોપી ડિસ્ક પર પૂરી પાડવામાં આવી હતી. બીજા સંસ્કરણ, જે પછીના વર્ષે બહાર પાડવામાં આવ્યું હતું, તેમાં વૈકલ્પિક ફ્લોપી પર વધારાના કાર્યો સાથે ROM કારતુસ પર મોટાભાગના કોડ હતા. એટારી માઈક્રોસોફ્ટ બેઝિક એપલસોફ્ટ બેઝિક અને કોમોડોર બેઝિક જેવા સમકાલીન બેઝિક સાથે અત્યંત સુસંગત હતું, જે તેમની પોતાની એટારી બેઝિકથી વિપરીત હતી, જે કંઈક અંશે અલગ બોલી હતી અને ઘણી રીતે અસંગત હતી. એટારી બેઝિકની જેમ, એટારી માઇક્રોસોફ્ટ બેઝિકે એટારી પ્લેટફોર્મનો લાભ લેવા માટે સંખ્યાબંધ નવા આદેશો અને સુવિધાઓનો સમાવેશ કર્યો હતો. આ એટારી બેઝિકની સમાન સુવિધાઓ સાથે માત્ર આંશિક રીતે સુસંગત હતા. જ્યારે માઇક્રોસોફ્ટે તેમના મૂળ ઇન્ટેલ 8080-આધારિત બેઝિકને 6502 પર પોર્ટ કર્યું, ત્યારે તેઓએ સુધારેલી ચોકસાઈ માટે ફ્લોટિંગ-પોઇન્ટ ફોર્મેટને મૂળ 32-બીટ ફોર્મેટમાંથી વૈકલ્પિક 40-બીટ ફોર્મેટમાં વિસ્તૃત કરવા માટે સમય લીધો. કમ્પાઇલર ફ્લેગ પ્રદાન કરીને બંને આવૃત્તિઓ એક જ કોડમાંથી સંકલિત કરી શકાય છે; જો 32-બીટ ફોર્મેટનો ઉપયોગ કરવામાં આવે તો પરિણામી કોડ લંબાઈમાં માત્ર 8 KB કરતા ઓછો હોય, જો 40-બીટ ફોર્મેટનો ઉપયોગ કરવામાં આવે, તો તે 9 KB ની નજીક હોય છે. એટારી 8-બીટ હોમ કમ્પ્યુટર્સની રચના 8 KB ROM કારતુસ માટે સ્લોટ સાથે કરવામાં આવી હતી. એટારીના પ્રોગ્રામરોએ પ્લેટફોર્મનો લાભ લેવા માટે સુવિધાઓ ઉમેરતી વખતે માઇક્રોસોફ્ટના બેઝિકને એક જ કારતુસમાં ફિટ કરવા માટે સંઘર્ષ કર્યો. 1978ના ઉનાળામાં, એટારીએ પોર્ટિંગના પ્રયાસોને આઉટસોર્સ કરવાનું નક્કી કર્યું જેથી બેઝિક સિસ્ટમના 1979ના પ્રક્ષેપણ માટે સમયસર તૈયાર થઈ શકે, અને આ તેમને શેપર્ડસન માઇક્રોસિસ્ટમ્સ ઇન્ક. (એસએમઆઈ) તરફ દોરી ગયું. એસએમઆઈએ ઝડપથી નક્કી કર્યું કે કામ અશક્ય છે, અને તેના બદલે બેઝિકનું સંપૂર્ણપણે નવું સંસ્કરણ બનાવવાની દરખાસ્ત કરી. આ એટારી બેઝિક બન્યું અને 1979માં એટારી 400 અને 800 સાથે રજૂ થયું હતું. એટારીએ એમએસ કોડ સાથે કામ કરવાનું ચાલુ રાખ્યું અને 1981માં ફ્લોપી ડિસ્ક પર તેનું એક સંસ્કરણ બહાર પાડ્યું. એટારી બેઝિકની સરખામણીમાં એમએસમાં પ્રમાણભૂત આદેશોની વિસ્તૃત શ્રેણી ઉપરાંત, નવા સંસ્કરણમાં ગ્રાફિક્સ અને ધ્વનિ અને પ્લેટફોર્મની અન્ય સુવિધાઓ માટે સંખ્યાબંધ વધારાના આદેશો ઉમેરવામાં આવ્યા છે. તેમાં પૂર્ણાંક ચલ અને સંપૂર્ણ પૂર્ણાંક ગણિત પેકેજનો પણ સમાવેશ થતો હતો, જેણે કામગીરીમાં સુધારો કર્યો હતો. જો કે, તેમાં ઓછામાં ઓછી 32 KB રેમની જરૂર હતી અને તે માત્ર ડિસ્કમાંથી જ ચાલતી હતી, તેથી તે ક્યારેય ખાસ લોકપ્રિય નહોતી. બીજા પ્રકાશન, એટારી માઈક્રોસોફ્ટ બેઝિક II, એ મોટાભાગના કોડને વિસ્તૃત 16 KB કારતુસ પર ખસેડ્યો અને ડિસ્ક પર વધુ ભાગ્યે જ ઉપયોગમાં લેવાતા કોડના વધારાના 11 KB મૂક્યા, જેનો અર્થ એ થયો કે ક્રોસ-પ્લેટફોર્મ ઉપયોગ માટે બનાવાયેલ ઘણા પ્રોગ્રામ્સ હવે એકલા કારતુસમાંથી ચલાવી શકાય છે. 1982માં રજૂ થયેલ બેઝિક IIમાં પણ વાસ્તવિક દુનિયાનો બહુ ઓછો ઉપયોગ જોવા મળ્યો હતો. વિગતો અંતર્ગત દુભાષિયો એ જ 9 KB MOS 6502 કોડ પર આધારિત હતો જેણે કોમોડોર બેઝિક અને એપલસોફ્ટ બેઝિકનો આધાર પણ બનાવ્યો હતો અને તે મોટાભાગે તેમની સાથે સુસંગત હતો. આનું મુખ્ય પાસું સ્ટ્રિંગ હેન્ડલિંગ સિસ્ટમ હતું, જે તે પ્લેટફોર્મ્સ જેવા જ કોડ પર આધારિત હતું. તેનાથી વિપરીત, એટારી બેઝિકે એક સંપૂર્ણપણે અલગ પદ્ધતિનો ઉપયોગ કર્યો હતો જે શબ્દમાળાઓને અક્ષરોની શ્રેણી તરીકે ગણતી હતી અને તે મોટાભાગની અન્ય પ્રણાલીઓ સાથે સુસંગત નહોતી, ન તો સરળતાથી પોર્ટ કરવામાં આવતી હતી. તેણે મૂળ 40-બીટ ફોર્મેટ ફ્લોટિંગ-પોઇન્ટ અંકગણિત પુસ્તકાલયને જાળવી રાખ્યું હતું, જેણે સિસ્ટમની ઓપરેટિંગ સિસ્ટમ ROMમાં કુખ્યાત રીતે ધીમું સ્થાન લીધું હતું, અને આમ અન્ય પ્લેટફોર્મ્સની જેમ જ ગતિએ ગણિત કોડ ચલાવ્યો હતો, અને એટારી બેઝિક કરતા ઘણો ઝડપી હતો. તેમાં વધારાના પ્રદર્શન માટે વધારાના પૂર્ણાંક ગણિત પેકેજનો પણ સમાવેશ થતો હતો. પૂર્ણાંક ગણિત પ્રણાલી ત્યારે શરૂ કરવામાં આવી હતી જ્યારે સોંપણી પૂર્ણાંક ચલ માટે હતી, અથવા શાબ્દિક મૂલ્યો બધા પૂર્ણાંકો હતા. જો ક્યાં તો સાચું ન હોય તો, પૂર્ણાંક મૂલ્યોને ફ્લોટિંગ-પોઇન્ટમાં રૂપાંતરિત કરવામાં આવશે, ગણતરી માટે ફ્લોટિંગ-પોઇન્ટ કોડનો ઉપયોગ કરો અને પછી સંગ્રહ માટે ફરીથી પૂર્ણાંકમાં રૂપાંતરિત કરવામાં આવશે. અન્ય નોંધપાત્ર કામગીરી-સંબંધિત સુધારો લૂપ્સ સાથે સંબંધિત હતો. એટારી બેઝિકે એક્ઝેક્યુશન સ્ટેક પર લાઇન નંબર મૂકીને આ કર્યું હતું, જેથી જ્યારે સંકળાયેલનો સામનો કરવામાં આવ્યો ત્યારે તે શોધી શકે કે કઈ લાઇન પર પાછા ફરવું. તેનાથી વિપરીત, એમ. એસ. બેઝિકે હંમેશા તે રેખાનું મેમરી સ્થાન માળખા પર મૂક્યું હતું, જેનાથી તે મેળ ખાતી રેખા માટે સમગ્ર પ્રોગ્રામમાં શોધ કર્યા વિના પાછું કૂદી શકે છે. એટારી બેઝિકમાં આ વિચિત્રતા તેના ધીમા પ્રદર્શનના પ્રાથમિક કારણોમાંનું એક છે, અને કારણ કે એટારી માઈક્રોસોફ્ટ બેઝિકમાં આ સાચું ન હતું, તે સામાન્ય રીતે એટારી બેઝિક કરતાં વધુ ઝડપથી ચાલતું હતું. એટારી બેઝિકથી વિપરીત, જે ટાઇપ કરવામાં આવે ત્યારે સમગ્ર રેખાઓનું વિશ્લેષણ અને ટોકનાઇઝ કરે છે, એમ. એસ. બેઝિકે સ્રોત કોડને માત્ર આંશિક રીતે ટોકનાઇઝ કરે છે. જ્યારે એક લીટી દાખલ કરવામાં આવી હતી, ત્યારે લીટી નંબરને ASCII થી 16-બીટ પૂર્ણાંકમાં રૂપાંતરિત કરવામાં આવ્યો હતો, પ્રથમ પ્રોગ્રામ સ્ટેટમેન્ટને સિંગલ-બાઈટ મૂલ્યમાં ટોકન કરવામાં આવ્યું હતું, અને પછી બાકીની લીટીને ટેક્સ્ટ ફોર્મેટ તરીકે છોડી દેવામાં આવી હતી. છેલ્લા અક્ષરમાં લીટીના અંતને સૂચવવા માટે તેનો ઉચ્ચ-બીટ સેટ હતો. ઉપયોગ-કેસના આધારે, એટારી બેઝિકનું લાઇનનું સંપૂર્ણ ટોકનાઇઝેશન પ્રોગ્રામને સંગ્રહિત કરવા માટે ઓછી મેમરીનો ઉપયોગ કરી શકે છે. આ તફાવતનો અર્થ એ પણ હતો કે ઘણી વાક્યરચના ભૂલો ફક્ત એમ. એસ. કોડમાં રનટાઇમ પર જ જોવા મળશે, જે એટારી સંસ્કરણથી વિપરીત છે જ્યાં સંપાદન સમયે સમગ્ર વાક્યની તપાસ કરવામાં આવી હતી. સિદ્ધાંતમાં, સંપાદન-સમય સંકલનએ એટારી બેઝિકને એમ. એસ. કરતા વધુ ઝડપી બનાવવું જોઈએ, જે દર વખતે જ્યારે તે આવે ત્યારે રેખાને ફરીથી ટોકનાઇઝ કરે છે, પરંતુ આ ફાયદો ઉપર નોંધાયેલા અન્ય પ્રદર્શન મુદ્દાઓ દ્વારા ધોવાઇ ગયો હતો. એમ. એસ. બેઝિકમાં કીવર્ડ્સના ટૂંકા સ્વરૂપો દાખલ કરવા માટેની પદ્ધતિનો સમાવેશ થતો નથી, જે એટારી બેઝિકથી વિપરીત છે, જેણે તેમને પ્રવેશ દરમિયાનના સમયગાળા સાથે સંક્ષિપ્ત કરવાની મંજૂરી આપી હતી. જ્યારે કાર્યક્રમ સંપાદિત કરવામાં આવ્યો હતો, ત્યારે મુખ્ય શબ્દો વિસ્તૃત કરવામાં આવશે. કોમોડોરનું સંસ્કરણ જેણે તે જ છેડે નિયંત્રણ-પાત્ર પૂર્ણતાનો ઉમેરો કર્યો. એટારી માઈક્રોસોફ્ટ બેઝિકે પ્લેટફોર્મનો લાભ લેવા માટે સંખ્યાબંધ નવી સુવિધાઓ ઉમેરી છે. એક રસપ્રદ ઉમેરો એ છે કે જે સેકન્ડની ચોક્કસ સંખ્યા "જીફીઝ", 1/60 ths માટે રાહ જુએ છે, અને પછી પ્રદર્શન કરે છે. તેમાં તે પણ સામેલ હતું જે આગલી પંક્તિ પર આગળ વધતા પહેલા મેમરી સરનામું બદલવાની રાહ જોતી વખતે થોભાવવામાં આવ્યું હતું. તે એમ. એસ. બેઝિકની પ્રારંભિક આવૃત્તિઓનો ભાગ હતો પરંતુ તેનો વ્યાપક ઉપયોગ થતો ન હતો. એટારી માઇક્રોસોફ્ટ બેઝિકમાં એટારી બેઝિકના મોટાભાગના ગ્રાફિક્સ અને ધ્વનિ આદેશોનો સમાવેશ થાય છે. વિચિત્ર રીતે, મૂળને વૈકલ્પિક સ્વરૂપનો ઉપયોગ કરીને ભેળવી દેવામાં આવ્યું હતું. આનો અર્થ એ થયો કે એટારી બેઝિક માટેનો ગ્રાફિક્સ કોડ સુસંગત ન હતો. એટારી માઇક્રોસોફ્ટ બેઝિકે પ્લેયર/મિસાઇલ ગ્રાફિક્સ અને વપરાશકર્તા-નિર્ધારિત પાત્ર સમૂહોને સંભાળવા માટે સંખ્યાબંધ વધારાના આદેશો ઉમેર્યા જે એટારી બેઝિકમાં ઉપલબ્ધ ન હતા. એટારી માઈક્રોસોફ્ટ બેઝિક બે પેકેજમાં આવ્યું હતુંઃ ફ્લોપી ડિસ્ક-CX8126 ROM કારતુસ-RX8035. કારતુસ માત્ર 16 KB રાખી શકતું હોવાથી, બાકીની 11 KB ફાઇલ "એક્સ્ટેંશન" ડિસ્ક પર સમાવવામાં આવી હતી. કારતુસના સંસ્કરણને એટારી માઈક્રોસોફ્ટ બેઝિક II નામ આપવામાં આવ્યું હતું. એટારી બેઝિક કરતાં વધુ સુવિધાઓથી ભરપૂર હોવા છતાં, માઇક્રોસોફ્ટ બેઝિકની એટલી લોકપ્રિયતા ક્યારેય નહોતી જેટલી એટારી બેઝિકની હતી. સૌથી મોટી સમસ્યાઓ હતીઃ જરૂરી મેમરીમાં વધારો (ઓછામાં ઓછું 32 KB) ડિસ્ક ડ્રાઇવ માટે જરૂરી કામગીરી (એટારી બેઝિક કરતા ઝડપી, પરંતુ ટર્બો-બેઝિક XL અને બેઝિક XL કરતા ધીમી) એટારી બેઝિક સાથે સુસંગત ન હોવાથી વધારાની કિંમત કારતુસ સંસ્કરણે પ્રથમ બે જરૂરિયાતોને દૂર કરી હતી, પરંતુ તેની તમામ સુવિધાઓ માટે ડિસ્ક ડ્રાઇવની જરૂર હતી. નોંધો સંદર્ભો બાહ્ય કડીઓ એટારીએજ માઈક્રોસોફ્ટ બેઝિક II-RX8035 એન્ટિક વોલ્યુમ. 6, નં. 2 બેઝિક બોનાન્ઝા-ચાર્લ્સ ચેરી દ્વારા સમીક્ષા Atariwiki.org એટારી માઇક્રોસોફ્ટ બેઝિક સૂચના માર્ગદર્શિકા 1982 સોફ્ટવેર માઇક્રોસોફ્ટ બેઝિક એટારી 8-બીટ ફેમિલી સોફ્ટવેર બેઝિક પ્રોગ્રામિંગ લેંગ્વેજ ફેમિલી માઇક્રોસોફ્ટ પ્રોગ્રામિંગ લેંગ્વેજ બંધ