ChangeLog.old 466 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088
  1. !!!
  2. !!! This file is no longer updated (and hasn't been for a while).
  3. !!! Instead we prefer to put changelog messages in the git commit
  4. !!! messages. The only reason to keep this file around is that in
  5. !!! the old days the messages in this file were more detailed than
  6. !!! the commit messages, so this file may still contain useful info
  7. !!! when you're investigating old changes.
  8. !!!
  9. 2010-06-06 Manuel Bilderbeek <manuel@msxnet.org>
  10. * Released openMSX 0.8.0.
  11. * NOTE: this is probably the last entry in this ChangeLog. From now
  12. on, just use the SVN commit log to keep track of changes.
  13. 2010-01-10 Manuel Bilderbeek <manuel@msxnet.org>
  14. * Added Generation MSX id to software info topic. Use this to link
  15. openMSX games to the Generation MSX web site.
  16. 2009-12-20 Manuel Bilderbeek <manuel@msxnet.org>
  17. * Made softwaredb information available from Tcl, using sha1sum as
  18. key. First step in making better use of the softwaredb, but mostly
  19. meant to make it possible to replace the automatic ROM info printing
  20. with a command to query that information on demand.
  21. 2009-11-08 Manuel Bilderbeek <manuel@msxnet.org>
  22. * Added saving and loading of replays (in reverse feature). Thanks to
  23. Wouter for doing the difficult work.
  24. 2009-09-27 Maarten ter Huurne <maarten@treewalker.org>
  25. * Corrected palette colors on V9958:
  26. The V9958 uses 5-bit DACs for R/G/B, shared by the YJK colors and
  27. the V9938-compatible palette colors. The R/G/B palette colors are
  28. converted from 3 bits to 5 bits in the same way the V9990 does.
  29. Thanks to n_n for capturing the output of my test program a real
  30. turbo R.
  31. 2009-08-02 Patrick van Arkel vampiermsx@gmail.com
  32. * Made some major changes to the ROM database
  33. and added <text> tags to the <remark> field.
  34. Included are also Generation MSX-ids to have
  35. a common 'key' to bind databases.
  36. 2009-07-16 Manuel Bilderbeek <manuel@msxnet.org>
  37. * Added session management script. When you do:
  38. set enable_session_management true
  39. your session (all machines) will be saved when exiting openMSX and
  40. loaded again when starting openMSX (ignoring the machine/extensions
  41. you put on the command line). You can also save, load, list and
  42. delete sessions manually from the console. Default, this whole
  43. feature is disabled.
  44. 2009-07-15 Sean Young <sean@mess.org>
  45. * First commit of Laserdisc code. Some of the outstanding issues
  46. are listed in doc/laserdisc-todo.txt.
  47. 2009-07-09 Manuel Bilderbeek <manuel@msxnet.org>
  48. * Added tabbed_machine_view script, visualizing multiply running
  49. machines in a kind of tab widget.
  50. 2009-07-08 Manuel Bilderbeek <manuel@msxnet.org>
  51. * Renamed 'msxonly' option to 'raw', which fits much better to what it
  52. does.
  53. 2009-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  54. * Major reductions in executable size for serialization code:
  55. See the commit messages for details, here I'll only list one line
  56. per commit and the size of the executable in each step (stripped
  57. devel flavour on linux x86_64 gcc-4.3):
  58. 7200kB [initial version]
  59. 7140kB MemBuffer iso std::vector
  60. 7060kB made serialize without ID default
  61. 6920kB string="" -> string*=NULL
  62. 6918kB XXX::serialize() tweaks
  63. 6899kB outline OutputBuffer::insert()
  64. 6861kB __builtin_constant_p
  65. 6590kB beginTag(const char*)
  66. 6292kB move error handling outline
  67. 6171kB moved more of loadVersion() outline
  68. 6120kB use const char* in PolymorphicSaver
  69. 6109kB moved more of PolymorphicXXXRegistry outline
  70. 5781kB give ArchiveXXX classes a non-templatized base
  71. 5780kB moved ArchiveXXX::load/save() methods outline
  72. 5726kB pass attrbute names as const char*
  73. 5710kB outline attribute(...) calls
  74. So combined this is an executable size reduction of over 1.4MB.
  75. Apart from this, compilation is also noticeably faster: went from
  76. 8'00" to 6'23" on my machine (user time).
  77. 2009-06-07 Manuel Bilderbeek <manuel@msxnet.org>
  78. * Apart from full screen (which was already implemented), also hide
  79. the mouse pointer always when input grab is enabled.
  80. 2009-06-04 Manuel Bilderbeek <manuel@msxnet.org>
  81. * Added Sanyo MPC-25FD, MSX2 with diskdrive and one cartridge slot
  82. only. Thanks to jltursan!
  83. 2009-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  84. * Fixed IE0 related VDP bug:
  85. When there is a pending VBLANK IRQ (bit 7 in S#00 is set) and you
  86. switch IE0 (bit 5 in R#1) on, there is immediately a IRQ send to
  87. the Z80. Before this fix openMSX would only generate one on the
  88. next VBLANK.
  89. This fixes several long-standing bugs:
  90. - [1849488] Game "Adonis" plays sound way too slowly
  91. - [ 739150] Zanac: title corrupted
  92. - [1847275] Penguin Adventure doesn't work on some machines
  93. - [ 658430] Galaga/Bosconian slows down when you die
  94. Thanks a lot to 'n_n' for providing a z80 trace of a Adonis run in
  95. meisei. Comparing this trace with a openMSX trace allowed to
  96. pin-point this bug.
  97. 2009-05-23 Maarten ter Huurne <maarten@treewalker.org>
  98. * Always build application folder on Mac OS X.
  99. This is the way we release and supporting both app folder and
  100. systemwide installation only adds to the maintaince effort.
  101. 2009-05-05 Max Feingold <maf6@cornell.edu>
  102. * Added a Win32 implementation of LocalFile:mmap().
  103. This should make file handling on Windows imperceptibly faster.
  104. * Implemented correct shutdown logic for PipeConnection thread
  105. using async I/O and events.
  106. 2009-04-24 Manuel Bilderbeek <manuel@msxnet.org>
  107. * Final step in un-uglifying Tcl scripts using Tcl namespaces :)
  108. 2009-04-19 Manuel Bilderbeek <manuel@msxnet.org>
  109. * Added Sharp-Epcom HB-3600 dual 5.25" external disk drives, thanks to
  110. FRS for contributing it.
  111. 2009-04-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  112. * Added support for taking screenshots without OSD elements:
  113. Restructured OutputSurface and child classes to make it possible
  114. to render to an off-screen surface, so that it becomes possible
  115. to re-render the current frame without the OSD layers.
  116. 2009-04-04 Manuel Bilderbeek <manuel@msxnet.org>
  117. * Implemented enough of the Arkanoid pad to make it work. Use the
  118. mouse to control it.
  119. 2009-04-03 Manuel Bilderbeek <manuel@msxnet.org>
  120. * Added pointer_hide_delay setting to control visibility of the mouse
  121. pointer. If you set it to -1, it will be always shown. 0 (the default)
  122. means it is never shown. Positive values is the amount of milliseconds
  123. it takes before it will be automatically hidden after it got shown due
  124. to mouse activity. Docs are TODO.
  125. 2009-03-30 Manuel Bilderbeek <manuel@msxnet.org>
  126. * Added a fun OSD VU-meter script, see script for details.
  127. Thanks to Wouter and BiFi for their support.
  128. 2009-03-26 Max Feingold <maf6@cornell.edu>
  129. * Secured sockets used by CliServer on Windows by requiring authentication
  130. and authorizing only the user that launches the openMSX process.
  131. 2009-03-24 David Heremans <david.heremans@gnu-linux.net>
  132. * Added new emu-state icons for set1 and replaced the default
  133. ones in share/skins.
  134. 2009-03-20 Manuel Bilderbeek <manuel@msxnet.org>
  135. * Added throttle setting to the new OSD icons (thanks Wouter).
  136. 2009-03-11 Manuel Bilderbeek <manuel@msxnet.org>
  137. * Convert ancient history_size and remove_doubles settings to modern
  138. settings. They influence how openMSX handles console history.
  139. 2009-03-09 Manuel Bilderbeek <manuel@msxnet.org>
  140. * Added pause_on_lost_focus setting. After enabling it, openMSX will
  141. pause when your cursor leaves the openMSX window. Useful in some
  142. cases. This was default in fMSX, but in openMSX it is off by default.
  143. 2009-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  144. * Split Y8950Adpcm sample generation part in two:
  145. - There is now an emulation and an audio part. See comments in
  146. Y8950Adpcm.cc for details. The emulation state is now no longer
  147. dependant on the audio-thread. So in UR, the scope part keeps
  148. on working when the audio is muted.
  149. - Also made some minor adjustments to the rest of the adpcm code.
  150. 2009-02-24 Max Feingold <maf6@cornell.edu>
  151. * Updated VC++ projects with a Python-based script that builds config
  152. headers using mth's Python scripts. This automates one of the more
  153. annoying manual steps in the VC++ build process.
  154. 2009-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  155. * ZMBVEncoder motion vector search heuristic tweaks:
  156. - try vectors with smallest euclidean size first (was Chebyshev size)
  157. also give preference to purely horizontal/vertical motions and to a
  158. lesser degree purely diagonal motions
  159. - start search at best motion vector of previous block (before we
  160. always started from the center)
  161. - use different set of possible motion vectors, search further in
  162. pure hor/ver/diag directions, less far in other (random) directions
  163. Combined these tweaks give measurable smaller video files (5% - 25%)
  164. and also run faster (2% - 6%). The 2nd tweak (start from previous
  165. best) has the largest effect.
  166. 2009-02-23 Max Feingold <maf6@cornell.edu>
  167. * Created a WiX-based installer for openMSX on Windows. The output is
  168. an MSI file with the usual wizard-based installation UI.
  169. 2009-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  170. * Refactored disk classes:
  171. - simplified class hierarchy:
  172. - removed virtual inheritance
  173. - merged WriteProtectableDisk into SectorAccessibleDisk
  174. - Disk now inherits from SectorAccessibleDisk,
  175. ATM we don't support disk image formats that are lower level
  176. than sector level. But even for those images it makes sense
  177. to support reading/writing sectors.
  178. - moved patch functionality up in the class hierarchy,
  179. to SectorAccessibleDisk
  180. * Added syntax to insert a partition of a hard disk image:
  181. <hd-image>:<num>
  182. This is a preparartion to support disk partitions in the nowind
  183. interface.
  184. * Implemented hard disk support for nowind interface
  185. 2009-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  186. * Initial nowind implementation:
  187. still need to work on the nowind openmsx commands
  188. 2009-02-09 Max Feingold <maf6@cornell.edu>
  189. * Ported most significant inline assembly code to VC++ format,
  190. where significance is defined as 'being noticeable in kernrate'.
  191. * VC++ binaries now benchmark 15% faster than mingw32 binaries on my system
  192. openMSX svn VC++ x64 - 10.72 seconds
  193. openMSX svn VC++ x86 - 11.19 seconds
  194. openMSX svn mingw x86 - 12.62 seconds
  195. openMSX 0.7.0 mingw x86 - 13.96 seconds
  196. 2009-02-07 Max Feingold <maf6@cornell.edu>
  197. * Reduced VC++ W3 warning load to ~250, with help from Vampier and Wouter
  198. 2009-02-05 Max Feingold <maf6@cornell.edu>
  199. * Rationalized the following definitions throughout the codebase:
  200. - ASM_X86 = build assembly code on x86 and x64 platforms
  201. (gcc's inline asm can target both; VC++ doesn't support x64 inline asm)
  202. - ASM_X86_32 = build assembly code on x86 platforms (assumes ASM_X86)
  203. - ASM_X86_64 = build assembly code on x64 platforms (assumes ASM_X86)
  204. - __x86_64 = x64 target is specified
  205. - _WIN64 = Windows x64 target is specified (same as _WIN32 && __x86_64)
  206. * These definitions should act that same for both mingw32 and VC++.
  207. 2009-02-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  208. * Implemented 'ld a,i' Z80 quirk:
  209. See comments in CPUCore.cc for details. Thanks to n_n for reporting
  210. this issue (first discovered by GuyveR800) and writing a test
  211. program for it.
  212. 2009-01-29 Max Feingold <maf6@cornell.edu>
  213. * Unicode filename support on Windows platforms
  214. - On Windows, standard CRT functions and 'ANSI' Win32 API calls
  215. expect and return ANSI encodings, not UTF8. Unicode support on
  216. Windows is generally achieved by calling CRT functions that accept
  217. wchar_t and 'wide char' xxxW Win32 API calls.
  218. - openMSX uses std::string and UTF8-encoded strings throughout.
  219. Consequently, on Windows we wrap all system calls that might
  220. touch the filesystem in UTF8-to-UTF16 conversions before calling
  221. the 'wide char' API and (if necessary) converting back to UTF8.
  222. * As a side effect, this checkin also deprecates openMSX support for
  223. Windows 95-based platforms, as well as for Windows NT 4.0.
  224. At the time of writing, only Windows 2000 and above are supported.
  225. 2009-01-25 Maarten ter Huurne <maarten@treewalker.org>
  226. * Use Python to generate "Version.ii".
  227. * Use Python to generate "build-info.hh".
  228. 2009-01-18 Max Feingold <maf6@cornell.edu>
  229. * Fixed bug [ 1206036 ] Windows Control Menu while using ALT
  230. With this fix in place, the ALT+SPACE combination no longer
  231. pops up an annoying context menu on Windows.
  232. * The solution was to register our own winproc, filter out the
  233. offending WM_SYSCOMMAND events, and delegate the rest to SDL.
  234. 2009-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  235. * Console refactoring:
  236. - Share much more code between SDL and GL console variant
  237. - Use TTF fonts instead of a .png file with the ASCII symbols:
  238. console can now also show unicode chars (if the ttf font has them)
  239. - Added new setting: consolefontsize
  240. - Removed (now unused) classes:
  241. Font, DummyFont, SDLFont, GLFont, SDLConsole, GLConsole
  242. * Reverted part of last CPU refactoring (2008-01-15):
  243. - Omitting needExit() check on some instructions can causes
  244. acceptance of an IRQ to be a couple of instructions late,
  245. see comments in src/cpu/CPUCore.cc for details.
  246. - But even without this part, the threaded interpreter model is a
  247. big win (more than 10% faster) over the old model.
  248. 2009-01-23 Max Feingold <maf6@cornell.edu>
  249. * Checked in VC++ project files that build dependencies and openMSX itself.
  250. The project files are in VC9 (Visual C++ 2008) format and should be usable
  251. with the Windows SDK's msbuild tool, as well as with the free (as in beer)
  252. Visual C++ 2008 Express Edition.
  253. * This checkin also brings the first 64-bit Windows build of openMSX.
  254. x64 binaries are fully functional and I'm pleased to note that I found no
  255. significant 64-bit portability issues in the codebase (inline asm aside).
  256. 2009-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  257. * Initial implementation of the VDP sprite collision coordinate status
  258. registers:
  259. Not yet 100% correct (see top of src/video/SpriteChecker.cc for some
  260. TODOs). But at least 'Ace in Space level 3' works now. So far this
  261. seems to be the only game that actually uses this feature.
  262. Fixes [2510696].
  263. 2009-01-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  264. * Major changes in CPU emulation core:
  265. I've worked on this patch on a local (private) branch for several
  266. weeks. Actually it are several related patches and ideally I should
  267. also commit it as seperate patches. However developing on a private
  268. branch means (at least for me) do a couple of commits, detect a
  269. mistake in one of the earlier commits, make a new commit that
  270. corrects that mistake and so on. Usually I do the extra effort to
  271. extract a clean patch-series from my local branches before committing
  272. them. However this time that would require quite some extra time, and
  273. as you guessed already I was too lazy to spend that time. Though as
  274. compensation I wrote some extra doc about the inner workings of our
  275. CPU emulation (see src/cpu/CPUCore.cc)
  276. These are more or less the steps that are combined in this commit:
  277. * Put instruction selection into one big function:
  278. this allows to 'goto' between all part of this code (required
  279. in later steps)
  280. * Move opcode fetching (initial byte) and time accounting into
  281. this function (preparation for next step)
  282. * Allow to execute multiple instructions inside this function
  283. * Use gcc extension 'computed goto' to implement faster dispatch
  284. * Added fallback for compilers that don't have this extension (VC++)
  285. * Simplified 'exit-test', see doc in CPUCore.cc for details
  286. * Some smaller time bookkeeping optimizations:
  287. - IX/IY instructions updated clock in two steps -> merged into one
  288. step
  289. - Some helper routines took a 'extra-cycles' function parameter.
  290. Turned this into a template parameter to force the compiler to
  291. treat it as a compile-time-constant. (Actually gcc already did
  292. this optimization by itself most of the time when the function
  293. got inlined, but now the optimization is guaranteed.)
  294. 2009-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  295. * Implemented difference between AY8910/YM2149 reading of registers:
  296. - thanks to enen for doing most of the investigation on real MSX
  297. machines
  298. 2009-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  299. * Merged (part of) mfeingol's work to make openMSX compile with VC++:
  300. - code still compiles with gcc, but i couldn't test myself with VC++,
  301. so probably this work is not finished yet ;)
  302. - build system is still TODO, these are only changed in the C++
  303. source files
  304. 2009-01-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  305. * Released openmsx-0.7.0
  306. 2008-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  307. * Updated to cbios 0.22
  308. 2008-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  309. * For carta command, check for errors (rom and ips files)
  310. before removing the currently inserted cartridge.
  311. 2008-11-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  312. * Added '-repeat' option to 'bind' command:
  313. - When the '-repeat' options is given and the key remains pressed,
  314. the command will be repeat (just like regular key repeat while
  315. typing).
  316. - Used this feature in the OSD menu.
  317. 2008-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  318. * Added possibility to take screenshots of only the msx screen (so no
  319. OSD stuff and console):
  320. For the moment this is done by passing the option -msx to the
  321. screenshot command, this will take a screenshot of size 640x480.
  322. There will also be no scaler or any other effects in the screenshot.
  323. You can use -msxsmall to take a screenshot of size 320x240 (-msxbig
  324. is a synonym for -msx).
  325. TODO is the syntax of this command ok? Also still need to document
  326. it.
  327. 2008-10-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  328. * Optimized VDPCmdEngine:
  329. The core of most VDP commands goes like this:
  330. 1 transform x,y coordinate(s) to vram address(es)
  331. 2 do some operation on that address(es)
  332. 3 increase (or decrease) coordinates to loop over the whole
  333. rectangle (mostly only the x-coordinate changes)
  334. 4 repeat if there is still time left
  335. The coordinate to address transformation requires quite some shift
  336. and logical operations. In the next iteration all these operations
  337. are repeated.
  338. In this patch the vram address is calculated incrementally: we
  339. calculate it once at the beginning of the loop and then adjust the
  340. address when the x-coordinate changes. We have to take care of vram
  341. interleaving (screen 7 and 8) and that several pixels map to the same
  342. address (screen 5, 6, 7).
  343. A second optimization is to simplify the stop-condition for the
  344. innermost loop. Before we broke out of this loop either when
  345. destination time was reached or when we reached the end of a
  346. horizontal line (implemented as two seperate tests). Now we calculate
  347. up-front which of these two condition will occur first and iterate
  348. that many times (with only one test).
  349. I measured between 4% and 8% speedup on total emulation time for the
  350. Space Manbow intro demo (renderer=none, sounddriver=null).
  351. 2008-10-25 Manuel Bilderbeek <manuel@msxnet.org>
  352. * Added Sony HB-10P and Sony HB-55P, thanks to Rudi Westerhof. Also
  353. added Sony HB-20P a few days ago, thanks to MSXKun.
  354. 2008-10-16 Manuel Bilderbeek <manuel@msxnet.org>
  355. * Implemented rough, but measurement-based timing for V9990 for
  356. commands LMMV, LMMM, BMXL, BMLX and BMLL. Code by Wouter. Original
  357. measurement programs by Peter Mastijn. Measurements by Wouter and
  358. me, using Wouter's more generic measurement program. Fixes [421861]!
  359. 2008-09-25 David Heremans <david.heremans@gnu-linux.net>
  360. * Vram debuggable changed:
  361. First step towards creating a debuggable that provides a logical
  362. view upon the VRAM based upon the current videomode. This is the
  363. behavior an ML-coder expects when dealing with the VDP.
  364. The old chipbased view upon the vram is now called "physical VRAM"
  365. instead.
  366. 2008-09-21 Manuel Bilderbeek <manuel@msxnet.org>
  367. * Added Brazillian OPL3Cartridge (MoonSound without wavetable).
  368. Still mostly untested, although MSX-Audio games (e.g. from Compile)
  369. seem to work with it. See RFE tracker item 1815450.
  370. 2008-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  371. * Added 'probe' debug infrastructure:
  372. see 'help debug probe' or (doc/manual/command.html)
  373. 2008-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  374. * Made Disk and SectorAccessibleDisk write-protectable:
  375. Added WriteProtectable interface and refactor code so that really
  376. all write methods check this write protected flag.
  377. 2008-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  378. * Split MSXtar class into two parts:
  379. - DiskImageUtils: this part knows about partitions and format
  380. - MSXtar: this part knows about files and directories
  381. Rational: before this change, the interface of the MSXtar class was
  382. a bit confusing, especially the usePartition() method. Depending on
  383. which MSXtar functionality you plan to use, you either must call it,
  384. were not allowed to call it or must call it but ignore exceptions
  385. thrown by it.
  386. To simplify this, I split the functionality of the MSXtar class in
  387. two parts. Now MSXtar doesn't know anything anymore about partitions
  388. and formatting (of course it's still possible to work on partitions,
  389. but that's now abstracted via the new DiskPartition class).
  390. 2008-08-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  391. * Fixed some UMRs triggered during savestate:
  392. Before savestates this was not a problem because those value _are_
  393. initialized before they are used in actual msx emulation code. Though
  394. savestates can read these values earlier. And if the variable was an
  395. enum, it could even lead to an assert.
  396. Thanks to Vampier for reporting this bug.
  397. 2008-08-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  398. * Diskmanipulator changes:
  399. - Teach diskmanipulator about multiple active msx machines.
  400. Before this change 'diska' always refered to the 1st drive of
  401. the oldest machine. Now it refers to the active machine. It's
  402. also possible to explicitly qualify the wanted machine with
  403. syntax like 'machine2::diska'.
  404. - Improved check on whether the specified partition exists or
  405. not.
  406. 2008-07-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  407. * Changed our Unicode code with UTF8-CPP code:
  408. http://utfcpp.sourceforge.net/
  409. This fixes the TODO's left in our Unicode code. But it's mainly
  410. dome as preparation to serialize the Keyboard class (because a
  411. 'type' command in progress doesn't survive a savestate ATM). The
  412. old code in the Keyboard class contained a UTF16 encoded string,
  413. but the serialization framework can't (directly) serialize that.
  414. 2008-07-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  415. * Optimized de-serialization of arrays:
  416. Directly deserialize the elements in the correct position in
  417. memory. Before the element was loaded in a local variable and
  418. then copied to the correct position in the array.
  419. This also fixes a bug in AY8910 when detune/vibrato was used,
  420. because copying a AY8910::ToneGenerator object is not allowed.
  421. 2008-07-20 Manuel Bilderbeek <manuel@msxnet.org>
  422. * Renamed Midi{In,Out}Native to Midi{In,Out}Windows (untested!)
  423. * Made save/loadstate commands a bit more comfortable, so we can
  424. easier test this stuff :)
  425. 2008-07-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  426. * Enabled savestates to memory (as opposed to XML files):
  427. - Currently available via the 'mem_savestate' and 'mem_loadstate'
  428. commands, but this will still certainly change.
  429. - Speed seems to be quite good:
  430. savestate MSX1: 125us
  431. MSX2: 310us
  432. TurboR: 734us
  433. boosted MSX2: 3770us
  434. This between 200 and 400 times faster than the XML savestates!
  435. So it seems to be fast enough to implement a 'reverse-time'
  436. feature.
  437. 2008-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  438. * Serialize pluggables (WIP):
  439. Current code serializes all pluggables even those that are not
  440. plugged in. The available pluggables depends on the platform (e.g.
  441. the Midi{In,Out}Native pluggables on windows), the openmsx
  442. configure options (e.g. CassetteJack), the openmsx version (more
  443. pluggables in newer versions) and even the state of the host
  444. machine (connected a USB joystick). ATM loading a savestate only
  445. works when the exact same list of pluggables is available.
  446. Maybe we should only serialize those pluggables that are actually
  447. plugged in in the emulated machine (TODO verify that pluggables
  448. don't keep state over unplug-plug cycle).
  449. ATM only the state of the pluggables itself is serialized. We don't
  450. yet restore the actual plug state (which pluggable is plugged in
  451. which connector).
  452. 2008-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  453. * Merged Rom{4,8,16}kBBlocks classes into one templatized class
  454. 2008-07-01 David Heremans <david.heremans@gnu-linux.net>
  455. * Fixed two bugs in the diskmanipulator:
  456. - one preventing correct 360KB disk creation on some machines
  457. - one valgrind warning about variable initialization
  458. 2008-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  459. * More serialization work:
  460. - Philips_NMS_8250 can be serialized now, but still very
  461. few other machines or extensions are supported
  462. 2008-06-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  463. * Added HIGHLY EXPERIMENTAL savestates:
  464. - Only very few things work yet, but I was able to resume
  465. 'Road Fighter' running in a MSX1 (actually that's about the
  466. most complex setup that already works).
  467. - There are two new commands (still VERY primitive)
  468. savestate <machineID>
  469. loadstate
  470. 'savestate' will create a openmsx.xml.gz file in the current
  471. directory. 'loadstate' will read this file and create a new
  472. machine based on this state. You can use 'activate_machine
  473. <machineID>' to switch to that machine.
  474. 2008-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  475. * Require extension hardwareconfig.xml files to list devices inside a
  476. <devices> tag. We already updated all our device configs for this
  477. over two years ago.
  478. 2008-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  479. * Implemented TMS99x8 VRAM remapping (reg#1, bit 7):
  480. thanks to: - enen for providing the technical info
  481. - Quibus for testing it on both real and emulated
  482. machines
  483. 2008-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  484. * Implemented 'tabbed' machines:
  485. It's now possible to have multiple msx machines in memory and freely
  486. switch between them. This is done with the already existing
  487. 'activate_machine' command. Only the active machine is running, the
  488. other machines are paused.
  489. This may not be the most useful feature, but we already had the
  490. 'activate_machine' command for other reasons (e.g. machine
  491. switching) and you could argue that it's a bug that it didn't
  492. already work like it does now. Basically we already had all the
  493. infrastructure in place. Actually enabling session support required
  494. relatively few changes (mostly mechanical). Also having this feature
  495. working gives more confidence that the design is right.
  496. 2008-06-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  497. * Simplified machine handling stuff in Reactor:
  498. Before we had some (complicated) logic in the Reactor class to
  499. postpone the actually machine switch till the main reactor loop has
  500. had a chance to run. The reason for this was that the 'machine'
  501. command (or other related commands) can get executed via a code path
  502. that runs through the current machine, meaning there are stackframes
  503. active that refer to the current machine. Only in the main reactor
  504. loop we're sure there are no such stackframes. A consequence of this
  505. approach is that for example in this sequence of Tcl commands:
  506. machine turbor ; diska mydisk.dsk
  507. The 'diska' command is still executed in the old machine, because
  508. the reactor loop has not run yet. If there is 'some pause' inbetween
  509. the two commands, the 'diska' command is executed in the new
  510. machine. At the very least this is not very intuitive.
  511. Taking a step back, switching the active machine (which has active
  512. stackframes) was not the problem, but deletion of that machine is.
  513. So instead of postponing the whole switch, we now only postpone the
  514. deletion of the old machine. The Tcl commands now work as expected.
  515. Also did some other refactoring to make the code easier to
  516. understand.
  517. 2008-06-12 David Heremans <david.heremans@gnu-linux.net>
  518. * Fixed a small bug in DirAsDisk:
  519. Read-only host-OS files became truncated in the MSX dsk image.
  520. 2008-06-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  521. * Fixed compilation of CPU code with gcc-3.4:
  522. Compilation with gcc-3.4 was broken because of a compiler bug,
  523. gcc-4.x works just fine. Worked around it. Though I still like
  524. to demote gcc-3.4 support to second class.
  525. 2008-06-04 Alex Wulms
  526. * Added French version of VG8010/VG8020 and corresponding unicodemap files
  527. 2008-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  528. * Fixed V9990 vertical scroll behaviour:
  529. Based on MRC forum post by GhostwriterP (page 3, post 12)
  530. http://www.msx.org/forumtopicl8574.html
  531. 1) Writing to high byte of scroll register only takes effect at the
  532. start of the next frame. This is for both scroll A and B
  533. registers.
  534. 2) Writing to low byte has effect the next line. The next line that
  535. will be displayed is the line number just written to the register
  536. 3) point 2) has no effect on the sprite vertical sprite position
  537. (this was wrong in the initial openmsx implementation)
  538. 2008-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  539. * Added -clip option to OSD widgets:
  540. - If this option is true, then child widgets are clipped to the
  541. bounding box of this widget.
  542. - Used in the OSD menu script to make sure (long) text lines don't
  543. gun over the end of the menu window.
  544. * V9990 display enable only takes effect at the next frame
  545. 2008-05-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  546. * Reduced code duplication in CPUCore by templatizing various stuff:
  547. - For example, a lot of instruction methods only differ in the
  548. registers they act upon (e.g. inc_hl() vs inc_de). By making
  549. templatized helper functions to read/write registers, a lot of
  550. these instruction methods can be combined into a single
  551. templatized instruction method.
  552. - This reduced code size by almost 2000(!) lines.
  553. - The generated code is also about 100kB smaller. I'm not sure
  554. why exactly, but I think because it doesn't need to keep a
  555. non-inlined version of the templatized instruction methods in
  556. the final executable.
  557. - Speed of the CPU code has not changed.
  558. 2008-05-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  559. * Tuned R800 refresh (still WIP)
  560. 2008-05-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  561. * Implemented dynamic IO port allocation for Panasonic MSX-AUDIO:
  562. fixes: [1231256] Panasonic MSX-AUDIO not detected for games
  563. 2008-05-24 Maarten ter Huurne <maarten@treewalker.org>
  564. * Fixed AVI recording (ZMBV encoding, to be exact) on big endian CPUs.
  565. 2008-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  566. * Fixed R800 page-break behaviour:
  567. - did a lot of measurements on a real turbor, see
  568. doc/r800test.txt
  569. - refactored CPU code to match this (WIP)
  570. 2008-05-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  571. * Reading sectors from a disk image via the SectorAccessibleDisk
  572. interface didn't apply the IPS patches:
  573. This had as effect that accessing the disk in the emulated
  574. machine did show the effect of the IPS patches, but using
  575. the diskmanipulator on the same disk ignored the IPS patches.
  576. 2008-05-19 Manuel Bilderbeek <manuel@msxnet.org>
  577. * Final fixes on Nettou Yakyuu mapper, including enhanced sample
  578. player.
  579. 2008-05-17 Manuel Bilderbeek <manuel@msxnet.org>
  580. * Added WIP version of Nettou Yakyuu mapper, used by the game "Moero!!
  581. Nettou Yakyuu '88". Thanks to hap/enen for the research and blueMSX
  582. implementation and Wouter for teaching me about this stuff.
  583. 2008-05-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  584. * Fixed crash in DirAsDsk / DiskManipulator:
  585. Occured when a diskimage used a different end-of-fat marker than
  586. 0xFFF. In fact the whole range 0xFF8-0xFFF should be interpreted
  587. as EOF. See:
  588. http://en.wikipedia.org/wiki/File_Allocation_Table#File_Allocation_Table
  589. 2008-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  590. * CPU time keeping speedup:
  591. - We want to have cycle-accurate bus transactions (memory or IO-port
  592. read/writes). So for example if in one instruction there are
  593. multiple transactions, they should happen at slightly different
  594. moments in time. Also the time of the first transaction is not
  595. necessarily the same time as the start of the instruction.
  596. Initially we implemented this by incrementing the 'current time' by
  597. very small steps at each sub-instruction.
  598. We actually only need this time for very few transactions. The vast
  599. majority of the transactions goes to ROM or RAM (IOW to 'cachable'
  600. memory regions), and there the exact time is not important at all.
  601. To speedup this time keeping, we now only increment the 'current
  602. time' with the whole instruction cycle count. In case we do
  603. perform a transaction to non-cachable memory we still first have
  604. to calculate the current time. To be able to do this all
  605. transactions have been annotated with 'cycles since start of the
  606. instruction' information.
  607. I measured between 5% and 10% speedup on the ZEXALL benchmark with
  608. this change.
  609. 2008-04-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  610. * Optimized check for pause in CPU code
  611. 2008-04-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  612. * Use switch statement instead of jump table in CPUCore:
  613. - Is about 10%(!) faster when using gcc-4.2, more when using
  614. recent gcc snapshot. With gcc-4.1 it's performance neutral,
  615. gcc-3.4 was a big slowdown (but we care less about such old
  616. compilers).
  617. - Some history:
  618. I had already tried this before, but at that time it wasn't a
  619. win. Recent gcc versions are able to eliminate the check for the
  620. 'default' case when it can prove all cases are enumerated in the
  621. switch statement (here we switch on a byte type and provide all
  622. 256 cases). With this optimization the switch approach gave a
  623. small speed gain. Then I tried some additional tweaking (force
  624. inlining some core functions). And this gave a much bigger gain,
  625. even on older compilers.
  626. - Because we no longer use a jumptable there is no advantage anymore
  627. in using static functions (with an explicit 'this' argument) over
  628. regular member functions. This makes the code more readable again.
  629. 2008-04-08 David Heremans <david.heremans@gnu-linux.net>
  630. * Fixed a bug in the load_icons script
  631. 2008-04-07 David Heremans <david.heremans@gnu-linux.net>
  632. * Added a new 'fancy' skin
  633. 2008-04-06 Alex Wulms
  634. * Review unicodemaps for MSX models with 'international' font:
  635. - There were some errors in the maps. Especially for
  636. graph and shift-graph key combinations.
  637. 2008-04-06 David Heremans <david.heremans@gnu-linux.net>
  638. * New load_icons script:
  639. - Added suport for frame.png
  640. - Added time-before-fade-starts
  641. * Some extra comments in the DirAsDisk
  642. 2008-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  643. * Added share/skins/Vera.ttf.gz:
  644. - also added support for compressed font files
  645. 2008-03-30 Alex Wulms
  646. * Add support for Philips VG8010:
  647. - Add new unicodemap unicode.proto_int; the VG8010 has a keyboard
  648. matrix that differs completely from all other MSX models. It seems
  649. to be some kind of prototype of the keyboard matrix
  650. - Add 'GRAPH locks' processing logic to the copy&paste routine in
  651. the keyboard driver (GRAPH has a locking behaviour on VG8010)
  652. * Fix DEAD key behaviour in keyboard driver in KEY mapping mode:
  653. - In KEY mapping mode, RCTRL key must be mapped to row 5 col 2 in the
  654. keyboard matrix (DEAD key on 'international' MSX keyboard) or to
  655. whatever other position if user has loaded another KeyToKey mapping
  656. file. Either way, it has to follow the 'Key to Key' mapping logic
  657. - In CHARACTER mapping mode, RCTRL key must be mapped according to
  658. the DEADKEY position in the unicode map files (for the MSX models
  659. that do have a DEAD key)
  660. 2008-03-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  661. * Fixed Z80 timing of accepting a IRQ:
  662. - Accepting a IRQ in IM0 or IM1 should take 13 cycles, there is no
  663. extra wait cycle. For IM2 it takes 19 cycles (also no extra wait
  664. cycle).
  665. - Thanks to enen for testing this
  666. 2008-03-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  667. * Added -fadeTarget and -fadePeriod properties for OSD widgets:
  668. - This allows to smoothly fade the alpha value of a widget without
  669. further interaction with this widget. (I mean you don't have to
  670. manually change the alpha value in small steps.)
  671. - Allows to greatly speedup the OSD icons Tcl script. (In the GP2X
  672. port, it took a lot a time)
  673. 2008-03-16 Manuel Bilderbeek <manuel@msxnet.org>
  674. * Some small improvements in the cassette player:
  675. - clearer errors when both a wav and a cas image fail to work
  676. - properly flush the recording when switching to play mode
  677. Still needs more work to properly handle 'zero-recordings' after
  678. switching to play mode, see comments in the class.
  679. 2008-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  680. * Replaced C++ IconLayer with a Tcl script
  681. 2008-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  682. * Added 'user_setting' command:
  683. This allows to create openMSX settings from Tcl scripts. The main
  684. advantage of settings over regular Tcl variables is that their
  685. value is preserved over different openMSX sessions.
  686. See 'help user_setting' for more details.
  687. 2008-03-08 Manuel Bilderbeek <manuel@msxnet.org>
  688. * Added -doublesize switch to the 'record start' command, to record at a
  689. size of 640x480. Note: this is usually a lot slower...
  690. 2008-03-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  691. * Fixed bug in OSD rectangle drawing:
  692. As an optimization rectangles with alpha=0 (completely
  693. transparent), were not allocated in memory. This caused problems
  694. when we needed the dimensions of this rectangle to calculate the
  695. position of child widgets. Fixed by refactoring the transformation
  696. code.
  697. 2008-03-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  698. * Added 'openmsx_info realtime':
  699. It was already possible to query the emutime of a machine in
  700. Tcl, now it's also possible to query the realtime.
  701. * Added '-scaled' OSD property:
  702. OSD widgets with this property (or child widgets whose parent has
  703. this property) are automatically scaled according to the
  704. 'scale_factor' setting. This makes it possible to design a GUI
  705. independent of the host window resolution.
  706. 2008-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  707. * Extended OSD stuff:
  708. - widgets are now hierarchically structured (the 'osd create'
  709. subcommand has been changed to allow this)
  710. - child widgets are placed relative to their parent widget
  711. - there can be an offset relative to parent in pixels (in the
  712. future probably also in 'scaled' pixels)
  713. - or offset can be as a percentage of the bounding box of the
  714. parent widget
  715. 2008-03-02 Alex Wulms
  716. * Several updates to keyboard driver:
  717. - Rename all keyboard settings to start with kbd_ so that they
  718. are grouped together when listed in alphabetic order, like in
  719. the documents.html file and in the tab expansion of the
  720. various commands in the console
  721. - Add support for a few keys that are specific to the jp106
  722. keyboard model (the most used keyboard in Japan)
  723. 2008-02-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  724. * Added 'MatraShockware' mapper type:
  725. This is a non-bankswitched mapper that uses a AMD flash ROM. The
  726. flash is wired-up in such a way that writes end up in a different
  727. region as reads. The effect is that the flash' autoselect function
  728. tells you that a region is not write-protected, but when you
  729. actually try to reprogram that region it has no effect. The game
  730. 'INK' actually uses this as a sort of copy protection (if this
  731. check fails, stage 2 goes back to stage 1).
  732. See also this forum thread:
  733. http://www.msx.org/forumtopic8329.html
  734. 2008-02-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  735. * Added new mapper type: plainflash
  736. It's plain mapper type (no bankswitching), but implemented
  737. with a Flash Rom, so it reacts to certain write-sequences.
  738. According to this forum topic
  739. http://www.msx.org/forumtopicl8329.html
  740. the Matra INK game uses this as a sort of copy protection.
  741. 2008-02-25 Alex Wulms
  742. * Several updates to keyboard driver:
  743. - Implemented auto-toggle of KANA-lock (and CODE-lock on VG8010)
  744. based on the character that the user enters. This is only done on
  745. MSX models on which CODE/KANA has a locking behaviour. Though,
  746. user can switch it off via auto_toggle_code_kana_lock setting.
  747. - Implemented auto-toggle of CODE/KANA-lock when pasting characters
  748. (either through catapult or via the type command in the console).
  749. This is always done on MSX models on which the CODE/KANA locks.
  750. - Implemented auto-toggle of CAPSLOCK when pasting characters. This
  751. is especially required for japanese models, which use CAPSLOCK to
  752. differentiate between hiragana and katakana entry mode when
  753. CANALOCK is on.
  754. - Added a mnemomic DEADKEY to the unicode maps, to indicate the
  755. position of the dead key in the MSX matrix (it is different on
  756. german MSX models)
  757. - Added setting keyboard_mapping_mode, so that user can select
  758. between KEY to key mapping mode and CHARACTER to key-combination
  759. mapping mode.
  760. - Refactored keyboard driver; unicode mapping data is now in its own
  761. class and it uses a std::map to store the mapping data in stead of
  762. a (sparse) 64k entries matrix.
  763. 2008-02-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  764. * Added low level OSD Tcl commands:
  765. - It's now possible to draw OnScreen filled-rectangles, images
  766. and text. See 'help osd' for more details.
  767. - Font rendering is done with SDL_ttf. This is a new library
  768. dependency.
  769. - This is still very much work in progress.
  770. 2008-02-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  771. * Added 'horizontal_stretch' setting:
  772. - amount of horizontal stretch can now be configured (some
  773. users repeatedly asked for this ;-)
  774. - removed horizontal_stretch enum from display_deform setting
  775. - as a bonus horizontal stretch can now also be used in
  776. combination with the 3D deform mode
  777. 2008-01-28 Alex Wulms
  778. * Initialized key_ghosting_sgc_protected parameter in all
  779. hardwareconfig.xml file:
  780. Initial value of the parameter is derived from keyboard
  781. code at ROM BIOS address 0x2c; for Japanese machines,
  782. it is set to false and for all others to true (this is based
  783. on tests with some real machines)
  784. 2008-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  785. * Introduced PLATFORM_GP2X #define,
  786. don't call getpwuid() if this #define is set
  787. 2008-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  788. * Conditionally compile 16/32bpp and scaler code:
  789. GP2X port only needs 16bpp and scale factor 1
  790. 2008-01-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  791. * Removed workaround for pre gcc-3.4 compilers
  792. 2008-01-18 Alex Wulms
  793. * Added key-ghost protection for SHIFT, GRAPH and CODE keys:
  794. This exists on several real models; these three keys are connected
  795. to row 6 via a diode (one diode per key)
  796. Have made it configurable through hardware.xml. Default is that
  797. the protection is on
  798. 2008-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  799. * Refactored OutputSurface class:
  800. - Made all members private (was protected) and added protected
  801. getter/setters. This makes the interface between base and sub
  802. classes explicit.
  803. - Renamed getFormat() to getSDLFormat() to make it clear that this
  804. method still works dircetly on SDL data structures.
  805. - Added lock(), unlock() and isLocked() methods. These wrap the
  806. SDL_LockSurface() and SDL_UnlockSurface() functions. It for
  807. example allows to check that getLinePtrDirect() is only called on
  808. a locked surface.
  809. The first two changes allow for easier refactorings. The last change
  810. is a step towards enabling the use of HW accelerated SDL-blit
  811. functions on the GP2X port.
  812. * Move calls to OutputSurface::lock() / unlock() to a lower level:
  813. Every function that wants to access pixels directly should now make
  814. sure the surface is locked. Similarly a function that wants to use
  815. blit operations must unlock the surface. This allows for the
  816. minimal amount of locked<->unlocked transitions. (Locking while
  817. already locked or unlocking while already unlocked is very fast.)
  818. 2008-01-16 Alex Wulms
  819. * Added German keyboard map (unicodemap.de):
  820. It is needed for Sony HB-F700D. Please note that currently it gives
  821. a key-ghosting effect when entering { character; on german MSX this
  822. character must be entered by pressing SHIFT, CODE and ( keys
  823. SHIFT and CODE are on same ROW
  824. SHIFT and ( are on same COLUMN
  825. Hence the < character gets 'ghost pressed' (in same column as CODE)
  826. Need to figure out how this works on the real machine. Does it contain
  827. hardware to prevent key ghosting?
  828. 2008-01-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  829. * Optimized SCC::generateChannels()
  830. 2008-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  831. * Optimized CheckedRam for the case there is no umrcallback set:
  832. In some cases (e.g. in manbow2) it still caused some overhead:
  833. Internally openMSX divides memory in 256 byte chunks (see
  834. ChacheLine.hh) as soon as all 256 bytes in a chunk have been
  835. written to, read/writes to this chunk happen without overhead.
  836. Usually this happens early in the MSX boot process or startup code
  837. of a game. However manbow2 has 2 or 3 chunks that are read very
  838. frequently but only partly initialized.
  839. Solved by treating the memory completely initialized in case the
  840. 'umrcallback' settings is empty (no callback function registered).
  841. 2008-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  842. * Fixed reading of wav cassette images on Windows:
  843. Some versions of(?) windows can't open the same file multiple
  844. times in read-write mode. But this is exactly what happened by
  845. using the (now removed) File::getLocalFile() method combined with
  846. SDL_LoadWav(). In the past (2007-08-29) we already solved a similar
  847. problem with IMG_Load(). We solved this by deleting the File object
  848. before using the path returned by getLocalFile(). This works for
  849. regular files, but not for compressed files. I like to gzip my wav
  850. images so we need a different solution.
  851. To solve this I removed the old getLocalFile() method and created a
  852. new class LocalFileReference. This class makes sure there is no
  853. open file reference anymore after its constructor finishes and that
  854. there is a local uncompressed version of the file for at least as
  855. long as the lifetime of the corresponding objects this class.
  856. 2008-01-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  857. * in CPUCore prefer to use 'unsigned int' over 'word' datatype:
  858. Results in smaller and faster code. On x86, instructions that work
  859. on 32-bit are shorter than those for 16-bit. Code size reduced
  860. about 10kB, code is slighter faster (depends a lot on compiler
  861. version and optimization options). ARM CPUs don't even have 16-bit
  862. operations, only (limited) 16-bit load/store instructions. Here code
  863. size reduced about 20kB and is about 4% faster.
  864. 2008-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  865. * changed SoundDevice::updateBuffer() method:
  866. As parameters this method (still) receives a number of buffers,
  867. each buffer should be filled with the audio-output of one channel.
  868. Before this change the existing data in the buffer should simply be
  869. overwritten. Now the new data should be added to the existing data
  870. in the buffer.
  871. This new approach allows to let several channel buffers actually
  872. point to the same underlying buffer (in fact only a muted or
  873. recorded channel will still get it's own private buffer). This
  874. allows to (mostly) skip the mix-channels step.
  875. I measured on my core2duo CPU and this new approach is slightly
  876. slower (a few percent) than the old one. If I disable SSE2
  877. optimizations in mixChannels, it's about the same speed. However on
  878. older CPUs without SSE2 and with smaller caches (like ARM) it's
  879. definitely faster. I guess because this new approach is more
  880. cache-friendly.
  881. 2008-01-03 Maarten ter Huurne <maarten@treewalker.org>
  882. * Removed execution of ~/.openMSX/share/init.tcl on openMSX startup.
  883. We have a "scripts" dir which can be used instead.
  884. This avoids an infinite loop if the user copies the openMSX internal
  885. version of "init.tcl" into the user dir.
  886. 2008-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  887. * Created 5 new commands:
  888. - create_machine (returns machine ID)
  889. - delete_machine <machine-ID>
  890. - list_machines (return list of machine IDs)
  891. - activate_machine <machine-ID>
  892. - <machine-ID>::load_machine <config-name>
  893. - These commands allow to implement the existing commands 'machine'
  894. and 'test_machine' as Tcl procs (not yet done).
  895. - This also allows to test extensions with the existing 'ext'
  896. command.
  897. - It also allows to have multiple running msx machine in memory,
  898. though ATM we always show the video/sound of the oldest machine.
  899. 2008-01-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  900. * Added DivModByConst and DivModBySame utility classes:
  901. - these allow to replace a 64-bit by 32-bit division or modulo
  902. operation by a multiplication/addition/shift. This helps if
  903. the divider is a constant, especially on CPUs without division
  904. instructions (like ARM)
  905. * Always use 512kb flash for Manbow2 and MegaFlashRomScc mapper types:
  906. Flash RAM saving now works in 'Lotus F3'.
  907. 2008-01-01 Patrick van Arkel (vampiermsx@gmail.com)
  908. * Added Original ROM tag to database and added tag handeling to
  909. RomInfo.cc.
  910. * Changed list.php on http://romdb.vampier.net to include original
  911. release tags.
  912. 2007-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  913. * Fixes for videosource setting:
  914. - after switching machines, the list of allowed values could be
  915. wrong
  916. - doing 'unset videosource' crashed while MSX was not powered on
  917. 2007-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  918. * Restructured MemoryOps::memset implementation:
  919. should make it easier to also add non-x86 asm routines
  920. 2007-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  921. * Optimized sprite drawing in mode 2:
  922. I still like this code to be reviewed. I believe it's correct,
  923. but sprite mode 2 is tricky sometimes.
  924. * Fixed error handling while parsing setting files
  925. 2007-12-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  926. * More YM2413 stuff:
  927. One of the previous optimizations triggered an assert, so I had
  928. to revert (part of) it. Now I reimplemented it in a correct way,
  929. it's even slightly faster than the previous implementation.
  930. * Made some YM2413 methods ALWAYS_INLINE:
  931. Gcc already did this for x86, but not for ARM. And it is measurably
  932. faster (also on ARM) if they are inlined.
  933. 2007-12-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  934. * Send out an update event for newly created settings:
  935. - This way catapult is informed of value changes for
  936. destroyed/recreated setting (happens for some settings during a
  937. machine switch).
  938. 2007-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  939. * Refactored BooleanSetting:
  940. Don't inherit from EnumSetting<bool> anymore. This requires
  941. slightly more code but allows to better tune the code:
  942. - openmsx_info setting now returns 'boolean' (was 'enumeration')
  943. - querying the value now returns true/false (was on/false)
  944. - as a bonus the new implementation has less #include dependencies
  945. 2007-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  946. * More YM2413 optimizations:
  947. - swapped inner/outer loop, now generate all samples for a channel
  948. before moving on the next channel.
  949. - made a special case for channels without AM or FM modulation
  950. 2007-12-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  951. * More YM2413 optimizations:
  952. - only update noise value in rhythm mode
  953. - made Channel::global a function parameter iso a member variable
  954. - moved 'fnum' and 'block' from Slot to Channel, merge them into one
  955. new 'freq' variable
  956. * General SoundDevice/MSXMixer optimization:
  957. - added SoundDevice::getAmplificationFactor(), this allows to move
  958. a multiplication (or shift) from the sounddevice to the mixer. In
  959. the mixer there already was a multiplication (for per device
  960. volume setting) so those two can be merged.
  961. 2007-12-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  962. * Various YM2413 optimizations:
  963. - made lfo_pm and lfo_am local variables iso member variables
  964. - we used to store the last two Slot output values, but actually
  965. one the last one was needed
  966. - inlined advance() and calcSample() methods, this allows the next
  967. two items:
  968. - calc_phase() and calc_envelope() are not required when channel is
  969. inactive (there is an exception for two rhythm channels)
  970. - moved calc_phase() and calc_envelope() into the different
  971. calc_slot_xxx() methods, this in turn enables the next two items
  972. - the egout member variable can become a local variable
  973. - rhythm channels don't use FM or AM, so we can use simpler
  974. calc_phase() and calc_envelope() variants
  975. - small simplifications, removed dead code
  976. * Made keyboard event parsing (for event recorder/replayer) slightly
  977. more robust
  978. 2007-12-10 Alex Wulms
  979. * Added unicode support to event recorder/replayer logic
  980. 2007-12-09 Aernold Metselaar <arnold.metselaar@planet.nl>
  981. * Fixed small bug in diskmanipulator:
  982. Extracted files timestamp had most signifiocant bit of minutes set
  983. to zero.
  984. 2007-12-09 David Heremans <david.heremans@gnu-linux.net>
  985. * Fixed small bug in diskmanipulator:
  986. Extracted files timestamp had an offset of one month.
  987. 2007-12-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  988. * Another YM2413 optimization:
  989. Before the Slot objects kept a pointer to a Patch object, possibly
  990. they can share the same Patch. One of the patches is used for the
  991. custom instrument, so this one can change.
  992. After this patch we keep the Patch object by value in Slot. A
  993. disadvantage is that if the custom instrument changes, we have to
  994. update it in every Slot that has this instrument selected (though
  995. we already had to check this for other reasons).
  996. This change removes one pointer indirection from frequently used
  997. code, in total I measured about 2% speedup.
  998. 2007-12-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  999. * Various optimizations in YM2413:
  1000. Combined I could measure upto 10% speedup.
  1001. 2007-12-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1002. * Optimized BitmapConverter::renderGraphic4() and renderGraphic6():
  1003. Created a 16x16 table to lookup two pixels at once. This helps
  1004. a little on 64-bit machines in 32bpp mode. On 32-bit I couldn't
  1005. measure a difference (positive nor negative). It also helps on
  1006. 32-bit machines in 16bpp mode, as is the case for GP2X. There I
  1007. could measure a clear speed gain.
  1008. * Greatly simplified ResampleLQ:
  1009. New implementation can only do downsampling, but that's good
  1010. enough, even when output freq is 48kHz.
  1011. 2007-12-01 Maarten ter Huurne <maarten@treewalker.org>
  1012. * Dropped support for GCC 3.3.
  1013. This was triggered by link errors when using std::basic_string<unsigned>
  1014. in the new keyboard mapping code. Working around this would require a
  1015. large amount of extra code to be written, which is not worth it.
  1016. 2007-12-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1017. * Fixed problem in BliBuffer:
  1018. In some cases our mute-optimization kicked in too soon,
  1019. (low frequency, low volume, short audio sync intervals triggers it
  1020. more often). This was audible as low frequency, low volume noise.
  1021. * Previous changes in keyboard handling turned OPENMSX_FOCUS_EVENT and
  1022. OPENMSX_BOOT_EVENT (also) into msx events, this is wrong.
  1023. Event recording/replaying is still wrong because the logs don't
  1024. contain unicode information. Need to discuss this with Alex. Maybe
  1025. we need to log msx keyboard matrix info instead?
  1026. 2007-11-25 Alex Wulms
  1027. * Initialized keyboard_type and has_keypad parameter in all
  1028. hardwareconfig.xml file:
  1029. Initial value of keyboard_type is derived from keyboard
  1030. code at ROM BIOS address 0x2c.
  1031. Initial value of has_keypad is guessed from MSX version via a
  1032. simple heuristical rule; it is set to false for MSX1 and to
  1033. true for MSX2 and higher.
  1034. 2007-11-24 Manuel Bilderbeek <manuel@msxnet.org>
  1035. * Added connector update events, to keep track of which connectors
  1036. are available.
  1037. 2007-11-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1038. * Removed EmuTime parameter from MSXDevice constructor (was not used).
  1039. 2007-11-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1040. * Optimization in SpriteChecker::checkSprites1() and
  1041. SpriteChecker::checkSprites2():
  1042. Before we checked line-by-line which sprites are visible for that
  1043. line. Now we check it for lines in a whole range at the same time.
  1044. 2007-11-21 Alex Wulms
  1045. * Added docs/keyboard.readme:
  1046. This document explains which new parameters have been
  1047. introduced in hardwareconfig.xml and in settings.xml
  1048. 2007-11-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1049. * Optimized MSXMixer::generate():
  1050. see comments in that method for more details
  1051. 2007-11-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1052. * Big optimization in AY8910::generateChannels():
  1053. Because the PSG generates mostly square waves and because we
  1054. emulate the PSG at a high frequency (224kHz), lots of consecutive
  1055. output samples have the same value (typically 100 or more!). We
  1056. used to emulate the PSG step-by-step, instead now we calculate the
  1057. moment in time when the output will change and output with that
  1058. many equal samples.
  1059. Because of this change PSG emulation itself became 3x-4x faster. On
  1060. total emulation time this is upto 10% faster.
  1061. This change was actually done as a preparation to use BlipBuffer
  1062. more directly in the PSG code (because BlipBuffer only needs to
  1063. know about changes in the sample stream). But on it's own it was
  1064. already a nice speedup. This also means there is still potential
  1065. for another big speedup.
  1066. 2007-11-19 Alex Wulms
  1067. * Removed conversion program (CVP) marker from russian keymap and
  1068. removed few duplicate entries from spanish keymap
  1069. 2007-11-18 Alex Wulms
  1070. * Fixed unicode map jp_jis, introduced jp_ansi, ru, es :
  1071. - The unicode maps are now derived from the MSX key
  1072. matrixes on the MAP. See following URL:
  1073. http://map.tni.nl/articles/keymatrix.php
  1074. - Updated harwareconfig.xml of Sony_HB-F9P_Russian and
  1075. of Panasonic_FS-A1 to test maps ru and jp_ansi
  1076. 2007-11-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1077. * Optimization in CPUClock:
  1078. Before this change we had two member variables 'limit' and 'extra'.
  1079. Now they are replaced by 'limit' and 'remaining'. The variable
  1080. 'limit' still has the same meaning, the variable 'remaining' is equal
  1081. to the old 'limit - extra'. So the same information is represented
  1082. in a slightly different way. The advantage is that the expression
  1083. 'limit <= extra' now becomes 'remaining <= 0'. This is slightly
  1084. faster but it's used in the innermost CPU loop.
  1085. 2007-11-14 Alex Wulms
  1086. * Processed review comments of Wouter on Keyboard class
  1087. and made several other small improvements
  1088. 2007-11-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1089. * Optimized cacheline handling in CPUCore:
  1090. - before it was used like this:
  1091. const byte* line = readCacheLine[address >> 8];
  1092. byte result = line[address & 0xFF];
  1093. now it's like this:
  1094. const byte* line = readCacheLine[address >> 8];
  1095. byte result = line[address];
  1096. So the cacheline doesn't store directly the address of the
  1097. buffer, but the buffer minus (address & 0xFF00).
  1098. 2007-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1099. * tiny speedup:
  1100. Added non-virtual method RawFrame::getLinePtrDirect(), the base
  1101. class already had a virtual method FrameSource::getLinePtr() that
  1102. does the (on this level). In some places (like SDLRasterizer) we
  1103. know we're working on a RawFrame, so using getLinePtrDirect is
  1104. slightly faster.
  1105. For consistency I also renamed the (non-virtual) method in
  1106. OutputSurface to getLinePtrDirect().
  1107. 2007-11-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1108. * Optimized ResampleBlip:
  1109. This is not the blip algorithm itself, but the preprocess step that
  1110. transforms a sequence of samples into a sequence of 'sample value
  1111. changed' events.
  1112. 2007-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1113. * In various places performed the following two optimizations:
  1114. - Prefer to use int or unsigned int over shorter types (char,
  1115. short). Results in both faster and shorter code (both on x86
  1116. and ARM).
  1117. - Prefer to use unsigned over signed types. Especially when the
  1118. var is used in division or module operations (more important on
  1119. ARM than on x86). But even a simple divide by 2 (or any power of
  1120. 2) is slower on signed types! This is because divide rounds
  1121. toward zero, while a shift-right operation rounds down.
  1122. 2007-11-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1123. * Added 'machine_info device [<devicename>]' info topic:
  1124. - Allows to query the device type of a given devicename
  1125. - Preparation to be able to query rom types
  1126. * Extended 'machine_info device' to also return the romtype (only
  1127. for roms of course)
  1128. 2007-11-06 David Heremans <david.heremans@gnu-linux.net>
  1129. * DirAsDisk has a new sector cache format:
  1130. - Forced little endianess of numbers in the cache.
  1131. - Made sure that files are mapped on the same sectors.
  1132. - Invalidate the cache if files have changed size
  1133. - New files are added afterwards and do not conflict with the cache.
  1134. 2007-11-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1135. * Fixed manbow2 mapper type:
  1136. First 7 sectors (1 sector is a 64kb block) are write-protected,
  1137. only the last sector is writable.
  1138. Created a seperate mapper type 'MegaFlashRomScc' (existed already
  1139. as an alias) which has the complete range writable.
  1140. 2007-11-04 Alex Wulms
  1141. * Introduced unicode character handling in Keyboard class:
  1142. - Before, SDL key-presses where mapped to MSX key-presses.
  1143. Now, unicode characters get mapped to MSX key-combinations
  1144. when SDL returns a unicode character. Otherwise, SDL key
  1145. still gets mapped to MSX key
  1146. 2007-11-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1147. * Optimized AY8910::generateChannels():
  1148. Swapped inner/outer loop. Now the outer loop goes over all (=3)
  1149. channels and the inner loop over the samples. We (potentially)
  1150. duplicate the calculations for the 'shared resources' between the
  1151. channels (envelope and noise), but the inner loops are much
  1152. simpler. In the cases I measured there was a significant net gain:
  1153. it only takes 60% of the original time.
  1154. * Additional AY8910::generateChannels() optimization:
  1155. - Also use the 'silent channel' optimization for channels that use
  1156. envelope volume and envelope has reached zero (and stays there).
  1157. - Simplified the initial tests in generateChannels()
  1158. 2007-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1159. * Optimized MSXCPUInterface::setPrimarySlot():
  1160. more efficient way of updating the not-allowed-to-be-cached
  1161. region information
  1162. 2007-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1163. * Various CPUCore tweaks:
  1164. - mostly to eliminate branches or to produce shorter code
  1165. - I couldn't measure a speed difference, but the code is 2% shorter
  1166. 2007-10-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1167. * Made normal and '_fast' variant of Clock::getTicksTill() and
  1168. Clock::advance(). Use the _fast variant on places where speed is
  1169. important and where it's safe to use.
  1170. (Since 2007-10-03 we always used the fast variant, but occasionally
  1171. that's wrong).
  1172. 2007-10-28 David Heremans <david.heremans@gnu-linux.net>
  1173. * DirAsDisk now only saves 'CACHED' type sectors and the
  1174. final sector of 'MIXED' file caches in the '.sector.cache'
  1175. when the disk is ejected.
  1176. 2007-10-26 David Heremans <david.heremans@gnu-linux.net>
  1177. * DirAsDisk now dedects new files on the Host OS
  1178. 2007-10-24 David Heremans <david.heremans@gnu-linux.net>
  1179. * Fixed DirAsDisk detecting moved/erased files on the Host OS
  1180. 2007-10-24 David Heremans <david.heremans@gnu-linux.net>
  1181. * Extended the DirAsDisk functionality:
  1182. Due to popular demand....
  1183. Got sync from MSX disk to Host OS correct for create,
  1184. delete, rename, grow and shrinking of files.
  1185. Tested with Philips NMS 8250 and FS A1-GT who both have a
  1186. completely different approach/sequence to handling these actions.
  1187. Still a lot to do and test but we are getting somewhere at least.
  1188. 2007-10-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1189. * Fixed regression in SCC (introduced in 6430):
  1190. update output after a freq register write
  1191. 2007-10-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1192. * Fixed detail in SCC rotation mode:
  1193. if deform bits 7-6 are 10, wave form 4 rotates at freq5 speed
  1194. see: http://www.msx.org/forumtopicl7875.html
  1195. 2007-10-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1196. * Initial version of Manbow2 mapper:
  1197. this is work in progress, possibly the way the flash is saved
  1198. will still change
  1199. * Added MegaFlashRomScc extension
  1200. 2007-10-08 Manuel Bilderbeek <manuel@msxnet.org>
  1201. * Added Sony HB-F1XDJ config, thanks to msxrestarter. Function and use
  1202. of the big firmware ROM is not clear yet, but it should work, as it
  1203. uses the Halnote mapper.
  1204. 2007-10-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1205. * Optimized 64-bit divide-by 32-bit operations:
  1206. - the x86 'divl' instruction already does a 64-bit by 32-bit
  1207. division, though it generates a trap when the result does not
  1208. fit in 32-bit. That's why it's not (directly) used by gcc.
  1209. In certain (time critical) places in openmsx we know the result
  1210. fits, so we can directly use this instruction.
  1211. 2007-10-03 David Heremans <david.heremans@gnu-linux.net>
  1212. * Extended the DiskManipulator:
  1213. It is now possible to export a single file or subdir from the msx
  1214. image
  1215. 2007-09-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1216. * Fixed Halnote mapper, based on info from blueMSX
  1217. 2007-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1218. * Fixed bug in stereo blip resampler:
  1219. in case only one of the two channels was active, we left the other
  1220. channel undefined (now we fill it with zeros)
  1221. * Fixed bug in CPU code (probably introduced by me on 2007-08-28):
  1222. - limitReached() bookkeeping was wrong when the advanceTime()
  1223. method was used. This only happens when switching between
  1224. Z80/R800. Fixed now.
  1225. - This new implementation is also faster. Before the CPU polled
  1226. the scheduler for the earliest sync-point (after every IO and
  1227. memory mapped access). Now the Scheduler pushes new sync-point
  1228. data to the CPU.
  1229. 2007-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1230. * Fixed TR status bit in V9990 (was inverted):
  1231. - TR=1 means ready for transfer, thus V9990 is *not* ready to
  1232. execute (part of) the command, it's waiting for data
  1233. - Apparently most SW doesn't bother to check this bit (since
  1234. the V9990 is fast enough). However Symbos does check it!
  1235. * Initial implementation of V9990 LMCM command:
  1236. - maybe not correct yet, but certainly better than no
  1237. implementation
  1238. * Fixed odd/even pixel problem in LMMC and LMCM commands
  1239. 2007-09-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1240. * Mute individual PSG channels:
  1241. - already speeds up the PSG code itself (though i only added code)
  1242. - also enables speedups in the following stages of the audio flow
  1243. * In SoundDevice::mixChannels(), special case mixing of 0, 1, and
  1244. odd or even number of channels, also unroll 2x
  1245. * Added SSE2 optimized version of SoundDevice::mixChannels()
  1246. 2007-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1247. * Use resampler for SamplePlayer
  1248. * Process samples per 4 in SoundDevice::mixChannels()
  1249. On itself this is already faster, but it also paves the way for
  1250. future SSE2 optimizations.
  1251. 2007-09-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1252. * Fixed harmless(?) UMR in Y8950Adpcm
  1253. * Don't take sqrt() of negative numbers (in case of rounding errors)
  1254. * Fixed crash while using breakpoints
  1255. 2007-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1256. * SpriteChecker improvements:
  1257. - get rid of expensive division in SpriteChecker fast-path
  1258. - duplicate SpriteChecker::checkSprites2() for planar and
  1259. non-planar modes
  1260. 2007-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1261. * CPU code tweak:
  1262. - slightly better signed overflow calculation
  1263. - use RD_WORD_PC to read two consecutive opcode bytes
  1264. 2007-09-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1265. * Big optimization in CPU code:
  1266. - Before we used function-to-member-pointers, now we use
  1267. function-pointers to static functions that take an explicit
  1268. 'this' argument. This doesn't look as nice, but gcc can
  1269. generate faster code for it.
  1270. - In the 'zexall' test with renderer=none speed improved from about
  1271. 106s to 85s on my system! In a 'Space Manbow' test (also with
  1272. renderer=none) speed improved from 54s to 48s!
  1273. 2007-08-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1274. * Optimized YM2413 and YM2413_2 idle mode:
  1275. After profiling we found that even a completely idle YM2413 was
  1276. at the top of a CPU profile (while running PSG games). The only
  1277. thing the YM2413 was doing was updating the internal noise
  1278. generator and AM/PM/evelope counters.
  1279. Because this is so expensive we disable that after some idle
  1280. time (for now 200ms). This means the noise sequence and AM/PM
  1281. phase will not be exactly the same as on real HW when the music
  1282. resumes, but that's most likely not audible.
  1283. 2007-08-29 Maarten ter Huurne <maarten@treewalker.org>
  1284. * Destruct File object before loading a file with IMG_Load from
  1285. SDL_image. This should fix sharing violations on Windows.
  1286. 2007-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1287. * Split CPUClock::setLimit() in inline/non-inline part:
  1288. gives a nice speedup in IO-port intensive applications
  1289. * Tweaked calculation of current CPU time
  1290. 2007-08-27 Maarten ter Huurne <maarten@treewalker.org>
  1291. * Do not cache the result of native system detection.
  1292. This makes it easy to use the same source tree on different systems,
  1293. for example when the sources are on a network drive or if you do
  1294. both 32-bit and 64-bit builds on an x86_64 system.
  1295. 2007-08-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1296. * Created release branch for openMSX 0.6.3.
  1297. * Various optimizations in CPU:
  1298. - wrote specialized (simpler) code for instructions like
  1299. xor a / cp a / or a / add a,a / sbc hl,hl
  1300. - split cpuTracePost in a small inlineable part and a non-inline
  1301. rarely executed part
  1302. - optimized time book-keeping in the read/write memory paths
  1303. * Small optimization in SDLRasterizer (+ cleanup):
  1304. - don't render the same VRAM line twice in case of (single page)
  1305. hardware horizontal scroll
  1306. 2007-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1307. * Optimization in SDLRasterizer:
  1308. - if possible directly render to destination (instead of to local
  1309. buffer followed by memcpy)
  1310. 2007-08-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1311. * Made diskmanipulator command also available on machines without
  1312. disk drives
  1313. 2007-08-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1314. * Added -nopbo command line option to disable use of
  1315. OpenGL Pixel Buffer Objects
  1316. 2007-08-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1317. * Show build flavour in the version string (not for release builds)
  1318. * Fixed crash on exit while removing an extension that created extra
  1319. external slot(s) and occupied (some of) those itself.
  1320. 2007-08-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1321. * Compiled with -Wpadded and changed the order of some members so that
  1322. the enclosing struct/class requires less internal padding:
  1323. - I did the same thing on 2007-04-24, however this time I'm
  1324. compiling on x86_64, so pointers require 8 bytes (iso 4). There
  1325. were also a few new classes that needed some shuffling.
  1326. 2007-08-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1327. * Enable -Wold-style-cast warnings by default
  1328. and fixed all warnings triggered by this
  1329. * In CPUCore only do unaligned memory accesses if we know
  1330. the host CPU supports it
  1331. 2007-08-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1332. * Added psg_profile Tcl script
  1333. 2007-07-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1334. * Optimized cassetteplayer audio part, also use resampler
  1335. 2007-07-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1336. * Some fixes in ESE_SCC
  1337. 2007-07-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1338. * Commented out win32 specific sleep/timer code, it gives problems on
  1339. dual core CPUs
  1340. 2007-07-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1341. * Fixed [ 1622018 ] New persistant directories created for every
  1342. run-time switch
  1343. * Use resampler for YMF278 (MoonSound wave part):
  1344. also added a trivial resample mode for the case that input and
  1345. output sample rate are the same (as will often be the case for
  1346. YMF278, as its native freq is 44100Hz)
  1347. 2007-07-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1348. * Disabled OpenGL SaI shader, see comments in GLScalerFactory
  1349. 2007-07-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1350. * Fixed [ 1730148 ] config checker creates big HD images:
  1351. image is now only create on first use (read/write), so
  1352. not yet when the machine is instantiated (=config check)
  1353. * Added experimental PSG detune option, similar to PSG vibrato:
  1354. - control with the PSG_detune_frequency and PSG_detune_percent
  1355. settings
  1356. - next step: experiment with the PSG detune/vibrato and hopefully
  1357. remove one of the two again. Maybe also remove the
  1358. PSG_*_frequency setting(s).
  1359. 2007-07-21 Patrick van Arkel (vampiermsx@gmail.com)
  1360. * Updated to Version 2.1 of the cheat defenitions after
  1361. adding a ton of new cheats provided by Mars2000you.
  1362. 2007-07-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1363. * Added proper MSXDOS2 mapper type (before we used generic16kb):
  1364. - implemented by BiFiMSX, I only fixed some bugs
  1365. 2007-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1366. * Implemented 'Super Lode Runner' mapper:
  1367. This mapper is special because it ignores the SLOT-SELECT signal;
  1368. it reacts to writes to address 0x0000 in _any_ slot. This violates
  1369. the MSX standard.
  1370. For a long time we didn't implement this mapper because it would
  1371. add a (small?) performance hit on all memory writes.
  1372. However, now, since we implemented the watchpoint infrastructure,
  1373. the mapper can be implemented without any performance impact (no
  1374. performance impact if the mapper is not inserted).
  1375. 2007-07-05 Maarten ter Huurne <maarten@treewalker.org>
  1376. * Added vibrato effect for PSG.
  1377. You can control it with the settings "PSG_vibrato_percent" and
  1378. "PSG_vibrato_frequency". Good values are around 1.0% and 4.5Hz.
  1379. By default "PSG_vibrato_percent" is 0, which turns off the effect.
  1380. Thanks to Wolf for the idea and his feedback on experiments.
  1381. 2007-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1382. * Use pimple idiom to move implementation details from hh to cc for
  1383. YM2413 YM2413_2 YMF262 YMF278
  1384. * Fixed regression in YM2413_2 core:
  1385. Was introduced in revision 6372. We used a 8.24 FixedPoint
  1386. datatype, but this goes wrong because our FixedPoint types are
  1387. signed. Solved by using much smaller resolution FixedPoint
  1388. datatypes (this is even a simplification and a small speedup).
  1389. 2007-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1390. * allow to use bindings on joysticks that are not plugged in (into the
  1391. emulated MSX)
  1392. 2007-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1393. * Created new directory 'utils' and moved several files into it
  1394. 2007-06-26 Manuel Bilderbeek <manuel@msxnet.org>
  1395. * Added Software and Creation Date info to AVI files.
  1396. * Added Creation Time info to PNG files (Software was already there).
  1397. 2007-06-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1398. * Added experimental BlipBuffer support for DACSound based sound
  1399. devices:
  1400. - heavily based on
  1401. http://slack.net/~ant/libs/audio.html#Blip_Buffer
  1402. * Added BlipBuffer based resampler:
  1403. - Selectable via 'set resampler blip'
  1404. - I'm not sure we want to keep this global or if we want to make
  1405. this resampler default for specific devices. But for now it's an
  1406. easy way to experiment
  1407. 2007-06-19 Manuel Bilderbeek <manuel@msxnet.org>
  1408. * Voice ROM of Keyboard Master is now also searched in ROM pools (sha1
  1409. is hardcoded).
  1410. 2007-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1411. * Fixed bug in SCC peek:
  1412. - peek of deform register also triggered a reset of that
  1413. register (like a regular read does)
  1414. * Implemented peekMem() for ESE_SCC / MSXSCCPlusCart
  1415. * Implemented read/write cache line stuff for ESE_SCC
  1416. 2007-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1417. * Added (optimized) clipping routines in Math.hh and use them
  1418. in several places:
  1419. - idea for int->short clipping is taken from Blip_Buffer
  1420. http://slack.net/~ant/libs/audio.html#Blip_Buffer
  1421. 2007-06-09 Maarten ter Huurne <maarten@treewalker.org>
  1422. * Use resampler for AY8910 (PSG).
  1423. 2007-06-06 Manuel Bilderbeek <manuel@msxnet.org>
  1424. * Added a dummy port of blueMSX's YM2148. TODO: actually fill in the
  1425. code. It's harmless, so I checked it in to have a base for a real
  1426. port.
  1427. 2007-06-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1428. * Access all CPU registers via getter/setters:
  1429. - as preparartion for performance experiments, this change on its
  1430. own has very little impact on the generated code
  1431. * Alternative implementation for CPURegs:
  1432. - see comments in the code for details
  1433. - this version is a few percent faster for me
  1434. 2007-06-05 Maarten ter Huurne <maarten@treewalker.org>
  1435. * Added support for DESTDIR in the build system:
  1436. If you run "make install DESTDIR=/some/path", all installation
  1437. paths will have that prefix prepended to them.
  1438. For example, the default location of the executable would become:
  1439. /some/path/opt/openMSX/bin/openmsx
  1440. 2007-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1441. * Another CPUCore optimization:
  1442. - Made optimized 16-bit read/write routines. Originally this gave a
  1443. slowdown, caused by gcc no longer inlining some bigger routines.
  1444. After forcing gcc to inline the memory read/write functions, there
  1445. was a huge speedup: upto 15% in a CPU only benchmark!! Forced
  1446. inlining is responsible for the largest part of this speedup (very
  1447. roughly 3/4 by always inline, 1/4 by new 16-bit routines).
  1448. * Experimental IM2 support for YamahaSfg05 (untested)
  1449. 2007-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1450. * CPUCore optimization:
  1451. - in RDMEM / WRMEM routines, keep cache line address in local
  1452. variable instead of reading it twice from an array. Apparently gcc
  1453. was not able to prove that array didn't change during a call to
  1454. T::POST_MEM().
  1455. - Gave more than 10% speedup here in a CPU only benchmark (zexall
  1456. with frameskip=99)
  1457. 2007-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1458. * Sound recording (seperate channels or combined) now always records
  1459. to sound, irregardless of the 'mute' setting
  1460. 2007-06-02 Albert Beevendorp
  1461. * Added Password Cartridge implementation.
  1462. The value between the <password> tags in the hardwareconfig.xml
  1463. may vary from 0x0000 to 0xffff. It's used by the BIOS to read the
  1464. password from the cartridge if one is set. This implements feature
  1465. request 1411507.
  1466. 2007-06-01 Manuel Bilderbeek <manuel@msxnet.org>
  1467. * Added an LS-120 SCSI device.
  1468. - Mostly as demonstrator of a removable SCSI device.
  1469. - Could be used to make a SCSICDROM easier to make.
  1470. - Can also be used to determine common stuff between SCSI devices.
  1471. - TODO: change 'lsX' commands to something better.
  1472. - TODO: remove massive code duplication with SCSIHD/HDCommand.
  1473. 2007-05-31 Manuel Bilderbeek <manuel@msxnet.org>
  1474. * Removed all dead code from SCSIHD and attempted to move
  1475. device-specific stuff inside the class. I'll try to make an
  1476. LS-120 device soon, to demonstrate a removable device.
  1477. * Note that yesterday we also added ESE SCC and WAVE-SCSI. The latter
  1478. doesn't seem to work properly, though.
  1479. 2007-05-28 Manuel Bilderbeek <manuel@msxnet.org>
  1480. * Added initial MEGA-SCSI emulation.
  1481. It's not working completely OK yet... Please help debugging :)
  1482. (Thanks a lot to Wouter and Albert for their help.)
  1483. * It seems to work after all: make sure to do a physical format of the
  1484. disk first (using SFORM-2.COM).
  1485. * Lots of cleanups, also by Wouter.
  1486. * Added ESE Ramdisk (a.k.a. ESE RAM). This is MEGA-SCSI without SCSI.
  1487. 2007-05-26 Manuel Bilderbeek <manuel@msxnet.org>
  1488. * Created common superclass for SCSIHD and IDEHD called... HD.
  1489. This makes it possible to let HDCommand work with any kind of HD.
  1490. Now you can use the hdx commands also for SCSIHD's.
  1491. Note: (off-topic) diskmanipulator can't handle corrupt disks.
  1492. Note 2: diskmanipulator doesn't support the partition table formats
  1493. used on SCSI harddisks yet. So, until then, SCSI devices cannot be
  1494. used from diskmanipulator.
  1495. Note 3: implementation of HD class could be cleaner... (it's using a
  1496. protected member "file" now...)
  1497. 2007-05-24 Manuel Bilderbeek <manuel@msxnet.org>
  1498. * Read initial size and file name from config XML and create disk
  1499. image in the persistent directory.
  1500. * GoudaSCSI is now usable!
  1501. * Implemented LED events for SCSIHD.
  1502. 2007-05-23 Manuel Bilderbeek <manuel@msxnet.org>
  1503. * (GoudaSCSI is basically working, yay! But please do not use it yet.)
  1504. * Introduced abstract base class for SCSIDevices and added
  1505. DummySCSIDevice (and made use of it).
  1506. 2007-05-21 Manuel Bilderbeek <manuel@msxnet.org>
  1507. * Added initial GoudaSCSI support, ported from blueMSX.
  1508. NOTE: DO NOT USE YET!
  1509. This is very much WIP! It's not working yet and contains lots of
  1510. shortcuts and hardcoded stuff. So, again: don't use it. But please
  1511. help improve it! :) (You are warned!)
  1512. 2007-05-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1513. * Removed old (unoptimized) implementation of the high-quality
  1514. resampler: sound quality is the same
  1515. 2007-05-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1516. * Added fast/low-quality resample algorithm
  1517. * Added 'resample' setting with possible values 'fast' and 'hq' to
  1518. switch between the different resample algorithm
  1519. 2007-05-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1520. * Moved int<->float conversion from sounddevices to Resampler:
  1521. - preparation for fast/low-quality resampler
  1522. 2007-05-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1523. * Share resample coeff table between Resample instances with the same
  1524. resample ratio
  1525. 2007-05-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1526. * Additional speedup for the Resampler:
  1527. - unrolled the loop (+ break dependencies)
  1528. - added SSE optimized routine (mono only for the moment)
  1529. - also added SSE optimized stereo resampler
  1530. * Fixed memset4_2_MMX():
  1531. - we used to pass a pointer to a struct on the stack, but
  1532. newer gcc versions optimize this struct away
  1533. 2007-05-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1534. * Experimental speedup for the Resampler:
  1535. - code is very quick-and-dirty
  1536. - still contains both old and new implementation to make
  1537. sound quality comparison between the two possible
  1538. 2007-05-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1539. * Use 'SCC' instead of rom-name as name for the SCC sounddevice
  1540. 2007-05-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1541. * Optimized Resampler a bit:
  1542. - used 'x - trunc(x)' instead of 'fmod(x, 1.0)'
  1543. - but it's not used in the innermost loop so the speed gain is not
  1544. that big (it is measurable though)
  1545. 2007-05-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1546. * Added SSE2 optimized noise routine in FBPostProcessor
  1547. * Restored parsing of the <volume> and <mode> tags in the
  1548. soundsection of hardwareconfig files. There can also
  1549. be a <balance> tag now (that overrules <mode>)
  1550. * Removed volume handling from sounddevice code:
  1551. - it's now handled (together with balance) inside MSXMixer
  1552. 2007-05-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1553. * Removed <sounddevice>_mode setting:
  1554. - will be replaced by a balance setting soon
  1555. - TODO what about backwards compatibilty?
  1556. * Added <sounddevice>_balance setting
  1557. 2007-05-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1558. * Added support for SSE2 in HostCPU
  1559. * Added SSE2 optimized routine in ScanLine class
  1560. 2007-05-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1561. * Reworked internal sounddevice mute code:
  1562. - As an optimization is was possible for a sounddevice to indicate
  1563. that it won't produce sound in it's current state. In that case
  1564. the mixer wouldn't bother to call the updateBuffer() method
  1565. for such devices.
  1566. It was also already possible for a sounddevice to indicate that
  1567. a specific channel is completely silent.
  1568. Now these two approaches are unified: sounddevice should only
  1569. inidicate which individual channels are muted. If all of the
  1570. channels are muted, the rest of the sound code detects this and
  1571. the same optimization as before happens.
  1572. In this new approach the updateBuffer() is called in any case,
  1573. so it's now possible to both correctly update internal state and
  1574. benefit from the muted optimization.
  1575. - The glitches that happened after unmute on resampled devices are
  1576. now gone. But that because muting is effectively disabled for
  1577. these devices for now. Although this new approach does make it
  1578. possible to solve it and have the mute optimization. It's just
  1579. not implemeted yet.
  1580. 2007-04-30 Maarten ter Huurne <maarten@treewalker.org>
  1581. * Fixed MSX reading from SCC: frequency and volume block is write-only.
  1582. * Fixed SCC reset behaviour: only deform and channel enable are changed.
  1583. 2007-04-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1584. * Compiled with -Wpadded and fixed some of the warnings:
  1585. - only fixed the cases that were solvable by rearranging the
  1586. order of the fields locally in one class
  1587. * Fixed cassette input bit (PSG R#14 bit 7) on turboR (thanks BiFiMSX)
  1588. 2007-04-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1589. * Extended mute_channel related procs:
  1590. - mute_channels without any arguments lists which channels are
  1591. currently muted
  1592. - unmute_channels without arguments now unmutes all channels
  1593. - new command 'solo' mutes everything except for the specified
  1594. channels
  1595. * Small optimization in SDLGL-PP simple scaler:
  1596. - pack several scalar uniform variables in one uniform vector
  1597. variable. Removes one MOV instruction from the compiled fragment
  1598. shader.
  1599. 2007-04-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1600. * Recording/muting of individual sound device channels works:
  1601. - it's still quick-and-dirty, but i wanted to have something
  1602. working soon
  1603. - use either via the <sounddevice>_ch<n>_record and
  1604. <sounddevice>_ch<n>_mute settings
  1605. or via the record_channels Tcl script (no mute yet)
  1606. examples: record_channels PSG
  1607. record_channels SCC 1,3-5
  1608. record_channels stop
  1609. record_channels stop PSG 2
  1610. record_channels list
  1611. - TODO: documentation
  1612. make recording stutterless
  1613. record silence when complete sounddevice is muted
  1614. (muted manually or implicitly by the device itself)
  1615. * Improved channel recording:
  1616. - Channel recording is now also stutterless.
  1617. - Recording continues when sounddevice is internally muted.
  1618. Unfortunately explicitly muting the device doesn't work now
  1619. anymore when some channels of the device are beiing recorded.
  1620. Fixing this requires some more work.
  1621. * Added tabcompletion + help for the record_channels script
  1622. * Extended script with (un)mute_channels procs
  1623. 2007-04-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1624. * Converted sounddevices to generate output as seperate channels:
  1625. - This is very much work in progress. There is no code yet to
  1626. take advantage of this split. The code in the converted
  1627. sounddevices should still be cleaned-up and optimized.
  1628. * Refactored SoundDevice and ChannelMixer:
  1629. - merged SoundDevice and ChannelMixer classes
  1630. - made SoundDevice aware of input and output sample rates
  1631. - added methods in SoundDevice to record and mute individual
  1632. channels. Next step is to actually use these methods.
  1633. 2007-04-18 Joost Yervante Damad <joost@teluna.org>
  1634. * fix build with gcc snapshot 20070326
  1635. 2007-04-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1636. * Implemented SDLGL-PP RGBTriplet scaler
  1637. * Implemented SDLGL-PP SaI scaler:
  1638. This algorithm is not well suited for a HW implementation (it
  1639. has a lot of branches). So this scaler will probably run a bit
  1640. slower than the other HW scalers.
  1641. 2007-04-15 Manuel Bilderbeek <manuel@msxnet.org>
  1642. * Added emulation of Yamaha YM2151 and partly the Yamaha SFG-05
  1643. sound module. For the latter, I included the config of the Yamaha
  1644. CX5MII/128. TODO: MIDI and keyboard, so only few software titles
  1645. for it work. Thanks to Daniel Vik for his support! The code is
  1646. taken from blueMSX and MAME.
  1647. * Added emulation of the VLM5030 sound device, which is used in the
  1648. unreleased Konami game Keyboard Master. For now, the sample ROM
  1649. should be located in share/keyboardmaster with the name voice.rom.
  1650. Thanks to Daniel Vik for his support. Also here, the code is
  1651. taken from blueMSX and MAME.
  1652. 2007-04-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1653. * Extended resampler class for stereo devices
  1654. * Speedup SDLGL-PP simple scaler
  1655. * Use (stereo) resampler for YMF262 (FM-part of OPL4)
  1656. * Use resampler for (both) YM2413 cores (MSX-MUSIC)
  1657. * Use resampler for Y8950 (MSX-AUDIO)
  1658. 2007-04-15 Maarten ter Huurne <maarten@treewalker.org>
  1659. * Released openmsx-0.6.2.
  1660. 2007-04-12 Manuel Bilderbeek <manuel@msxnet.org>
  1661. * Fix for MSX1 VDP's: on these VDP's the VRAM pointer is always
  1662. updated when writing to the VDP registers. Fixes some MSX1 demos
  1663. like Planet of the Epas.
  1664. 2007-03-23 Manuel Bilderbeek <manuel@msxnet.org>
  1665. * Integrated David's new commands.html into the manuals. Thanks for
  1666. converting it!
  1667. * Removed commands.txt and references to it.
  1668. * Get rid of in-manual revision history.
  1669. 2007-03-22 Maarten ter Huurne <maarten@treewalker.org>
  1670. * Universal binary support for Mac OS X:
  1671. make staticbindist OPENMSX_TARGET_CPU=univ
  1672. There are probably still some issues left, but the infrastructure for
  1673. building universal binaries is now complete.
  1674. Thanks a lot to BouKiCHi for providing the scripts on which this
  1675. universal binary support is based.
  1676. 2007-03-15 Manuel Bilderbeek <manuel@msxnet.org>
  1677. * Added Al-Alamiah AX170 (prevously added Yamaha AX350II).
  1678. - NOTE: it is not certain if these configs are correct and I have
  1679. not been able to verify the ROM dumps. They are added only to have
  1680. some working Arabic machines, do not use them for compatibility
  1681. testing or something. (Have fun!)
  1682. 2007-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1683. * Force a FormFeed when a printer is unplugged
  1684. * Better algorithm to calculate framerate for avi recording:
  1685. - measure time between two recorded frames instead of two frames
  1686. from before recording started.
  1687. - old method could go wrong when minframeskip != maxframeskip
  1688. 2007-02-28 Manuel Bilderbeek <manuel@msxnet.org>
  1689. * Fixed a bug in the tabCompletion of the enable command.
  1690. * Added a small help for the enable command, pointing to a new
  1691. documentation file: doc/openmsx-control-xml.txt. This text explains
  1692. the protocol used for external communication (CliComm).
  1693. * Removed deprecated update types (deprecated in openMSX 0.6.1, but they
  1694. were not used by any external application we know about): break and
  1695. resume.
  1696. 2007-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1697. * Fixed(?) data corruption when using 'diskmanipulator import':
  1698. - I had no idea were in the code the bug was, so i started
  1699. doing clanups/simplifications till I understood the code
  1700. again and found the bug.
  1701. - Turned out the dirty status of the FAT chache was not set
  1702. correctly by the writeFAT() method.
  1703. - Another bug happened when a there is not enough free space
  1704. left on the disk to completely import a file: the file was
  1705. imported as far as ossible, the FAT was updated, but not the
  1706. directory entry.
  1707. 2007-02-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1708. * Fixed hang in altparty demo:
  1709. - Demo polls FH bit in VDP status reg S#1. but when line interrupt
  1710. register has value 229 this went wrong. Reason is that for this
  1711. line the duration of FH=1 is partly in the current and partly in
  1712. the next frame. Old implementation only set FH=1 in the current
  1713. frame.
  1714. 2007-02-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1715. * Fixed SDLGL-PP simple scaler factor=1 deinterlace mode:
  1716. - in the previous implementation this caused a (floating-point)
  1717. division by zero. This could give strange results.
  1718. - Now we disable scanlines when there are more lines in the input
  1719. than in the output. This is also how it works in the SDL renderer
  1720. * Fixed bug in switching between Z80/R800:
  1721. - switching _very_ fast (by OTIR) between Z80/R800 triggered an
  1722. assert that time goes backwards!
  1723. - problem was that we record the switch time at the moment the OUT
  1724. is executed and then still finish the rest of the instruction. So
  1725. there is a slight moment in emutime that both CPUs are executing.
  1726. - solved by only switching between two instructions
  1727. 2007-02-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1728. * Fixed assert on exit when a (real) joystick was still plugged
  1729. * Small Z80 fixes:
  1730. - timing of LD DP,{HL,IX,IY} was two cycles too short
  1731. - number of M-cycles (and thus also timing) of instructions with
  1732. multiple prefixes (like DD CB xx xx or DD DD DD xx) was wrong
  1733. - off by one error in high part of 16-bit port number in
  1734. ini/ind/outi/outd instructions (complete bc register is put on
  1735. the address bus) b register was decremented too soon or too late
  1736. 2007-02-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1737. * No longer include playball samples as data in the source code:
  1738. - instead read them as 15 wav files in
  1739. share/playball/playball_0.wav
  1740. ...
  1741. share/playball/playball_14.wav
  1742. 2007-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1743. * Set version=0.6.2-pre1, release_flag=true
  1744. 2007-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1745. * Implemented proper resample algorithm for SCC:
  1746. - does not introduce aliassing (graph+9 in solid snake sound test
  1747. works properly now)
  1748. - because there is no seperate filter anymore, those filter
  1749. characteristics based on Sean's measurements are gone.
  1750. Need to investigate this, because it was not clear whether this
  1751. extra filter improved sound quality
  1752. 2007-02-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1753. * SCC filter fixes:
  1754. - wasn't correct when there were multiple SCC cartridges
  1755. - replaced FIR filter with a cheaper one that also matches Sean's
  1756. measurements
  1757. - it's still not alias free, but fixing this requires a whole new
  1758. approach
  1759. * Added interruptable sleep() method in EventDistributor:
  1760. - sleeps for a given amount of time or till a event gets posted
  1761. - used in the Reactor mainloop (e.g. when emulation is
  1762. paused/breaked). Should improve response time in the debugger
  1763. 2007-02-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1764. * Allow case insensitive tabcomplition in Tcl scripts:
  1765. - requires a make install
  1766. - changed newtrainers.tcl and cpuregs.tcl scripts to use this,
  1767. maybe it's useful for others as well
  1768. 2007-01-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1769. * Replaced filter in SCC code:
  1770. - used 4x oversampling + low pass FIR filter
  1771. - still WIP
  1772. 2007-01-30 Manuel Bilderbeek <manuel@msxnet.org>
  1773. * Added Sony HBD-50 disk drive extension (with proper FDC mirroring)
  1774. 2007-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1775. * Fixed mirroring of FDC registers in NMS 8250/8255/8280:
  1776. FDC registers are mirrored in all 4 pages, rom only in page 1
  1777. * Added comment in NMS 8245 config:
  1778. FDC registers are mirrored in page 1/2, rom only in page 1
  1779. It was already implemented like this
  1780. 2007-01-28 Manuel Bilderbeek <manuel@msxnet.org>
  1781. * Implemented mirroring of subROM in all pages on Philips NMS 8250
  1782. (and derivatives)... TODO: find out which other machines have this.
  1783. 2007-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1784. * Removed enum setting info topics:
  1785. code was already commented out (see 2006-11-04)
  1786. 2007-01-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1787. * Make FilePool return a File object iso a filename:
  1788. - (g)zipped files won't be decompressed twice this way
  1789. 2007-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1790. * Added FrameBufferObject utility class:
  1791. - was part of an experiment to implement a fully shader based
  1792. hq(lite) scaler (current one is still partly done by CPU). This
  1793. needs some more work, but the FrameBufferObject part is already
  1794. useable.
  1795. 2007-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1796. * Fixed bug in SCC:
  1797. volume of 5th SCC channel could be wrong right after waveform was
  1798. updated (e.g. audible in Quarth)
  1799. 2007-01-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1800. * Fixed PSG noise frequency
  1801. 2007-01-16 Arnold Metselaar <arnold.metselaar@planet.nl>
  1802. * Print warning if bit 0 of VDP register 9 is set to one; on a
  1803. real MSX2 this causes the screen to go black and the computer to
  1804. freeze.
  1805. - closes [ 1354347 ].
  1806. 2007-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1807. * Synchronized TC8566AF code with blueMSX version:
  1808. - seems to fix [ 1630933 ] "Formatting on turboR goes wrong when
  1809. not booting with a disk".
  1810. 2007-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1811. * Reimplemented 'soundlog' command as a Tcl script
  1812. 2007-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1813. * Extended the record command to optionally record only audio or video:
  1814. - 'record start' accepts two new flags: -noaudio and -novideo
  1815. - the soundlog command is obsolete now
  1816. 2007-01-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1817. * Improved 'record' command:
  1818. - syntax is very similar to the 'soundlog' command,
  1819. see 'help record'
  1820. - in the future the record and soundlog command might be merged,
  1821. with an option to select recording audio/video/both
  1822. * Implemented gfx9000 video recording:
  1823. - active videosource ('videosource' setting) now gets recorded
  1824. 2007-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1825. * Avi recording fixes:
  1826. - no longer require that V9938 has the exact name "VDP" in machine
  1827. hardwareconfig.xml file
  1828. - print warning when a change in framerate/samplerate is detected
  1829. during recording
  1830. - fixed bug in conversion routine while recording in 16bpp mode
  1831. - during recording frameskip is kept constant at minframeskip, thus
  1832. for example with minframeskip=1 you can record movies with
  1833. 25/30fps instead of the usual 50/60fps
  1834. 2007-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1835. * Implemented experimental video recording:
  1836. - still very much work in progress, but for simple cases it should
  1837. already work
  1838. - user interface is still VERY primitive: the 'record' command
  1839. starts recording to 'test.avi' and only stops when openmsx is
  1840. exited
  1841. - changing between PAL/NTSC during recording doesn't work yet
  1842. - changing sound sample freq during recording doesn't work yet
  1843. - recording is not possible (yet?) with SDLGL renderer
  1844. - generated avi file uses the ZMBV codec (same as used in dosbox)
  1845. this codec is well suited for video-game like gfx and allows
  1846. real-time encoding on not too old machines. On my 3-year old
  1847. system i can do real-time recording of simple games, but I can't
  1848. record sphere in real-time (due to moonsound emulation??)
  1849. - the ZMBV codec is not very common. In mplayer (linux/windows)
  1850. can handle it, VLC version 0.8.6 not yet (development version
  1851. can). For windows you need to install zmbv.dll, but note that
  1852. there is a faulty zmbv.dll that can only play 8bpp (openMSX
  1853. movies are 16bpp or 32bpp).
  1854. - doesn't play well with frameskip yet, as a temporary workaround
  1855. you can set maxframekip=0 for now
  1856. 2007-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1857. * Use PBO for faster texture upload in GLPostProcessor:
  1858. - depending on the system this is only a small (1%) or a big (10%)
  1859. speedup
  1860. - when PBOs are not supported we still use the old code
  1861. 2006-12-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1862. * Use Pixel Buffer Objects (PBO) for faster texture upload in
  1863. GLHQScaler and GLHQLiteScaler:
  1864. - 'Space Manbow'-test is about 10% faster here, using hqlite2x
  1865. 2006-12-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1866. * Various VDPCmdEngine related optimizations:
  1867. - in VDPVRAM: only track time in DEBUG mode
  1868. no need to notify bitmapCacheWindow and nameTable
  1869. in VDPCmdEngine: use Clock::fastAdd
  1870. - between 2% and 3% faster in vdp-copy-intensive MSX software (I
  1871. tested Space Manbow intro demo)
  1872. 2006-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1873. * Optimized inner CPU emulation loop:
  1874. - there were 3 tests per instruction, reduced that to just 1
  1875. - total emulation is about 3% faster in Space Manbow test
  1876. 2006-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1877. * Try to upload larger texture blocks at once in GLPostProcessor (was
  1878. one line at a time):
  1879. - I measured upto 15% speedup (scale_algo=simple scale_factor=2)
  1880. * Use array arithmetic iso pointer arithmetic in BitmapConverter:
  1881. - can be better optimized by gcc (and compilers in general)
  1882. - though, impact on total emulation time is not that big. I
  1883. measured about 1% speedup
  1884. 2006-12-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1885. * Removed charDisplayCache and bitmapDisplayCache from SDLRasterizer:
  1886. - I measured around 5% speedup in screen5,
  1887. around 20%(!) in screen0/80
  1888. * Make TC8566AF use the correct filler byte during format:
  1889. fix copied from blueMSX
  1890. 2006-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1891. * The -Wparentheses warning is now also enabled in c++ mode in recent
  1892. gcc versions (4.3 SVN version). This for example warns when
  1893. parentheses are omitted in places were people often are mistaken
  1894. about operator precedence. And guess what .. openMSX got it wrong in
  1895. a couple of places. In other places I just added extra parentheses
  1896. to silence the warnings.
  1897. 2006-12-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1898. * VDP code cleanup:
  1899. Changed users of VDPVRAM::readArea() and VDPVRAM::readAreaIndex()
  1900. to use VDPVRAM::getReadArea(). This method is safer to use, it also
  1901. simplifies the code a bit (IMHO).
  1902. 2006-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1903. * Fixed VDP bug introduced at 2006-11-18, s#0 was completely cleared
  1904. upon read, only bit 7 must be cleared:
  1905. - fixes VDP detection in sudoku.rom
  1906. * Added intro text in openMSX console
  1907. * Removed dirty checks from CharacterConverter
  1908. * Added VDPVRAM::getReadArea() and use it to optimize
  1909. CharacterConverter
  1910. * Optimized CharacterConverter::renderText2:
  1911. see comments in code
  1912. 2006-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1913. * Refactored sound code:
  1914. _ Should only affect SDL sound driver
  1915. - Never generate samples from the audio thread:
  1916. In case of buffer-underrun we used to still generate the missing
  1917. samples from the audio thread. This helped sound quality a
  1918. little bit when CPU usage is very irregular. Unfortunately
  1919. this also introduces a lot of threading problems (race
  1920. conditions). So removed this completely, it also simplifies the
  1921. code quite a bit.
  1922. - Fixed a potential out-of-boundary buffer access.
  1923. - Fixed bug in sound-genration-timing to real-time tuning algorithm.
  1924. On some systems this caused a floating point exception.
  1925. 2006-12-11 Arnold Metselaar <arnold.metselaar@planet.nl>
  1926. * src/sound/SDLSoundDriver.cc: ensure the left argument to % is
  1927. positive, fixes distorted sound and floating point exceptions.
  1928. 2006-12-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1929. * Implmented end-of-tape detection:
  1930. - was implemented by Manuel, I only fixed a remaining bug
  1931. - when end of tape is reached, the CassettePlayer goes to STOP
  1932. state
  1933. - main motivation for this feature is to avaod staying in 'full
  1934. throttle' mode after loading (in cases were the cassette motor is
  1935. not automatically stopped)
  1936. * Fixed crash related to proxy settings and machine switching:
  1937. - e.g. 'openmsx_info setting <setting>' would still use the setting
  1938. object that belonged to the destroyed machine
  1939. 2006-12-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1940. * Fixed explicit (global) namespace qualification on proxy settings:
  1941. - proxy setting here means a machine specific setting that's
  1942. for convenience mirrored in the global namespace
  1943. - the toggle/cycle commands triggered this problem
  1944. 2006-11-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1945. * Changed memset and memset2 from functions into functors:
  1946. - Compilation was broken recently on system were GLuint !=
  1947. unsigned. To fix this we need template specialization. But
  1948. templatized functions cannot be specialized.
  1949. 2006-11-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1950. * Split Cassetteplayer in Cassetteplayer and CassetteplayerCLI
  1951. 2006-11-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1952. * Fixed auto-run-cas-file:
  1953. - type command got executed twice when a cas file was inserted via
  1954. the commandline. Could also happen when two cas insert commands
  1955. were given when openmsx is paused.
  1956. 2006-11-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1957. * SDLGL-PP renderer speedup:
  1958. - Upload textures in BGRA format (was RGBA). See this paper:
  1959. http://download.nvidia.com/developer/Papers/2005/Fast_Texture_Transfers/Fast_Texture_Transfers.pdf
  1960. On nvidia cards this is faster, most likely on ATI cards as well
  1961. - I measured between 3% and 5% speedup (total simulation time)
  1962. 2006-11-22 Manuel Bilderbeek <manuel@msxnet.org>
  1963. * Added Philips NMS 801 "MSX Compatible". Thanks to the blueMSX team.
  1964. 2006-11-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1965. * Another SDLGL-PP hqlite optimization, OpenGL shader part this time:
  1966. - Before this change we sampled the color texture three times (to
  1967. get texels C4, C5 and C6) and blended these these three colors
  1968. each with a certain weight. The weight for the outer two pixels
  1969. is never non-zero for both at the same time. So we can as well
  1970. sample the color texture only once and make use of the HW texture
  1971. color interpolation.
  1972. 2006-11-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1973. * Added missing line width conversions in FrameSource:
  1974. - fixes crash in Gfx9000 parts of calculus with SDLGL-PP renderer
  1975. * Use optimized memset function in V99990P{1,2}Convertor:
  1976. - only a little faster though
  1977. 2006-11-19 Manuel Bilderbeek <manuel@msxnet.org>
  1978. * Print originality status for ROM dumps in the database.
  1979. Rationale: see e-mail on openmsx-devel of today.
  1980. 2006-11-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1981. * fixed [1188517] Dragon Quest II intro logo corrupted:
  1982. - We had this comment in our code
  1983. According to TMS9918.pdf 5th [or 9th] sprite detection
  1984. is only active when F flag is zero.
  1985. but there was a bug in the actual implementation.
  1986. Dragon Quest 2 needs this.
  1987. - Bug was caused by splitting storage of VDP status register 0
  1988. over VDP and SpriteChecker class. Now S#0 is stored in VDP and
  1989. SpriteChecker uses get/set methods to access the sprite related
  1990. bits.
  1991. 2006-11-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1992. * Speedup SDLGL-PP simple scaler:
  1993. - taking the average of two pixels and multiplying that with a
  1994. constant is the same as summing the two pixels and multiplying by
  1995. that contant/2.
  1996. - 7% faster here (in 4x)
  1997. 2006-11-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  1998. * Optimized SDLGL-PP hq scaler:
  1999. - used same tricks as the hqlite scaler (see 2006-11-14)
  2000. - share more code between SDLGL-PP hq and hqlite scaler
  2001. * Optimized hq edge calculation:
  2002. - applies for both SDL and SDLGL-PP hq scaler
  2003. - another 3% speedup for SDLGL-PP hq (only measured this one)
  2004. 2006-11-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2005. * Optimized SDLGL-PP hqlite scaler:
  2006. - optimized edge-bits calculation:
  2007. - change position of the bits so that it's easier (less shifts)
  2008. to reuse bits from the left and top neighbour
  2009. - calculate two pixels at once using 32-bit (iso 16-bit) bit
  2010. manipulations
  2011. - I measured 25% speedup on my system (for 2x and 3x because these
  2012. are CPU limited, 4x is GPU limited here)
  2013. - TODO: a similar optimization is possible for SDLGL-PP hq and
  2014. SDL hq/hqlite. Although there the speed improvent might not be
  2015. as big
  2016. * Added 'test_machine' command (see 'help test_machine'):
  2017. - initial version, details on how success/failure is reported
  2018. can still change
  2019. 2006-11-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2020. * Applied pimple-idiom to MSXMotherboard:
  2021. - will require less recompilations in the future: no longer when
  2022. there are changes to private member variables or functions
  2023. 2006-11-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2024. * Added machine add/remove/select clicomm update
  2025. * Extended 'machine' command:
  2026. - without parameters it returns the handle of the current machine
  2027. - on a successful machine switch it also returns the handle
  2028. * Added 'machine_info config_name':
  2029. - returns the configuartion name for the specified machine, the
  2030. config name is the name that should be used in the 'machine'
  2031. command to switch machine
  2032. 2006-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2033. * Implemented watchpoint regions:
  2034. see doc/commands.txt or 'help debug set_watchpoint'
  2035. 2006-11-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2036. * Split CliComm in machine specific and global part:
  2037. - machine specific update events now have an extra 'machine'
  2038. attribute (e.g. <update type="hardware" machine="machine3" name="diska">add</update>)
  2039. * Manage disk/hd/cd names per machine iso globally
  2040. 2006-11-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2041. * TODO temporarily disabled enum setting info topics:
  2042. see comment in EnumSetting.hh
  2043. * Moved 'machines' and 'extensions' info topics from MSXMotherboard to
  2044. Reactor
  2045. * Shared MSXDevice state should be shared per MSX machine, not shared
  2046. globally:
  2047. for the moment only fixed MSXMemoryMapper and Printer
  2048. * Renamed 'machine' setting to 'default_machine' and create a new
  2049. 'machine' command to actually switch to a new MSX machine
  2050. * While switching MSX machine, first create the new machine and only
  2051. if that succeeded delete the old machine
  2052. 2006-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2053. * Put machine specific commands and settings in a machine specific
  2054. namespace. There is also a corresponding command/setting in the
  2055. global namespace that delegates to the current machine:
  2056. - preparation for cleaner run-time switchable machine and run-time
  2057. machine checker
  2058. - setting code should be refactored one day, it's rather
  2059. complicated now
  2060. 2006-11-01 Manuel Bilderbeek <manuel@msxnet.org>
  2061. * Send CliComm events for CD and HD changes.
  2062. * Report full name including path for CD and HD images.
  2063. 2006-10-30 Joost Yervante Damad <joost@lumatec.be>
  2064. * fix support for kfreebsd, "kfreebsd" was detected wrongly
  2065. as "freebsd" causing build failure
  2066. 2006-10-26 Arnold Metselaar <arnold.metselaar@planet.nl>
  2067. * Unified advram-p and advram-s to a single advram,
  2068. - use "?0" to specify: subslot "0" if expanded,
  2069. - src/CartridgeSlotManager.cc: parse "?0",
  2070. - src/MSXDevice.cc, src/config/HardwareConfig.cc:
  2071. handle the case of "?0",
  2072. - TODO: get rid of the special values for slot numbers.
  2073. 2006-10-25 Manuel Bilderbeek <manuel@msxnet.org>
  2074. * Restructured media-related commands:
  2075. - basic idea: all media have the same command structure:
  2076. + mediacommand subcommand arguments
  2077. + default subcommand is 'insert', which can thus be omitted
  2078. - if you want to insert a medium with the name of a subcommand,
  2079. just use the insert subcommand first, e.g.:
  2080. diska insert insert
  2081. - Corrected help and documentation a bit and optimized completion a
  2082. bit
  2083. - TODO: completion can be made a lot tighter, still
  2084. - commands are still (practically) 100% backwards compatible
  2085. 2006-10-18 Joost Yervante Damad <joost@lumatec.be>
  2086. * fix from BouKiCHi for install-recursive.sh
  2087. * make MMX and SSE code also work on AMD64
  2088. 2006-10-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2089. * Split Mixer in a global Mixer part and a per machine MSXMixer part:
  2090. - when there are (temporarily) multiple machines in memory, each
  2091. machine has a MSXMixer while there is still only one Mixer (that
  2092. loads the actual sound driver)
  2093. 2006-10-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2094. * Removed JoyNet:
  2095. - it didn't work (on practical speeds) anyway
  2096. * Split CommandController in MSXCommandController (machine specfic)
  2097. and GlobalCommandController (and an abstract base class):
  2098. - changed code to use the approriate class, but ATM both still do
  2099. exactly the same
  2100. 2006-10-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2101. * Split openmsx_info topics in two:
  2102. - machine specific topics are moved to a new machine_info command
  2103. - general topics remain in openmsx_info
  2104. - for backwards compatibility the machine specific topics also
  2105. remain in openmsx_info for one or two releases, but they generate
  2106. a warning
  2107. - openmsx_info <setting> is also deprecated, prefer to use
  2108. openmsx_info setting <setting> (already existed)
  2109. - adjusted Tcl scripts to use the new commands
  2110. 2006-10-12 Maarten ter Huurne <maarten@treewalker.org>
  2111. * Integrated Windows resource support:
  2112. stores icon and version info in the executable
  2113. patch was made by Albert and Manuel, based on wx Catapult build
  2114. 2006-10-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2115. * Preparation to separate command registration from CommandController
  2116. (is itself a preparation to allow multiple machines in memory):
  2117. - moved tabcompletion code from CommandController to Completer
  2118. * Print possibilities for tab completion in multiple columns,
  2119. especially useful with all the trainer_** procs ;)
  2120. 2006-10-10 Manuel Bilderbeek <manuel@msxnet.org>
  2121. * Renamed FileManipulator to DiskManipulator (classes/filenames)
  2122. 2006-10-09 Manuel Bilderbeek <manuel@msxnet.org>
  2123. * Fix crash when uninitialized disk image was used.
  2124. TODO: check limits more accurately (now only checked for 0)
  2125. TODO: separate partition selection from boot sector parsing
  2126. 2006-10-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2127. * Various changes to reduce #include dependencies
  2128. 2006-10-04 Joost Damad <joost@lumatec.be>
  2129. * remove bashisms from build/install-recursive.sh
  2130. * debian/ updates
  2131. 2006-10-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2132. * Empty the sound buffer in the SDL sound driver after a mute/unmute
  2133. * Make 'after' command part of Reactor iso MSXMotherboard:
  2134. - after events are now kept over a machine switch
  2135. - added two new after events: 'boot' and 'machine_switch'
  2136. * Extended autoplug.tcl:
  2137. - also auto plug the cassetteplayer after a machine switch
  2138. 2006-10-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2139. * Fixed race condition:
  2140. - was easy to trigger on a dual core CPU
  2141. - shared_ptr is not thread safe on it's own, see comments in
  2142. EventDistributor
  2143. 2006-09-30 Manuel Bilderbeek <manuel@msxnet.org>
  2144. * Send an event when the cassetteplayer is added/removed.
  2145. 2006-09-30 Joost Damad <joost@lumatec.be>
  2146. * build on arm with optimizations again
  2147. * add flavour opt-debug, useful when searching bugs that only
  2148. occur on optimized binaries
  2149. 2006-09-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2150. * Optimized V9990 P1 mode rendering:
  2151. - WIP sprite rendering can still be optimized a lot
  2152. - also optimized sprite rendering
  2153. * Optimized V9990 P2 mode rendering
  2154. 2006-09-29 Maarten ter Huurne <maarten@treewalker.org>
  2155. * Reset loading state if a disk drive or cassette player is destructed.
  2156. 2006-09-28 Manuel Bilderbeek <manuel@msxnet.org>
  2157. * Added BOOT event to be able to do autoRun on cassettes at every
  2158. boot. Also needed for Catapult (would otherwise only work once).
  2159. 2006-09-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2160. * Added support for (recursive) subdirectories in RomPool
  2161. 2006-09-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2162. * Implemented PlayBall mapper type
  2163. * Only flush DiskManipulator FAT cache when there were actual writes:
  2164. - fixes a strange error that doing
  2165. 'diskmanipulator dir diska'
  2166. on a read-only disk gives a write(!) error
  2167. * Detect invalid PPI mode selection and print a warning when an
  2168. unimplemted mode is selected:
  2169. - those other modes are not that easy to implement and they anyway
  2170. will just hang your MSX
  2171. 2006-09-22 Manuel Bilderbeek <manuel@msxnet.org>
  2172. * Save firmwareswitch position with persistent data
  2173. 2006-09-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2174. * Made Command's also Recordable (was only SimpleCommand's)
  2175. * record 'debug write' commands:
  2176. - record/replay now also works when trainers are used
  2177. 2006-09-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2178. * Made 'hda', 'cda', 'type', 'keymatrixup' and 'keymatrixdown'
  2179. commands recorded
  2180. * Changed format of event recorder to also allow ':' characters in
  2181. recorded commands
  2182. 2006-09-20 Manuel Bilderbeek <manuel@msxnet.org>
  2183. * Removed SDLGL2 (superseded by SDLGL-PP), as requested by Wouter
  2184. 2006-09-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2185. * Added RecordedCommand class to make recording certian commands
  2186. easier. TODO refactor previous recordable commands to use this
  2187. mechanism
  2188. * made 'reset', 'ext', 'cart', 'cart<x>' and 'remove_extension'
  2189. commands recordable.
  2190. * Reimplemented 'plug', 'unplug' and 'cassetteplayer' commands as
  2191. RecordedCommand's
  2192. 2006-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2193. * Refactored (un)plug and media changed events to MSXCommandEvent
  2194. * Use MSXCommandEvent for cassetteplayer command
  2195. 2006-09-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2196. * Use events for (un)plug command:
  2197. makes (un)plug recordable
  2198. * use events for disk changing:
  2199. TODO: - do the same for cassetteplayer
  2200. - use different string representation for events because at
  2201. the moment the paths can't contain ':' characters
  2202. 2006-09-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2203. * Added 'extensions' and 'machines' info topics
  2204. * Extended these two info topics to also return the meta info when a
  2205. specific extension/machine is given as 3th argument
  2206. 2006-09-16 Manuel Bilderbeek <manuel@msxnet.org>
  2207. * Added MSXEventRecorder/Replayer:
  2208. - you can record and replay with the command line options, which
  2209. require a filename argument
  2210. 2006-09-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2211. * Fixed deinterlace for V9990:
  2212. - force two consecutive frames (non-skipped frames) in deinterlace
  2213. mode
  2214. 2006-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2215. * Fixed V9990 cursor Y position in overscan modes:
  2216. - in overscan modes the cursor position is still specified with the
  2217. same coordinate system as non-overscan modes (while the display
  2218. line coord system has shifted up)
  2219. 2006-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2220. * Fixed Y8950 sample ram reads:
  2221. - first 2 reads from sample RAM return bogus values. This behaviour
  2222. was implemented, but it has a bug and returned only one bogus
  2223. value :(
  2224. - fixes sample RAM detection in 'Almost Real'
  2225. 2006-09-11 Maarten ter Huurne <maarten@treewalker.org>
  2226. * Send an event over the control connection when a disk drive is added
  2227. or removed. Can be used by Catapult to update the list of drives.
  2228. 2006-09-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2229. * Fixed AUDIO in 'Thunderbirds are Go':
  2230. - 'Thunderbirds are Go' sets the Music Module General Purpose pin 3
  2231. as output without specifying a value for that pin. By luck(?) in
  2232. that case on a real machine the value is '1' while in openMSX it
  2233. was '0' before this fix.
  2234. * Forgot to sync V9990CmdEngine:
  2235. - fixes regression in blox
  2236. 2006-09-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2237. * Fixed bug in removing IO watchpoints
  2238. * Improved help-text / tabcompletion for the debug command
  2239. * Changed checked_cast implementation so that it also works on older
  2240. compilers (gcc-3.4 and below)
  2241. 2006-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2242. * Split UserInputEventDistributor in 3:
  2243. EventTranslator, EventDelay and MSXEventDistributor
  2244. * Automatically unpause after a power off/on cycle:
  2245. solves a bug, but this behaviour also makes more sense
  2246. * Made MSXEventDistributor EmuTime aware:
  2247. needed later for event recording
  2248. 2006-09-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2249. * Added priorities to event listeners, higher priority listeners can
  2250. block events for lower priority listeners:
  2251. - fixes the problem that hotkey bindings are still visible in BASIC
  2252. 2006-09-02 Joost Damad <joost@lumatec.be>
  2253. * simplify arm CXXFLAGS; fix m68k build; override in cpu-xxx.mk doesn't
  2254. work
  2255. 2006-08-31 Joost Damad <joost@lumatec.be>
  2256. * do not do -finline-functions on arm as current gcc generates
  2257. faulty code
  2258. 2006-08-31 Manuel Bilderbeek <manuel@msxnet.org>
  2259. * Added MEDIA update event for cart-commands
  2260. 2006-08-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2261. * Added checked_cast and shared_ptr utility classes
  2262. * Pass events around by shared_ptr (avoids making a polymorphic copy)
  2263. * Added Event::toString() to print events and
  2264. InputEventFactory::createInputEvent(string) to parse events
  2265. * Added Event::operator<() (to store events in maps)
  2266. * Extended HotKey class (name is not 100% accurate anymore) to also
  2267. handle joystick/mouse-button and focus events:
  2268. examples: bind focus:0 { set pause on }
  2269. bind focus:1 { set pause off }
  2270. bind mouse:button8:down { toggle throttle }
  2271. bind mouse:button8:up { toggle throttle }
  2272. 2006-08-23 Maarten ter Huurne <maarten@treewalker.org>
  2273. * If default machine is broken (for example because of missing system
  2274. ROMs), fall back to C-BIOS config. This makes sure openMSX will start
  2275. up, allowing the user to select a different default machine on the
  2276. openMSX console.
  2277. 2006-08-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2278. * Enable detection of more OpenGL extensions with glew:
  2279. - see comments in SDLGLVisibleSurface for details
  2280. - might fix the problem PingPong is seeing:
  2281. accoring to 'glewinfo' framebuffer_objects are support on his
  2282. card, but not so according to openMSX
  2283. 2006-08-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2284. * Use 2D textures iso 3D to work around bug in ATI drivers
  2285. 2006-08-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2286. * Transform texture coordinates from (N x N x 4096) to 32N x N x 128
  2287. because some gfx cards can't handle that big dimensions
  2288. 2006-08-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2289. * Implemented hq as a OpenGL 2.0 shader
  2290. * Use external data files in GLHQScaler and GLHQLiteScaler:
  2291. - work around limitation in MSYS assembler(?):
  2292. Assembler messages:
  2293. Warning: .stabs: description field '11004' too big, try a
  2294. different debug format
  2295. 2006-08-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2296. * Implemented hqlite as a OpenGL 2.0 shader:
  2297. supports 2x 3x 4x
  2298. only 256 pixel wide, non-interlaced MSX screens
  2299. 2006-08-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2300. * Fixed VDPCmdEngine status register 8 and 9:
  2301. - implemented by Alex Wulms
  2302. - status registers 8/9 are documented to return the result of
  2303. a SRCH command. However they simply return the value of the
  2304. internal 'ASX' register. In the end this register does
  2305. contain the result of a SRCH command, but it is also updated
  2306. during the SRCH command and even during completely different
  2307. commands.
  2308. 2006-08-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2309. * Fixed indeterministic behaviour in CPU emulation:
  2310. CPU could react one instruction too late to an IRQ,
  2311. depending on which other sync points there are
  2312. (see comments in CPUCore.cc for more details)
  2313. 2006-08-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2314. * write printed pages to "dot-matrix" director (like screenshots dir)
  2315. * made printer image resolution a setting:
  2316. between 150dpi and 1200dpi. Default (300dpi) is a compromise
  2317. between quality and imagesize/speed
  2318. 2006-08-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2319. * Added Dot Matrix Printer Emulation:
  2320. code mostly taken from blueMSX
  2321. 2006-07-31 Joost Damad <joost@lumatec.be>
  2322. * add support for powerpc64: ppc64 cpu and flavour
  2323. * compile with -O1 on m68k by default
  2324. 2006-07-30 Maarten ter Huurne <maarten@treewalker.org>
  2325. * Released openmsx-0.6.1.
  2326. 2006-07-28 Manuel Bilderbeek <manuel@msxnet.org>
  2327. * Escape strings before sending them to TCL's splitList, fixes
  2328. diskmanipulator with spaces in file names
  2329. * And reverted again. This breaks splitting completely. Needs a better
  2330. fix, but it's not trivial.
  2331. 2006-07-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2332. * Fixed loading of keybindings
  2333. 2006-07-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2334. * Implemented 'Removable media status notification feature set' for
  2335. IDECDROM, slightly improved 'request sense' command:
  2336. reading from CDROM (also when switching ISO images) seems to work
  2337. now, although there may still be a problem with the volume id
  2338. * Set version_number=0.6.1, release_tag=true
  2339. 2006-07-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2340. * Reenabled saving of keybindings:
  2341. on exit when save_settings_on_exit is enabled or when explicity
  2342. requested
  2343. * Fixed saving of 'renderer' setting:
  2344. when save_settings_on_exit was enabled there were two problems:
  2345. - after testconfig run, renderer=none was saved in settings.xml.
  2346. Fixed by introducing 'unsaveable' values on Setting
  2347. - every other run the value would fallback to 'SDL'. For the
  2348. renderer setting we made the default value equal to the
  2349. saved value (needed for the 'unset renderer' command executed
  2350. by catapult) and settings with default value don't get saved.
  2351. Fixed by having a seperate default and restore value.
  2352. 2006-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2353. * Don't assert when multiple Panasonic MSX-Audio's are inserted
  2354. 2006-07-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2355. * Exit the CliServer listener thread in a more portable way
  2356. 2006-07-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2357. * Don't listen for incomming connections in -testconfig mode
  2358. * Split RomInfo in RomInfo and RomDatabase:
  2359. - allowed to fix RomInfo memory leaks
  2360. 2006-07-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2361. * Implemented proper locking for Reactor::motherBoard
  2362. 2006-07-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2363. * Fixed top-border flicker in cbios/SDLGL:
  2364. - CPU loop was exit'ed only one instruction after the exit-loop
  2365. request. Normally this doesn't matter (Schedule points are still
  2366. executed cycle accurate). But for _very_ long instructions,
  2367. like the way we implemented the HALT instruction, and the repaint
  2368. event it did matter.
  2369. * Fixed(?) the undocumented TMS9918 mode1q:
  2370. - I didn't test this (i don't have a test prog) but the old
  2371. code had obvious bugs, I fixed those
  2372. 2006-07-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2373. * Implemented general purpose IO mechanism for Y8950:
  2374. - implemented for Philips Music Module, Panasonic MSX-AUDIO, still
  2375. have to investigate Toshiba module
  2376. 2006-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2377. * Fallback to SDL renderer when switching renderer didn't succeed
  2378. (e.g. when switching to SDLGL-PP without ogl2 support)
  2379. 2006-07-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2380. * Added lighting for 3d display deform:
  2381. Corners (especially top corners) are now a bit darker then the
  2382. middle-lower part. The effect is subtle but it looks more
  2383. realistic IMHO. I couldn't measure any speed difference
  2384. with or without lighting, so it's enabled by default
  2385. 2006-06-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2386. * Renamed 'monitor_effect' setting to 'display_deform'
  2387. * Fixed GLSnow effect for non 2x scale factors
  2388. 2006-06-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2389. * Implemented 'horizontal stretch' for SDLGL-PP:
  2390. - is another enum of the monitor_effect setting (rename this?)
  2391. - the 3D monitor effect always has horizontal stretch applied
  2392. * Only enable SDLGL-PP renderer when OpenGL-2.0 is available
  2393. * Moved SDLGL2 to 'non-release-only' status (like SDLGL-FB<xx>)
  2394. 2006-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2395. * Implemented blur and scanlines for SDLGL-PP simple scaler
  2396. * Implemented FMPAC SRAM disable bit (bit4 address 0x7FF6):
  2397. Thanks to BiFiMSX for investigating this
  2398. 2006-06-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2399. * Made "monitor_effect" an enum setting (suggestions for a better name
  2400. are welcome). Made normal (non-3d) the default. Fixed a bug when
  2401. started openmsx is started in normal mode.
  2402. 2006-06-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2403. * Implemented 3D monitor effect for SDLGL-PP renderer
  2404. * Enabled glow setting for SDLGL-PP
  2405. 2006-06-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2406. * Various RTC (RP5C01) test mode fixes:
  2407. - r#14 bits 0-3 are for seconds, minutes, days, years
  2408. - in test mode there is no carry from 'lower order' number
  2409. - test mode also works when timer itself is disabled
  2410. 2006-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2411. * Switched to non_power_of_two textures instead of texture_rectangle
  2412. in SDLGL-PP renderer:
  2413. - ATI cards don't support text_rect in GLSL, but npot text should
  2414. work
  2415. - for GeForce5 class HW this change is bad because it has no
  2416. hw support for npot textures while it has for text_rect
  2417. 2006-06-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2418. * Made rectangle_textures available on correct resolution on vertical
  2419. linewidth borders:
  2420. - fixes most SDLGL-PP glitches
  2421. - TODO cleanup, make it work on ATI cards
  2422. 2006-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2423. * Use texture_rectangle for SDLGL-PP shader:
  2424. - allows to fix the border glitches
  2425. - still WIP but horizontal glitches seem to be fixed already
  2426. 2006-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2427. * Added generic register logger (see also psg_log script):
  2428. - typical use case will be to log soundchip registers
  2429. - can also playback the logged regsiters
  2430. 2006-06-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2431. * Implemented all HQ scalers for the extra gfx9000 resolutions
  2432. 2006-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2433. * Refactored HQ scalers to reduce code duplication
  2434. 2006-06-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2435. * Speedup hq3x (same technique as used in hq2x):
  2436. between 3% and 5% faster on my machine
  2437. * Speedup hq3xlite: between 2% and 3% faster
  2438. * Implemented hq3x and hq3xlite for 512-wide mode:
  2439. no special implementation like in the hq2x case, just do
  2440. hq3x followed by scale_2on1
  2441. 2006-06-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2442. * Fixed HQ2xScaler-1x1to2x2.nn data (bug in generator script)
  2443. * Improved quality of hq2x in 512 pixel wide modes (screen 7)
  2444. * Speedup hq2xlite (~5%) by using the same technique as used in HQ2xScaler
  2445. * Improved quality of hq2xlite in 512 pixel wide modes (screen 7)
  2446. 2006-06-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2447. * Mask unwritable bits in V9990 registers:
  2448. fixes 'shocky' scroll in some power basic demos
  2449. * fixed "openmsx_info isexternalslot" command:
  2450. guess_title script now works again
  2451. * Oops! Socket code couldn't handle multiple simultaneous connections
  2452. (or two single connections quickly after each other).
  2453. 2006-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2454. * Only lower part of AY scroll register resets scanline position:
  2455. fixes GEM08
  2456. * Implemented priority control for V9990 P1 mode
  2457. 2006-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2458. * Fixed bug in V9990 blank screen behaviour
  2459. 2006-06-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2460. * V9990 P1 mode does not have the strange screenplit
  2461. behaviour (see 2006-05-29)
  2462. 2006-05-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2463. * Implemented 'cd<x>' command to change ISO image
  2464. * Implemented -cda command line option
  2465. * Fixed V9990 commands in P1 mode:
  2466. Actually I just tried something and it seems to work very well (it
  2467. fixes a lot of stuff). Still need to figure out exactly how the
  2468. coordinate system maps the VRAM addresses in P1 mode
  2469. 2006-05-31 Maarten ter Huurne <maarten@treewalker.org>
  2470. * Initial support for sector loading from CD-ROM.
  2471. Still missing:
  2472. - commands to change the ISO image
  2473. - setting the right status flags when a CD is inserted /
  2474. not inserted / changed for another CD
  2475. - correct calculation of packet size
  2476. - audio track support
  2477. * Implemented Read Native Max Address so SymbOS can access the HD.
  2478. Thanks to Daniel Vik for telling us this command was the problem.
  2479. 2006-05-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2480. * Fixed assert when switching scale_factor from 3->2 when openmsx
  2481. was paused.
  2482. 2006-05-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2483. * Fixed vertical rolling at 256 line (is normmaly 512)
  2484. for V9990 P1 and P2 modes
  2485. * Fixed vertical offset in V9990 when vertical scroll register is
  2486. changed on a screensplit
  2487. 2006-05-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2488. * Fixed striped screen 6 borders in SDLRasterizer
  2489. 2006-05-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2490. * Fixed sprite disable for V9990 P1 and P2 modes
  2491. * IDEHD no longer resizes an existing HD image, the <size> tag is now
  2492. only used to create the initial HD image
  2493. * IDEHD now knows its own name (preparation for dynamic hd image)
  2494. * Changed naming scheme for HDs:
  2495. just give letters in order (not interface master/slave)
  2496. this is more similar to how disks are given names and it also
  2497. allows to give more logical names to cdroms (future)
  2498. * Implemented 'hd<x>' command to change HD images at-run-time
  2499. (only works when MSX is powered down)
  2500. * Added -hda command line option
  2501. 2006-05-26 Manuel Bilderbeek <manuel@msxnet.org>
  2502. * Specify the type of PSG for those machines we know this for sure
  2503. 2006-05-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2504. * Use EventDistributor iso Scheduler for MidiInNative, MidiInReader
  2505. and RS232Tester
  2506. * Don't use Scheduler to exit the CPU loop
  2507. * Removed ASAP from Scheduler
  2508. 2006-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2509. * Implemented sprites in V9990 P2 mode (can still be optimized)
  2510. 2006-05-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2511. * Implemented differences between AY8910 and YM2149 (two PSG variations):
  2512. - add <type>AY8910</type> or <type>YM2149</type>
  2513. in the <PSG> tag in hardwareconfig.xml
  2514. Default remains AY8910
  2515. 2006-05-21 Maarten ter Huurne <maarten@treewalker.org>
  2516. * Split IDEHD into generic part (new class AbstractIDEDevice) and
  2517. HD specific part (class IDEHD).
  2518. * Initial implementation of CD-ROM emulation.
  2519. The only things it can do right now is convince the Sunrise BIOS that
  2520. it is a CD-ROM and print some debug info about ATAPI commands.
  2521. * Included a CD-ROM drive in the "ide" extension.
  2522. 2006-05-20 Manuel Bilderbeek <manuel@msxnet.org>
  2523. * Added Spectravideo SVI-738 machine
  2524. 2006-05-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2525. * Implemented V99x8 with only 16kb VRAM
  2526. * More robust error handling in rs232-tester
  2527. 2006-05-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2528. * Implemented ninja-tap:
  2529. Thanks to BiFiMSX for disassembling the test program
  2530. 2006-04-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2531. * Disabled ninja-tap device because it doesn't work yet:
  2532. ATM it acts the same as the 'normal' joytap device
  2533. 2006-04-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2534. * Fixed bug in breakpoints:
  2535. when a breakpoint was hit we still executed one instruction
  2536. 2006-04-27 Maarten ter Huurne <maarten@treewalker.org>
  2537. * VDP accuracy fix: corrected length of horizontal blank.
  2538. Thanks to Daniel Vik for investigating the Parallax logo code and for
  2539. writing measurements programs that helped in determining the correct
  2540. horizontal blank length.
  2541. Note that the start time of the horizontal blank is not yet fully
  2542. correct, but having the right length already fixes some problems.
  2543. 2006-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2544. * Fixed assert in MemoryOps: assert was too strict
  2545. 2006-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2546. * Fixed truncate() function in windows:
  2547. - instead of extending the file with zeros at the end, it wrote
  2548. those zeros over the beginning of the file. Oops.
  2549. 2006-04-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2550. * Implemented io and memory watchpoints:
  2551. - for the moment use like this:
  2552. debug set_watchpoint <type> <address> [<condition>] [<command>]
  2553. debug remove_watchpoint <id>
  2554. debug list_watchpoints
  2555. Where type is one of 'read_io', 'write_io', 'read_mem' or
  2556. 'write_mem'. Address is in range 0..255 for io ports and 0..65535
  2557. for memory. Condition and command are the similar to the set_bp
  2558. command.
  2559. - I'm not 100% happy with this interface. It may change before the
  2560. release.
  2561. 2006-04-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2562. * Fixed V9990 SRCH command:
  2563. at least paint command in power basic seems to work again
  2564. * Fixed inserting wav/cas images from the command line
  2565. 2006-04-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2566. * Implemented infrastructure for V9990 command timing:
  2567. data in timing table is still _very_ rough though
  2568. 2006-04-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2569. * Fixed(?) V9990 BMLL command, it should do logical operations:
  2570. not yet tested
  2571. 2006-04-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2572. * Enabled support for single sided disk drives:
  2573. TODO update hardwareconfig.xml for machines with single sided
  2574. drives
  2575. 2006-04-11 Manuel Bilderbeek <manuel@msxnet.org>
  2576. * Added new 'bootsector' setting. You can use it to let DirAsDSK use a
  2577. DOS2 (default) boot sector or a DOS1 one. Also put the boot sector
  2578. data in one single (dummy) class, yesterday.
  2579. 2006-04-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2580. * Fixed bug in V9990 command engine:
  2581. LMMC command was wrong in 16bpp mode
  2582. * Optimized address calculation for 16bpp v9990 commands
  2583. * Fixed V9990 cursor color
  2584. 2006-04-09 Manuel Bilderbeek <manuel@msxnet.org>
  2585. * Added <info> tags for extensions as well. Please check; most likely
  2586. not all data is correct. But it's useful for GUI's/launchers!
  2587. 2006-04-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2588. * Made command that gets executed when a bp is hit configurable,
  2589. default command is 'debug break'
  2590. * Allow <devices> tag in extension configs (same as machine configs)
  2591. old config format is still supported
  2592. * Updated all extension configs to new format
  2593. 2006-04-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2594. * Further optimized hq2x: also reuse edge flags from top neighbour
  2595. (again about 5% faster)
  2596. 2006-04-07 Manuel Bilderbeek <manuel@msxnet.org>
  2597. * Print a warning when a DI/HALT is detected, which means a hang.
  2598. TODO: add warnings for other known hang-situations as well.
  2599. 2006-04-06 Maarten ter Huurne <maarten@treewalker.org>
  2600. * Speedup (approximately 5%) of hq2x by re-using edge flags that were
  2601. computed for the left neighbour pixel.
  2602. 2006-04-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2603. * Speedup switching to different color_matrix
  2604. * Fixed assert when using the same extension multiple times
  2605. * Fixed asserts when using advram-p and advram-s extensions
  2606. 2006-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2607. * Reduced compile dependencies, should reduce amount of recompilations
  2608. needed in the future:
  2609. - split SettingPolicy.hh -> SettingPolicy.hh SettingRangePolicy.hh
  2610. - hold BitmapConvertor CharacterConverter SpriteConverter by
  2611. pointer iso by value, performance difference is not measurable
  2612. * Use functions of Math.hh in GL(2)Rasterizer
  2613. * Made it possible for TCL scripts to implement tab completion,
  2614. see share/scripts for examples:
  2615. you again need to update the installed init.tcl file
  2616. * Implemented experimental 'tabcompletion' command:
  2617. only ment to be used by external programs
  2618. * Implemented color_matrix setting:
  2619. This color matrix can do any linear transformation from MSX RGB to
  2620. host RGB. See share/scripts/monitor.tcl for examples.
  2621. 2006-03-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2622. * Made it possible for TCL script to provide a help text, see
  2623. share/scripts for examples.
  2624. Note: the system init.tcl was updated, you probably need to replace
  2625. the installed version
  2626. * Added new 'about' TCL script. It searches for commands (built-in or
  2627. TCL scripts) that seem to be about the given keyword. Useful if you
  2628. forgot the exact name of a command.
  2629. 2006-03-27 Maarten ter Huurne <maarten@treewalker.org>
  2630. * Merged SDLGLVideoSystem into SDLVideoSystem.
  2631. The actual differences exist in the VisibleSurface subclasses;
  2632. these classes only function as factories.
  2633. 2006-03-26 Maarten ter Huurne <maarten@treewalker.org>
  2634. * Fixed two compile errors on Intel Macs. At least one remains though.
  2635. 2006-03-25 Maarten ter Huurne <maarten@treewalker.org>
  2636. * Added new scaler "TV".
  2637. 2006-03-24 Maarten ter Huurne <maarten@treewalker.org>
  2638. * Set maximum of scale_factor to 4.
  2639. Only the SDLGL-PP renderer can actually reach 4x, the other renderers
  2640. will fall back to their maximum zoom (2x or 3x).
  2641. 2006-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2642. * SDLRasterizer optimization:
  2643. - replaced memcpy() with new stream_memcpy() function
  2644. - about 3% faster here (simple scaler 2x)
  2645. 2006-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2646. * Optimized clock in CPU code:
  2647. - do part of the time bookkeeping with 32-bit additions (iso 64-bit)
  2648. - gives between 1% and 2% speedup in typical PC usecase (scale_factor
  2649. = 2, no frameskip)
  2650. - gives around 10% speedup with scale_factor = 1 and frameskip 5
  2651. 2006-03-19 Maarten ter Huurne <maarten@treewalker.org>
  2652. * Made scalers switchable in SDLGL-PP renderer.
  2653. Only "simple" and "ScaleNx" are currently implemented.
  2654. * Ported noise effect to SDLGL-PP renderer.
  2655. 2006-03-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2656. * Implemented run-time switchable machines:
  2657. - use set machine <machine-name>
  2658. - there are still some rough edges and I also still expect some
  2659. bugs. So please test.
  2660. * Fixed bug: keypresses in the console were passed to MSX just after
  2661. switching machine
  2662. 2006-03-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2663. * More preparations for run-time switchable machines
  2664. 2006-03-13 Maarten ter Huurne <maarten@treewalker.org>
  2665. * Introduced new renderer "SDLGL-PP".
  2666. This uses SDLRasterizer and does post processing in OpenGL.
  2667. Since it uses SDLRasterizer, it is more mature already than SDLGL2,
  2668. which uses its own GL2Rasterizer.
  2669. 2006-03-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2670. * Turned MSXDevice creation in a 2-step process:
  2671. First construct object, then call the init() method. This
  2672. simplifies error handling (exceptions thrown from form
  2673. constructor, see comments in code for more details) and it
  2674. more easily allows passing extra parameters to device
  2675. construction.
  2676. * A MSXDevice now knows to which HardwareConfig it belongs (machine or
  2677. extension)
  2678. * Extended cart<x> commands (is now similar to disk<x> command):
  2679. - cart<x> (without parameters) now returns the name of the inserted
  2680. cartridge (or possible an extension)
  2681. - cart<x> -eject removes the inserted cartridge (or extension)
  2682. 2006-03-11 Maarten ter Huurne <maarten@treewalker.org>
  2683. * Added support for pixel buffers to GLUtil.
  2684. * Added utility functions to GLUtil.
  2685. * Introduced new experimental renderer "SDLGL2".
  2686. It uses OpenGL 2.0 features, including fragment (pixel) shaders.
  2687. Currently, it only renders SCREEN5/8 without blanking/borders.
  2688. 2006-03-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2689. * Dynamically register cart<x> commands
  2690. 2006-03-11 Manuel Bilderbeek <manuel@msxnet.org>
  2691. * Fixed Gradiente machines. Cartridge slot B is in slot 3 and not 2 on
  2692. Expert 1.0 and 1.1 and the ROM size was wrong for the DDPlus. Thanks
  2693. to Gustavo Seidler for pointing this out.
  2694. 2006-03-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2695. * Upper 4 RAM blocks on turbor may not be writable in dram mode (not
  2696. yet tested)
  2697. 2006-03-05 Maarten ter Huurne <maarten@treewalker.org>
  2698. * Added utility classes for dealing with GLSL shaders.
  2699. * Fixed UMR in StoredFrame.
  2700. * Fixed MegaRAM mapper so it can handle 2048K (256 pages) as well.
  2701. Thanks to Gustavo Seidler for spotting this bug and to Adriano
  2702. Camargo Rodrigues da Cunha for finding the cause.
  2703. 2006-03-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2704. * Added blur_1on3 MMX implementation:
  2705. total emulation speed with simple 3x scaler is about 10% faster
  2706. * Added "input_port" and "output_port" info topics
  2707. * Implemented "iomap" command as a TCL proc
  2708. 2006-03-03 Manuel Bilderbeek <manuel@msxnet.org>
  2709. * Implemented better completion for debug command
  2710. 2006-03-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2711. * Added "openmsx_info slot" info topic
  2712. * Implemented "slotmap" command as a TCL proc
  2713. 2006-03-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2714. * Preparation for run-time switchable machines:
  2715. - send event when a MSX machine is loaded and change titlebar
  2716. when that event is received
  2717. * Implemented blur for 3x simple scaler (WIP):
  2718. - only 256 wide modes yet
  2719. 2006-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2720. * Fixed MicrosolFDC to also support DDX_3.0
  2721. * Added DDX_3.0 extension:
  2722. Code and config contributed by Gustavo Seidler. Thanks!
  2723. 2006-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2724. * IconStatus doesn't need Display
  2725. * Moved IconStatus and Display from MSXMotherboard to Reactor
  2726. 2006-02-26 Patrick van Arkel (vampiermsx@gmail.com)
  2727. * Removed CRC32 values from the rom database
  2728. and added a few more sha1 values
  2729. 2006-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2730. * Replaced PollInterface mechansim with events
  2731. * Moved InputEventGenerator from MSXMotherboard to Reactor
  2732. 2006-02-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2733. * CliComm now uses events instead of Scheduler
  2734. * Moved CliComm from MSXMotherboard to Reactor
  2735. * Decoupled Display and RealTime classes:
  2736. - instead Display now send events, RealTime listens to those events
  2737. 2006-02-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2738. * EventDistributor no longer needs Scheduler, instead it cooperates
  2739. with Reactor to deliver events:
  2740. TODO turn (some of the) ASAP schedule points into events
  2741. * Moved CommandController, EventDistributor, CommandConsole,
  2742. FileManipulator and FilePool from MSXMotherboard to Reactor:
  2743. more classes need to be moved but these were easy
  2744. 2006-02-22 Maarten ter Huurne <maarten@treewalker.org>
  2745. * Fixed GLSetTexEnvCol on big endian machines.
  2746. This bug was visible in the border of SCREEN6.
  2747. * Look for GLEW in DarwinPorts or Fink dirs.
  2748. * Fixed bug with palette initialisation in SDLGL renderer.
  2749. This bug was visible as a black screen when using an MSX1 VDP.
  2750. 2006-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2751. * Preparations for run-time switchable machine:
  2752. - made seperate EventDistributors for 'DETACHED' and 'EMU'
  2753. listeners.
  2754. - Reactor now owns MSXMotherboard
  2755. * Fixed HotKey for key release bindings
  2756. 2006-02-18 Maarten ter Huurne <maarten@treewalker.org>
  2757. * Use GLEW to handle OpenGL extensions.
  2758. http://glew.sourceforge.net/
  2759. From now on, the GL renderer requires GLEW. Note that since the GL
  2760. renderer is optional, openMSX as a whole does not require GLEW.
  2761. This commit is based on a patch from BouKiCHi.
  2762. 2006-02-18 Manuel Bilderbeek <manuel@msxnet.org>
  2763. * Log warnings to stderr, in stead of stdout
  2764. 2006-02-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2765. * Implemented noise for GL renderer
  2766. * Tweaked order of command line parsing:
  2767. extensions should come before filename parsing to handle stuff like
  2768. openmsx -machine msx1 -ext fdd mydisk.dsk
  2769. 2006-02-15 David Heremans <david.heremans@gnu-linux.net>
  2770. * Added SukkoPera's Slackbuild scripts
  2771. 2006-02-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2772. * Implemented noise for 16bpp modes
  2773. * Optimized non-MMX noise a bit
  2774. 2006-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2775. * Added 'brightness' and 'contrast' settings
  2776. 2006-02-10 Manuel Bilderbeek <manuel@msxnet.org>
  2777. * CheckedRam now calls a TCL proc that is defined in the new
  2778. umr_callback setting if an UMR occurs. E.g. try
  2779. set umr_callback umrcallback
  2780. umrcallback is an example implementation of such a TCL proc; edit it
  2781. to your liking.
  2782. TODO: find a way to automatically skip the UMR's from the boot
  2783. sequence. (Although the feature is already very usable!)
  2784. 2006-02-09 Manuel Bilderbeek <manuel@msxnet.org>
  2785. * Introduced CheckedRam class. See the class documentation for
  2786. details.
  2787. TODO: make it useful by adding a usable UMR detector.
  2788. 2006-02-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2789. * Fixed bug, diskimages with spaces in the filename:
  2790. - since a few days the disk images passed via the commandline
  2791. execute a TCL command to insert the disk instead of calling a
  2792. c++ routine (to avoid code duplication). However this went
  2793. wrong when there were spaces in the filename. I fixed this by
  2794. avoiding the 'assembling tokens to string' and 'parsing string
  2795. to tokens' steps.
  2796. * Handle errors in the startup TCL scripts better
  2797. * Speedup noise effect a bit (~10%) by using prefetch instructions
  2798. 2006-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2799. * New video effect: noise (experimental)
  2800. - try "set noise <x>"
  2801. 2006-02-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2802. * Fixed setting initial diskimage via the commandline:
  2803. - as a bonus -disk<x> now also gives an error on msx machines with
  2804. no (or too few) drives
  2805. * Don't loose current disk after a failed 'diska' command
  2806. 2006-02-04 Maarten ter Huurne <maarten@treewalker.org>
  2807. * Made Konami mapper more accurate, using info from:
  2808. http://bifi.msxnet.org/msxnet/tech/megaroms.html
  2809. * Made Majutsushi mapper inherit from Konami mapper, since it bascially
  2810. is a Konami mapper with a DAC added to it.
  2811. * Recycle line buffers used for scaling when openMSX is paused.
  2812. 2006-02-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2813. * Removed 'slot reservation' mechanism in command line parser:
  2814. - The order of -cart and -ext command line options is now important
  2815. - This may break catapult in some cases. Combination of
  2816. slotexpander extensions and other memory mapped extensions (or
  2817. rom cartridges) can fail now.
  2818. * Better error handling (in particular cleanup after error) when
  2819. something goes wrong during run-time insertion of extension:
  2820. * Better error handling when removing extensions (e.g. trying to
  2821. remove a slotexpander that is still in use)
  2822. 2006-02-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2823. * Made FAT buffering more symmetrical:
  2824. - if FAT sector writes are stored in cache, then FAT sector
  2825. reads must also come from cache
  2826. - I don't know this caused problems in the current code, but
  2827. now it's certainly more robust against future changes
  2828. 2006-02-02 David Heremans <david.heremans@gnu-linux.net>
  2829. * Decided to keep the FAT buffering and adjust the writeLogical
  2830. sectors for it to get correct working again. This also repairs
  2831. formats of existing dsks/partitions etc.
  2832. 2006-02-01 David Heremans <david.heremans@gnu-linux.net>
  2833. * Fixed a small problem with the media descriptor during the format of
  2834. a new dsk file. But at first glance the entire FAT buffering need to
  2835. go, since it might conflict with different sized partitions on a HD
  2836. 2006-01-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2837. * Made MSXSwitchedDevice more robust when inserted/removed dynamically
  2838. * Handle errors in MSXDevice configs better:
  2839. make sure device is not left partly registered (memory or IO)
  2840. when there is an error in the device config
  2841. 2006-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2842. * Added new cpu-status update event:
  2843. <update type="status" name="cpu">running</update>
  2844. <update type="status" name="cpu">suspended</update>
  2845. The old 'break' and 'resume' update events are deprecated
  2846. * Small cleanups/fixes in JoyTap stuff:
  2847. - got rid of the "ERROR: Connector still plugged .." messages
  2848. - removed JoyTapPort class, it was exactly the same as JoystickPort
  2849. - (minor) removed (lastValue == value) check (no need to do the
  2850. same optimization twice)
  2851. 2006-01-27 David Heremans <david.heremans@gnu-linux.net>
  2852. * Added JoyTap and (incomplete) NinjaTap devices
  2853. The JoyTap is a base class for collector/combinator devices
  2854. that sit inbetween the MSX joystick ports and the actual
  2855. joysticks.
  2856. 2006-01-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2857. * Implemented 'list_extensions' and 'remove_extension' commands
  2858. * Converted some fatal errors to normal errors, they can now also
  2859. get triggered by run-time insertion of extensions
  2860. * Recalculate visible pages when a memory device is added/removed:
  2861. fixes assert while removing a running game cartridge
  2862. 2006-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2863. * Enabled run-time insertion of rom cartridges and extensions:
  2864. - new commands:
  2865. ext [extension]
  2866. cart, cart<x> [romfile]
  2867. * Removed EmuTime (and related) constructors that initialize time at 0:
  2868. - makes initialization time explicit in the code
  2869. - fixed some (all?) wrongly initialized timestamps
  2870. e.g. the new "ext gfx9000" command caused an assert
  2871. 2006-01-22 Maarten ter Huurne <maarten@treewalker.org>
  2872. * Added new platform "darwin-app", which can be used to produce a
  2873. redistributable binary for Mac OS X.
  2874. Thanks to BouKiCHi for getting static linking to work.
  2875. 2006-01-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2876. * Reduced build-dependencies between source files:
  2877. - moved most inner classes from hh to cc file
  2878. 2006-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2879. * Changed 'locking' of devices (eg. ADVRAM depends on VDP):
  2880. - it's now specified with <device idref=".."/> tag(s)
  2881. - can now be handled by generic code
  2882. * Moved ownership of MSXDevices from MSXMotherBoard to HardwareConfig
  2883. (MSXMotherBoard owns (possibly several) HardwareConfigs):
  2884. - another preparation for run-time switchable extensions/machines
  2885. 2006-01-19 Maarten ter Huurne <maarten@treewalker.org>
  2886. * Added the option not set the window icon from the openMSX process.
  2887. This is useful for running from an OS X app folder, since the app
  2888. folder sets a hi-res icon.
  2889. 2006-01-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2890. * Preparations for run-time removable extensions/machines:
  2891. - keep mamchines and extensions as seperate entities in memory
  2892. - unregister 'expanded' and 'exernal' slots when the extension
  2893. or machine is deleted
  2894. 2006-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2895. * Refactored CartridgeSlotManager:
  2896. - allocated external slots are freed again when the MSXDevice
  2897. using it is destroyed
  2898. - preparations for removable devices at run-time
  2899. 2006-01-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2900. * CassetteJack cleanup:
  2901. - changed code style to match rest of openMSX sources
  2902. - fixed small bug: new[] needs delete[] (iso delete)
  2903. - more robust error handling
  2904. * Refactored the way how MSXDevice names are made unique
  2905. 2006-01-15 Maarten ter Huurne <maarten@treewalker.org>
  2906. * Added "make app" for Mac OS X.
  2907. It is not yet fully functional, but most is there already.
  2908. Thanks to BouKiCHi for helping.
  2909. 2006-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2910. * Made MSXDevice::getName() return a string by value:
  2911. is not performance critical and simplifies code in MSXMultiDevice
  2912. * Moved common code of MSXMultiIODevice and MSXMultiMemDevice to
  2913. new MSXMultiDevice class
  2914. * No need to implement reset(), powerUp(), powerDown() methods in
  2915. MSXMultiDevice. It's even wrong if they ever get called.
  2916. 2006-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2917. * Implemented [ 1320568 ] Preload entire diskimage/ROM:
  2918. We don't actually keep the image in memory, just read it and
  2919. discard the result. However the image will stick in the OS
  2920. cache (only tested on Linux though). This way the "don't preload
  2921. when not enough free RAM is available" issue is addressed.
  2922. Tested with both CDROMs and floppy's and it seems to work
  2923. reasonably well.
  2924. 2006-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2925. * Fixed interlace + multi page horizontal scroll also for GLRenderer:
  2926. with deinterlaced disabled in it's the same fix as for SDLRenderer
  2927. 2006-01-08 Maarten ter Huurne <maarten@treewalker.org>
  2928. * Refactoring of GLRasterizer:
  2929. - only rasterize sprites if the line actually contains sprites;
  2930. this can make quite an impact on performance
  2931. 2006-01-07 Maarten ter Huurne <maarten@treewalker.org>
  2932. * Refactoring of GLRasterizer:
  2933. - partial preparation for output windows other than 640x480
  2934. - removed deinterlace code, because the idea was broken;
  2935. later deinterlace will have to be re-added in a better way
  2936. (like the SDL renderer has)
  2937. - store bitmap data in a single large texture rather than one
  2938. texture per line; this is better for performance
  2939. 2006-01-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2940. * Reenabled 'sdlgl-fb<x>' renderers in non-release versions
  2941. * Made 2x scalers work with non 640 wide output surfaces:
  2942. preparation to enable 4x scalers later
  2943. * For symmetry also made 1x and 3x scalers output width independent
  2944. 2006-01-05 Maarten ter Huurne <maarten@treewalker.org>
  2945. * Split OutputSurface into smaller OutputSurface and VisibleSurface.
  2946. * Use PixelOperations instead of SDL_PixelFormat where possible.
  2947. 2006-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2948. * Added support for SDL 'world_<n>' and 'undo' keys.
  2949. 2006-01-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2950. * Report error for key names with multiple non-modifier parts
  2951. (e.g. ENTER,A or PRINT,UP)
  2952. 2006-01-04 Maarten ter Huurne <maarten@treewalker.org>
  2953. * Moved ownership of RenderSettings from MSXMotherBoard to Display.
  2954. 2006-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2955. * Fixed combination of interlace and multi-page horizontal scrolling:
  2956. only for SDL renderer yet. Deinterlacing first needs to be fixed
  2957. in GL renderer (also use data from previous frame)
  2958. 2006-01-02 Maarten ter Huurne <maarten@treewalker.org>
  2959. * Created release branch for openMSX 0.6.0.
  2960. 2005-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2961. * Fixed assert when openmsx was quit with simple pluggable still
  2962. plugged in the printerport.
  2963. 2005-12-31 Manuel Bilderbeek <manuel@msxnet.org>
  2964. * Temporarily disabled reporting of filetype of first file on
  2965. cassette, because this breaks Catapult, and Herman is not there to fix
  2966. it... This way we can release. TODO re-enable after release and fix
  2967. Catapult or finally start on the Qt version of Catapult!
  2968. At this time, I'm talking about line 407 of CassettePlayer.cc.
  2969. 2005-12-29 Maarten ter Huurne <maarten@treewalker.org>
  2970. * Allow installation of binary to /usr/local/bin without overwriting
  2971. binary with a symlink.
  2972. * Check whether the C++ compiler is working.
  2973. It checks only if the compiler can compile "Hello World!", so it is
  2974. not guaranteed the compiler supports all C++ features needed to
  2975. compile openMSX. But the complete absence of a compiler is correctly
  2976. identified now, instead of reporting that all libraries are missing.
  2977. 2005-12-28 Maarten ter Huurne <maarten@treewalker.org>
  2978. * Rewrote "make install" to use the "install" utility instead of "cp"
  2979. combined with "chmod". The problem was that the "chmod" step did not
  2980. work on systems where the installed files are spread over multiple
  2981. directories, such as FreeBSD.
  2982. 2005-12-27 Maarten ter Huurne <maarten@treewalker.org>
  2983. * Added support for FreeBSD 6 by making FreeBSD 4 an exception (it has
  2984. GCC 2.9x as default compiler) and using the same platform Makefile
  2985. for all other FreeBSD versions.
  2986. * Added support for CPU reported as "amd64" (mapped to "x86_64").
  2987. 2005-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2988. * Force PSG portB direction to output:
  2989. - we already forced portA to input
  2990. - some msx machines have fixed port directions others not,
  2991. we should make this configurable per machine in the future
  2992. - for more details see [ 1390211 ] joystick problems
  2993. 2005-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  2994. * Revert cleanup in XMLLoader.cc, it breaks making a connection
  2995. from openmsx-debugger to openmsx in windows
  2996. * Disabled sdlgl-fb16 and sdlgl-fb32 renderers:
  2997. they don't offer anything over the existing renderers and
  2998. sdlgl-fb32 still has endian problems on PPC
  2999. 2005-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3000. * Made S1990 registers debuggable
  3001. 2005-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3002. * Reverted bug in earlier 'cleanup' in VDPVRAM:
  3003. - we must use baseAddr to encode 'window is enabled' info because
  3004. the implementation of isInside depends on it
  3005. - fixes crash of KV2 MSX1 on turboR
  3006. 2005-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3007. * Synchronize CPU and scheduler irregardless of how CPU loop was exited
  3008. (normally or via breakpoint):
  3009. - fixes assert when MSX is reset while CPU is breaked
  3010. * Prepare openmsx-0.6.0-rc1
  3011. 2005-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3012. * Assert on exceptions that pass through the TCL interpreter:
  3013. a config error in the ADVRAM extension asserts now (instead of
  3014. calling terminate()), we're still investigating how to fix it
  3015. * Worked around error from above, clean solution needs dependencies
  3016. between devices
  3017. 2005-12-18 Manuel Bilderbeek <manuel@msxnet.org>
  3018. * Implemented AutoRun feature for cassette software
  3019. - only works for CAS images, WAV is TODO (more difficult)
  3020. - experimental; default setting of "autoruncassettes" is off
  3021. - also tries to autorun if you insert at run time
  3022. - doesn't work properly on machines with non-international keyboard
  3023. layout, because the 'type' command doesn't work properly then
  3024. - please review and feel free to improve it! :P
  3025. 2005-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3026. * Properly fix fnano2 bug
  3027. * Implemented horizontal scrolling in character modes
  3028. 2005-12-14 Arnold Metselaar <arnold.metselaar@planet.nl>
  3029. * Use another bit for planar mode when ADVRAM has no 'enable' function
  3030. 2005-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3031. * Made 'enable' function in ADVRAM configurable
  3032. 2005-12-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3033. * Draw scanline in 3x simple scaler deinterlace mode
  3034. 2005-12-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3035. * Implemented deinterlace mode support in RGBTriplet scaler
  3036. 2005-12-11 Manuel Bilderbeek <manuel@msxnet.org>
  3037. * Updated the manuals for the new scaler settings. Please review!
  3038. 2005-12-10 Manuel Bilderbeek <manuel@msxnet.org>
  3039. * Pass cassetteplayer status to CliComm
  3040. 2005-12-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3041. * Implemented 'openmsx_info setting':
  3042. It returns a TCL list with:
  3043. - first element is the type of the setting
  3044. string, integer, float, enumeration, filename or key
  3045. - second element is the default value of the setting
  3046. - third element is optional, for integer and float settings
  3047. it is a list with the minimum and maximum allowed value. For
  3048. enum settings it is a list with all possible values.
  3049. * Fixed timing of slowest (no extra wait states) R800 IO instructions
  3050. 2005-12-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3051. * Fixed timing if 'IM n' instruction on R800:
  3052. should take 3 cycles iso 2
  3053. * Added '-script' command line option:
  3054. - makes it possible to execute additional startup scripts after
  3055. the default init.tcl script
  3056. 2005-12-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3057. * Split scaler setting into scale_factor and scale_algorithm
  3058. 2005-12-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3059. * Readd delay on turboR on ports 0x9A and 0x9B:
  3060. - fixes previous fix for assert on turbor with advram
  3061. - also prepared code to later add delays on other ports
  3062. 2005-12-04 Arnold Metselaar <arnold.metselaar@planet.nl>
  3063. * change advram to emulate a newer version that can be switched
  3064. on and off by software
  3065. * fix assert when using advram on turboR
  3066. 2005-12-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3067. * Small ADVRAM changes:
  3068. - read device ID ("VDP") from config file
  3069. - bring coding style in line with the rest of the openmsx code
  3070. 2005-12-03 Arnold Metselaar <arnold.metselaar@planet.nl>
  3071. * MSXDevice(readIO, peekIO, writeIO): change type of port address
  3072. to word
  3073. * MSXMotherBoard: add methods lockDevice and releaseDevice to allow
  3074. interdepencency of devices
  3075. * ADVram: new extension
  3076. 2005-12-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3077. * Handle scaleBlank() via Scaler::scaleImage():
  3078. - allows to fix the "[1057836] Infinite plasma logo" bug
  3079. - also properly handle scanlines with non-black border color in
  3080. deinterlace mode. Previously display area didn't had scanlines
  3081. while border area had. Now none has scanlines.
  3082. 2005-12-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3083. * Also do realtime syncing when started with none renderer
  3084. * Fixed deinterlace in combination with frameskip
  3085. * Use DoubledFrame to render interlaced (non-deinterlaced) frames:
  3086. scalers with odd scale factor are rendered better now. For example
  3087. low scaler also shakes now
  3088. 2005-11-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3089. * Added line scaling in FrameSource:
  3090. - fixes the 'double screen' bug
  3091. - improves scaler border effects (but still not completely)
  3092. 2005-11-27 Manuel Bilderbeek <manuel@msxnet.org>
  3093. * Made cassetteplayer status query machine readable. Just use
  3094. 'cassetteplayer' to get a TCL list, similar to the diska command.
  3095. 2005-11-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3096. * Added 192kb VRAM support in VDPCmdEngine
  3097. 2005-11-20 Maarten ter Huurne <maarten@treewalker.org>
  3098. * Optimised variable zoom factor version of 2xSaI.
  3099. * Used template metaprogramming to instantiate an optimised fixed zoom
  3100. factor 3xSaI scaler.
  3101. 2005-11-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3102. * Keep icon status in new class (IconStatus) iso in static data of
  3103. IconLayer:
  3104. - fixes power led status when openmsx was started with 'none'
  3105. renderer (catapult)
  3106. * Basic 192kb VRAM support:
  3107. - only CPU-VRAM interface, no command engine stuff yet
  3108. 2005-11-19 Maarten ter Huurne <maarten@treewalker.org>
  3109. * Added the variable zoom factor version of 2xSaI.
  3110. It is being used to provide 3xSaI at the moment.
  3111. The current version is very slow though.
  3112. 2005-11-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3113. * Optimized scale3x (c++)
  3114. 2005-11-18 Manuel Bilderbeek <manuel@msxnet.org>
  3115. * Updated the manual. Still TODO are the new zoom/scaler-method
  3116. settings, which are not even programmed yet.
  3117. 2005-11-16 Maarten ter Huurne <maarten@treewalker.org>
  3118. * Added a C++ version of Scale3x.
  3119. 2005-11-16 Joost Damad <joost@lumatec.be>
  3120. * yeah that was one year ago since I did an openmsx commit :)
  3121. * use word for casting a pointer to an integral; fixes build on 64bit
  3122. systems
  3123. * test
  3124. 2005-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3125. * Remove all pending after commands on exit
  3126. 2005-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3127. * Automatically unschedule SyncPoint when it is deleted:
  3128. On lots of places we forgot to do this. Will become important
  3129. when we allow to remove device or switch machine at run time
  3130. 2005-11-12 Manuel Bilderbeek <manuel@msxnet.org>
  3131. * Attach to throttleManager, not to throttleSetting.
  3132. * Added keyword 'explicit' to declarations of constructors with only
  3133. one argument, to prevent undesired implicit conversions. Please do
  3134. this everywhere applicable from now on!
  3135. 2005-11-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3136. * Allow multiple <mem base="xxx" size="yyy"/> tags per device
  3137. * MSXRam device is now mirrored:
  3138. Together with change above it's now possible to create RAM like this:
  3139. <RAM id="my mirrored ram">
  3140. <mem base="0x2000" size="0x2000"/>
  3141. <mem base="0xA000" size="0x2000"/>
  3142. <size>0x2000</size>
  3143. </RAM>
  3144. This represents a 8kb RAM that is visible on both 0x2000-0x3FFF and
  3145. 0xA000-0xBFFF
  3146. * Directly using throttleSetting is wrong (should always go via
  3147. ThrottleManager), so make that impossible
  3148. * Still found a singleton, HardwareConfig. Removed it.
  3149. 2005-11-11 Manuel Bilderbeek <manuel@msxnet.org>
  3150. * Removed old add/removeListener calls
  3151. * Removed SettingListener class
  3152. 2005-11-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3153. * PluggingController related cleanups
  3154. 2005-11-10 Manuel Bilderbeek <manuel@msxnet.org>
  3155. * Introduced a generic Gamma based Observer pattern, template
  3156. implementation by Wouter though. Still needs to be used more properly
  3157. for Setting/SettingListener and ThrottleManager.
  3158. 2005-11-10 Maarten ter Huurne <maarten@treewalker.org>
  3159. * Map all even numbered joystick buttons to trig A and all odd numbered
  3160. joystick buttons to trig B. Before, button 0 was mapped trig A and
  3161. button 1 was mapped to trig B and if those buttons were not present
  3162. or not easy to use on your joypad, you were out of luck.
  3163. 2005-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3164. * Renamed scaleMxNtoXxY() methods in LowSCaler and 3x Scalers:
  3165. old named didn't take overscan into account
  3166. * Renamed all scaleNNN() methods in 2x scalers
  3167. * Use DeinterlacedFrame in 2x scalers
  3168. 2005-11-05 Manuel Bilderbeek <manuel@msxnet.org>
  3169. * More intelligent 'loading' check for disk drive; if there is no head
  3170. movement for a while, we assume loading stopped. Works much better
  3171. for software that doesn't turn off the motor. The timeout is set to
  3172. one second for now. This may need some tuning still.
  3173. 2005-11-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3174. * Allow more general memory specifications in hardwareconfig.xml:
  3175. - <mem base=".." size=".."/>
  3176. base and size no longer need to be multiples of 0x4000
  3177. - It's now possible to create devices that have 8kb rom and 8kb
  3178. ram in the same 16kb page.
  3179. * Fixed fullscreen switching in windows
  3180. 2005-11-04 Manuel Bilderbeek <manuel@msxnet.org>
  3181. * Implemented an experimental "fullspeedwhenloading" setting.
  3182. If you turn it on, openMSX will run at full speed when it thinks
  3183. that the MSX is loading from disk or cassette. It's still a bit dumb
  3184. for disk as it syncs the motor status... Also, some stuff like
  3185. RealTime and sound drivers want to get informed if the speed of the
  3186. emulation changes. This is not passed yet when openMSX goes to
  3187. full speed due to this new setting. Default is still 'off', of
  3188. course. Please test this and improve it :P
  3189. 2005-11-04 Maarten ter Huurne <maarten@treewalker.org>
  3190. * Renamed scale methods in LowScaler to reflect ratio i.s.o. line width.
  3191. * Finally introduced DeinterlacedFrame class.
  3192. Right now it is only used by PostProcessor internally, but in the
  3193. future the scalers will use it too, as a FrameSource.
  3194. 2005-11-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3195. * Fixed assert on 'set power off ; set power on':
  3196. also cleaned up reset handling code
  3197. 2005-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3198. * Only build SDLGLOutputSurface when OpenGL component is selected
  3199. 2005-11-01 Manuel Bilderbeek <manuel@msxnet.org>
  3200. * Optimization in RGBTriplet3xScaler: don't really call scale_1on1; if
  3201. we already have 256 wide lines, there's no need to scale
  3202. 2005-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3203. * Use OutputSurface iso directly SDL_Surface in Scalers:
  3204. - preparation to use other than SDL framebuffers
  3205. - OpenGL framebuffer code seems to work, but is not yet
  3206. enabled. Performance is about the same as SDL on my system
  3207. * Experimental. Enabled OpenGL framebuffer renderers:
  3208. - use 'set renderer sdlgl-fb16' and 'sdl-gl32' to enable them
  3209. - possibly we disable them for the release
  3210. * Fixed bug in MemoryOps:
  3211. - need mmxext for streaming stores
  3212. 2005-10-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3213. * Fixed assert when switching video system (hq2x -> hq3x)
  3214. and leak when switching video system on gfx9000:
  3215. * Small optimization in Simple3xScaler::scaleBlank()
  3216. 2005-10-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3217. * Fixed memory leaks in VideoSystem/Layers stuff:
  3218. - simplified layer ownership rules: creator now owns the layer
  3219. iso transferring ownership to Display
  3220. - added Display::removeLayer(), there was only addLayer()
  3221. - VideoSystem and Rasterizer objects were never deleted
  3222. 2005-10-30 Maarten ter Huurne <maarten@treewalker.org>
  3223. * Moved the switch(lineWidth) statement from PostProcessor to Scaler<N>,
  3224. as a preparation for renaming the line scale methods.
  3225. 2005-10-29 Manuel Bilderbeek <manuel@msxnet.org>
  3226. * Implemented Simple3xScaler with scanlines. Blur is TODO for someone
  3227. who is interested :P
  3228. 2005-10-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3229. * Implemented border effect for outer left and right border pixels
  3230. in RGBTriplet3xScaler
  3231. * Fixed Scale_XonY line scalers for case when destination width
  3232. is not an integer multiple of Y
  3233. 2005-10-28 Manuel Bilderbeek <manuel@msxnet.org>
  3234. * Implemented RGBTriplet3xScaler for all widths using the new functors
  3235. 2005-10-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3236. * Added 'Streaming store' tags on line scalers to enable
  3237. optimizations in Scaler2 and Scaler3
  3238. 2005-10-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3239. * Transformed scale_XonY() methods into functors
  3240. * Changed signature of scale192/384/640/768/1024 methods
  3241. * Factored out scaling algorithm in the base Scaler classes
  3242. * Optimized PixelOperations for 32bpp
  3243. * Implemented 16bpp in RGBTriplet3x
  3244. 2005-10-26 Manuel Bilderbeek <manuel@msxnet.org>
  3245. * Implemented adjustable scanline in scaleBlank() for RGBTriplet3x
  3246. scaler.
  3247. * Let rgbify (in RGBTriplet3x) use pixelOps to access RGB components.
  3248. Makes it almost work in 16bpp, except for the spill threshold.
  3249. TODO: fix this and implement other widths (as soon as this can be
  3250. done without loads of code duplication...)
  3251. 2005-10-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3252. * Changed signature of scale512() method
  3253. * Replaced Blender with PixelOperations class:
  3254. - puts all blend functions in one place
  3255. 2005-10-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3256. * Moved scanline code from SimpleScaler to new class Scanline
  3257. * Reused scanline code in RGBTriplet3x scaler
  3258. * Made the 'amount of RGB separation' configurable in RGBTriplet3x
  3259. scaler
  3260. 2005-10-24 Manuel Bilderbeek <manuel@msxnet.org>
  3261. * Implemented scaleBlank() for RGBTriplet3x scaler. Still no effect for
  3262. non-256-wide modes... (so still WIP)
  3263. 2005-10-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3264. * Improved Manuel's RGB scaler (still WIP)
  3265. 2005-10-23 Manuel Bilderbeek <manuel@msxnet.org>
  3266. * Added RGBTriplet3x scaler. Emulates a Trinitron effect, including
  3267. a scanline. This is still very WIP and experimental! Thanks to Wolf
  3268. for the idea
  3269. 2005-10-22 Maarten ter Huurne <maarten@treewalker.org>
  3270. * More preparations for cleaner deinterlacing:
  3271. - PostProcessor calculates destination Y (in addition to source Y)
  3272. - Scaler::scaleBlank signature changed to use destination Y
  3273. - Scaler::scale256 signature changed to use source and destination Y
  3274. 2005-10-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3275. * Put common code for HQ.x scalers in HQCommon.hh
  3276. * Optimized MSXtar:
  3277. - cache FAT in memory
  3278. * Implemented scaling in IconLayer:
  3279. - OSD icons now have the same size/position in all scalers
  3280. 2005-10-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3281. * Fixed low and hq3x scalers for v9990
  3282. * Cleaned up Scaler code (mostly for non 2x scale factors)
  3283. 2005-10-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3284. * Added hq3xlite scaler
  3285. 2005-10-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3286. * Added hq3x scaler:
  3287. - is *very* slow (will try to add hq3xlite later)
  3288. - there might still be problems in combination with gfx9000
  3289. 2005-10-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3290. * Use unix domain sockets iso internet domain sockets for
  3291. communication with extrenal programs.
  3292. * Updated Contrib/openmsx-control.cc:
  3293. made a openmsx-control-socket.cc and a openmsx-control-stdio.cc
  3294. version
  3295. 2005-10-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3296. * Worked around SDL CAPSLOCK problem:
  3297. SDL doesn't send proper keyup/down events for CAPSLOCK, instead
  3298. it sends keydown when key is pressed for the first time and keyup
  3299. when key is pressed second time.
  3300. As a workaround we must make an assumption about the duration of
  3301. the key press (i took 100ms).
  3302. 2005-10-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3303. * Implemented tilde expansion for ~<user> (*nix only)
  3304. 2005-10-04 Manuel Bilderbeek <manuel@msxnet.org>
  3305. * Renamed force_play to motorcontrol and some small clean ups.
  3306. 2005-10-01 Maarten ter Huurne <maarten@treewalker.org>
  3307. * Fixed IDE on big endian machines.
  3308. Commit from Bussum MSX fair :)
  3309. 2005-09-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3310. * Fixed help command:
  3311. - info topics were visible as commands in the help command
  3312. * Fixed reset during pause bug
  3313. 2005-09-29 Maarten ter Huurne <maarten@treewalker.org>
  3314. * Fixed screenshot colours of SDL renderer on big endian machines.
  3315. 2005-09-28 Manuel Bilderbeek <manuel@msxnet.org>
  3316. * Started implementation of new cassetteplayer CLI.
  3317. - needs a lot of clean ups, only the CLI part was changed
  3318. - record subcommand not implemented yet. Needs modifications to
  3319. WavWriter, to be able to append to existing images. Consequently,
  3320. readonly-handing is not implemented yet either.
  3321. 2005-09-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3322. * Fixed input delay for MSX keyboard:
  3323. - Split keyboard events in host and emu events. In the future
  3324. other events should be split as well
  3325. - Currently the console code translates host keyboard events
  3326. into emu keyboard events (only when console is disabled).
  3327. This should change.
  3328. 2005-09-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3329. * Fixed EmuTime parameter for ASAP sync points
  3330. 2005-09-24 Arnold Metselaar <arnold.metselaar@planet.nl>
  3331. * CassetteJack
  3332. - fix output when MSX output varies very rapidly
  3333. - simple interpolation on input
  3334. 2005-09-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3335. * Automatically plug in cassetteplayer when the MSX machine has a
  3336. cassetteport:
  3337. - done with a TCL script for the moment because the list of
  3338. plugged devices is not (yet) saved by openMSX
  3339. 2005-09-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3340. * CassettePlayer stuff:
  3341. - cleanups (bring coding style in line with rest of openMSX)
  3342. - fix wav ouput when MSX output varies very rapidly
  3343. - update wav header 'regularly' so that wav is already usable by
  3344. an external program before recording on MSX is completely stopped
  3345. 2005-09-20 Arnold Metselaar <arnold.metselaar@planet.nl>
  3346. * fix in WavWriter class; totalsize was wrong
  3347. * CassetteJack, CassettePlayer
  3348. - simple DC removal filter for cassette out signal
  3349. * CassettePlayer
  3350. - setMute() when recording
  3351. - stop recording on eject, insert, rewind unplug and destructor
  3352. 2005-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3353. * Made WavWriter class:
  3354. - removed common code from Mixer and CassettePlayer
  3355. - code should now also work on big endian machines (not tested)
  3356. * Enabled wav writing for CassettePlayer
  3357. * Clear secondary slot registers on reset(!):
  3358. - fixes reset bug on Sony HB-F500P
  3359. 2005-09-18 Manuel Bilderbeek <manuel@msxnet.org>
  3360. * Added a new -testconfig option, which just tries to load the
  3361. specified machine/extension/etc. config and then exits. Can be used
  3362. to probe what machine configs are installed correctly, including ROM
  3363. images
  3364. 2005-09-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3365. * Implemented 'magic key' dongle
  3366. * Fixed assert on reset (happened most often on turbor)
  3367. 2005-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3368. * Made RawFrame SDL independent
  3369. * Allign every line in a RawFrame at a 64 byte boundary
  3370. 2005-09-12 Maarten ter Huurne <maarten@treewalker.org>
  3371. * Preparations for cleaner deinterlacing:
  3372. introduced FrameSource as an abstract superclass of RawFrame.
  3373. 2005-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3374. * Added EmuTime parameter to peekMem() method
  3375. * Implemented debug reads for FDC's
  3376. 2005-09-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3377. * Fixed some SCC details (needed for playing samples on SCC):
  3378. - stuff was discovered by NYYRIKKI
  3379. - see comments SCC.cc for details
  3380. 2005-09-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3381. * update events are now enabled/disabled per connection
  3382. 2005-09-07 Maarten ter Huurne <maarten@treewalker.org>
  3383. * Set environment variables though TCL interpreter.
  3384. Fixes problem on Mac OS X where OPENMSX_(SYSTEM|USER)_DATA is not
  3385. updated in TCL, causing "init.tcl" to fail.
  3386. 2005-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3387. * Added listen_host and list_port_min/listen_port_max settings:
  3388. - valid values for listen_host are 'all', 'local' and 'none'.
  3389. Default is 'local'
  3390. - listen_port_min/max is a range of port number on which openmsx
  3391. will listen for incomming connection (openmsx session will take
  3392. the lowest free port, it's a range to allow multiple
  3393. simultaneous openmsx sesions). Default is 9938 - 9958.
  3394. - TODO better names for these settings?
  3395. - TODO documentation
  3396. 2005-09-05 Arnold Metselaar <arnold.metselaar@planet.nl>
  3397. * Added support for interaction between cassette port and jack
  3398. audio connection kit
  3399. - added CassetteJack
  3400. - moved the generation of samples from Cassette to the Pluggable.
  3401. - build system updated
  3402. - description in user.html
  3403. 2005-09-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3404. * Large singleton cleanup (only a few remain now):
  3405. - singleton classes had a lot a inter-dependencies, it was not
  3406. possible to make this change in smaller steps
  3407. - these dependencies still exist, but now there are explicitly
  3408. visible in the code (in some places it looks ugly now)
  3409. - TODO break some of these dependencies
  3410. 2005-09-02 Manuel Bilderbeek <manuel@msxnet.org>
  3411. * Fixed a bug in the disassembler (thanks for the anonymous poster for
  3412. telling us about it); it now uses stringstreams iso char arrays.
  3413. 2005-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3414. * More singleton cleanups:
  3415. UserInputEventDistributor, CommandConsole, RenderSettings and
  3416. Display are no longer singletons
  3417. 2005-08-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3418. * Moved implementation of 'toggle' command to a TCL script
  3419. * Removed CondVar class, it was not used anymore
  3420. 2005-08-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3421. * MSXtar cleanup:
  3422. - don't use CliComm to print warnings or errors, instead
  3423. report them as normal TCL output or TCL error msgs
  3424. - more robust error handling
  3425. 2005-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3426. * Added resume update event
  3427. 2005-08-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3428. * Implemented peekIO (debug IO reads) for MSX-AUDIO
  3429. 2005-08-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3430. * V9990 no longer internally renders 640 pixels wide lines. The
  3431. PostProcessor now scales the lines to the correct width.
  3432. * Extended Scalers with scale192() scale384() scale768() scale1024():
  3433. TODO find a better way to do this
  3434. 2005-08-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3435. * Use PostProcessor for V9990:
  3436. - this means scaler, scanline, blur settings have now also effect
  3437. on V9990 display
  3438. - TODO all V9990 lines are internally still rendered 640 pixels wide
  3439. 2005-08-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3440. * Changed 'issubslotted' from Debuggable into InfoTopic
  3441. * Added 'isexternalslot' InfoTopic
  3442. * Added 'guess_title' script
  3443. 2005-08-10 Manuel Bilderbeek <manuel@msxnet.org>
  3444. * Added -prefix option to screenshot command
  3445. * Moved getName from ScreenShotSaver to FileOperations, with new name
  3446. "getNextNumberedFilename" and used it in Display and Mixer. Removes
  3447. code duplication between those 2.
  3448. 2005-08-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3449. * Fixed using precompiled headers:
  3450. - include guards should be unique in the whole tree
  3451. - split Icon.hh in Icon.hh and Icon.cc
  3452. * Fixed KeyJoystick:
  3453. - UserInputEventDistributer can now handle multiple listeners with
  3454. the same priority
  3455. * Large V9990 speedup:
  3456. - added faster VRAM access methods, specific for certain display
  3457. modes
  3458. - optimized logical operations in V9990CmdEngine with LUT
  3459. 2005-08-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3460. * Added SimpleDebuggable class:
  3461. made code of most Debuggables a lot simpler
  3462. * Simplified SoundDevice class
  3463. 2005-07-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3464. * Fixed bug in EventDistributor:
  3465. event order could get swapped for events close together in time
  3466. * Scheduler now keeps sync points with same EmuTime in the same order
  3467. as they are registered
  3468. 2005-07-23 Manuel Bilderbeek <manuel@msxnet.org>
  3469. * Added -nommx and -nommxext command line options, to disable MMX and
  3470. MMXEXT usage, if available. This is useful only for debugging
  3471. purposes and may change in the near future.
  3472. 2005-07-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3473. * Implemented resolution changing for low scaler
  3474. * Renamed 'SDLHi' renderer to 'SDL'
  3475. 2005-07-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3476. * Made Scaler interface independent from scale factor:
  3477. - low scaler works now, although still in a 640x480 window
  3478. * Moved Deinterlacer functionality to Scaler:
  3479. - preparation for low scaler deinterlacer
  3480. * Implemented deinterlace for low scaler:
  3481. - no MMX or SSE optimized version yet
  3482. 2005-07-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3483. * Removed SDLLo renderer, SDLLo renderer will be replaced with "low"
  3484. scaler soon
  3485. 2005-07-20 Maarten ter Huurne <maarten@treewalker.org>
  3486. * Split off PostProcessor from SDLRasterizer.
  3487. * Fixed bug in memset4_2_CPP.
  3488. This was the cause for "[1237004] OSX Tiger GFX bug".
  3489. * Fixed endianness bug in memset_2_helper 16bpp support.
  3490. * Used a different GCC 3.3 bug workaround, because the previous one
  3491. caused bus errors on Mac OS 10.3.
  3492. 2005-07-18 Maarten ter Huurne <maarten@treewalker.org>
  3493. * Introduced RawFrame: a class which contains an unscaled frame.
  3494. This is an architectural improvement which will later allow bug fixes,
  3495. cleaner code and new features.
  3496. * Removed NATIVE event listeners (replaced by DETACHED).
  3497. 2005-07-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3498. * Made CPU breaked status queryable with "debug breaked" subcommand
  3499. * Use glTexSubImage2D to reuse existing textures:
  3500. can be faster in certain OpenGL implementations
  3501. 2005-07-16 Maarten ter Huurne <maarten@treewalker.org>
  3502. * Optimized PNG images.
  3503. I used the tools pngrewrite and OptiPNG.
  3504. * Optimized PNGs some more using advpng.
  3505. * Optimized PNGs some more using pngcrush.
  3506. Thanks to Wouter for the tip.
  3507. 2005-07-15 Manuel Bilderbeek <manuel@msxnet.org>
  3508. * Updated the IDE ROM to version 2.40.
  3509. 2005-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3510. * Added "issubslotted" debuggable
  3511. * Reimplemented "slotselect" command as a TCL proc
  3512. * Added "pc_in_slot" TCL proc. Can be used to set a bp in
  3513. a specific slot.
  3514. 2005-07-13 Maarten ter Huurne <maarten@treewalker.org>
  3515. * Fixed the new icon on big endian machines.
  3516. 2005-07-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3517. * Fixed auto saving of settings at exit
  3518. 2005-07-11 Manuel Bilderbeek <manuel@msxnet.org>
  3519. * Thanks to Wouter's improvements to CasImage, I could boost the
  3520. baudrate of cas images to 5520! :) Any more and it blows ;-)
  3521. * Don't use allUp(), but just let key up events through to the MSX
  3522. when console is active.
  3523. 2005-07-10 Maarten ter Huurne <maarten@treewalker.org>
  3524. * Introduced UserInputEventDistributor, as a first step to get rid of
  3525. the "native" event handlers. This distributor forwards keyboard
  3526. events to the console or the MSX depending on whether the console is
  3527. active.
  3528. 2005-07-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3529. * Fixed linking problem for gcc4
  3530. * Fixed inline assembler for gcc4:
  3531. we need to hide the MMX/SSE registers in the clobber list from the
  3532. compiler when the target CPU doesn't know about these registers
  3533. 2005-07-06 Manuel Bilderbeek <manuel@msxnet.org>
  3534. * Renamed 'eject', 'rewind', 'force_play' and 'no_force_play' to
  3535. '-eject', '-rewind', '-force_play' and '-no_force_play' in the
  3536. CassettePlayer.
  3537. * Added completion for these options.
  3538. 2005-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3539. * Refactored SoundDevice code:
  3540. pass estimated EmuTime and EmuDuration to updateBuffer()
  3541. preparation for DACSound improvements
  3542. * Improved DACSound sound quality:
  3543. - 2x oversample signal (and downsample with 4th order FIR filter)
  3544. - use time average to extract the (unfiltered) signal
  3545. 2005-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3546. * Implemented stripes for screen6 background
  3547. * Fixed "load_settings" command
  3548. 2005-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3549. * Moved vdrive key bindings from openMSX code to vdrive.tcl script
  3550. 2005-06-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3551. * Only save key bindings (settings.xml) that are different from the
  3552. default key bindings. Added (un)bind_default commands.
  3553. * HQ2xLite cleanup + small speedup
  3554. 2005-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3555. * Mute sound when a bp is hit and during turbor HW pause
  3556. * Implemented HW mute bit in turbor PCM device
  3557. * SettingsManager is no longer a singleton
  3558. * Don't save settings that (still) have their default value:
  3559. - this way the user no longer needs to delete his settings.xml
  3560. file to get the new default values when he upgrades
  3561. - TODO: this broke the load_settings command. I'll fix it
  3562. after keybindings and keyjoystick are refactored
  3563. * Added second keyjoystick:
  3564. Names are now 'keyjoystick1' and 'keyjoystick2'. This is not
  3565. backwards compatible with the old name 'keyjoystick'. Do we need
  3566. a compatibilty thing for this?
  3567. * Made keyjoysticks configurable with settings (iso directly having
  3568. to edit settings.xml):
  3569. Setting names are like this 'keyjoystick1.up', 'xx.down', etc
  3570. 2005-06-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3571. * Mixer is no longer a singleton
  3572. 2005-06-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3573. * Implemented stripes in border in screen6
  3574. 2005-06-23 Herman Oudejans <hn.oudejans@quicknet.nl>
  3575. * Fixed problem with saving SRAM to a machine that wasn't used before.
  3576. 2005-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3577. * Unrolled inner loops in CharacterConverter:
  3578. - rendering text2 mode is between 1% and 2% faster now (on total
  3579. simulation time)
  3580. - gcc only unrolls loops when the option -funroll-loops is given
  3581. it's not automatically enabled at any optimization level because
  3582. it sometimes also creates slower code
  3583. * Changed result format of "diska" command, updated vdrive script
  3584. * Don't use default alpha value in SDL console:
  3585. When the background image had a contant alpha value (or no alpha
  3586. value at all) we took a default alpha value. This behaviour is
  3587. different from the GL Console. It's also not very useful because it
  3588. prevents using a background with a different (constant) alpha
  3589. value (or no alpha at all).
  3590. 2005-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3591. * Flush PrinterPortLogger data
  3592. 2005-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3593. * Fixed problem with event distribution:
  3594. Current implementation can't handle new subsriptions while events
  3595. are being distributed. In this case it was easy to avoid but in the
  3596. future we may have to change the implementation to allow this. I
  3597. also added some asserts to more easily detect this type of problem
  3598. in the future.
  3599. * Reimplemented "palette" and "vdpregs" commands as TCL scripts
  3600. * Added Vampiers "setcolor" TCL script (slightly modified)
  3601. * Reimplemented "v9990regs" command as a TCL script
  3602. * Updated cpu.tcl, made a proc to read/write individual registers,
  3603. see documentation in cpu.tcl for details
  3604. * Implemented SRAM syncing:
  3605. at most 5 seconds after a write to SRAM the content of the SRAM is
  3606. saved to disk.
  3607. 2005-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3608. * RenShaTurbo is no longer singleton
  3609. * Debugger is no longer singleton
  3610. * Use references iso pointers where possible in VDP code
  3611. * Made memory mapper registers debuggable (MapperIO)
  3612. * Made V99x8 palette debuggable
  3613. 2005-06-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3614. * Large refactoring, get rid of some singletons:
  3615. MSXMapperIO, MultiIODevice, MSXDeviceSwitch, DummyDevice,
  3616. PanasonicMemory, MSXCPUInterface, MSXCPU are no longer
  3617. singletons. Instead the (single) object of this class should
  3618. be get from MSXMotherBoard. MSXDevices and some other classes
  3619. now have a backpointer to MSXMotherBoard
  3620. * Get rid of more singletons:
  3621. PluggingController, CassettePortFactory
  3622. 2005-06-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3623. * Added basic syntax checking for expressions in conditional bp's
  3624. 2005-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3625. * Implemented conditional breakpoints:
  3626. TODO add more documentation and examples
  3627. 2005-06-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3628. * Turbo R hw pause only pauses the CPU, not also all other devices.
  3629. 2005-06-12 Maarten ter Huurne <maarten@treewalker.org>
  3630. * Only Schedulable has access to setting and removing sync points.
  3631. * Look for TCL in "lib64" directories as well.
  3632. Fixes TCL detection on Fedora Core 3 x86-64.
  3633. * Split off Reactor class from MSXMotherBoard. Work in progress.
  3634. * Decided that the "reset" command and the "power" setting apply to a
  3635. specific MSX machine and therefore belong in MSXMotherBoard.
  3636. The code that handles that command and setting already assumes that
  3637. it is called from the Reactor instead of the Scheduler, but this is
  3638. not yet the case, so currently assertions can be triggered.
  3639. 2005-06-11 Maarten ter Huurne <maarten@treewalker.org>
  3640. * Do not initialise SDL if openMSX doesn't start up (-h, --version).
  3641. * Initialise SDL video when the first screen is opened.
  3642. 2005-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3643. * More accurate Clock class (when freq is a fraction of 3.58MHz)
  3644. * Also complete "-eject" and "-ramdsk" in "diska" command
  3645. 2005-06-10 Maarten ter Huurne <maarten@treewalker.org>
  3646. * CommandLineParser is no longer a singleton.
  3647. * Removed -nosound command line option.
  3648. Use the "null" sound driver instead.
  3649. 2005-06-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3650. * Small speedup of simple scaler
  3651. * replaced classes with only static methods inside (e.g. StringOp)
  3652. with a namespace
  3653. * Implemented hard/soft pause bit in turbor (bit 1 in port 0xa7)
  3654. * Removed support for old romdb format
  3655. * Removed support for <romfile>,<romtype> (use -romtype instead)
  3656. * Use <country> tag in softwaredb
  3657. 2005-06-10 David Heremans <david.heremans@gnu-linux.net>
  3658. * Added vdrive.tcl script:
  3659. This scripts allows user to cycle through a uniformaly named
  3660. diskset. It enables blueMSX users to use the same kind of
  3661. diskcycling as blue's v-DRIVE if binded to the ALT+F9 hotkey
  3662. 2005-06-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3663. * Removed romdb.xml and romdb.dtd files:
  3664. These files were already obsoleted by softwaredb.xml. OpenMSX
  3665. still supports the old format, after the release we'll also
  3666. remove this.
  3667. 2005-06-07 Maarten ter Huurne <maarten@treewalker.org>
  3668. * Updated C-BIOS to 0.21.
  3669. 2005-06-06 Manuel Bilderbeek <manuel@msxnet.org>
  3670. * Implemented new icon by Eric Boon (32x32 version).
  3671. * Cleaned up Icon code, to use a slightly modified GIMP C-Source image
  3672. dump. It's now also easier to put in a larger bitmap.
  3673. 2005-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3674. * Fixed background in screen6:
  3675. only use lower two bits for background color
  3676. TODO use stripes
  3677. 2005-05-28 David Heremans <david.heremans@gnu-linux.net>
  3678. * introduced a quick-fix:
  3679. The minial bootsector in MSXtar is, at the moment,
  3680. created for a 360KB disk. For now the minimal
  3681. partition size is forced to this size as well.
  3682. 2005-05-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3683. * Removed 'useFile' sub command from 'diskmanipulator':
  3684. the new 'virtual_drive' replaces its functionality
  3685. * Refactored DiskDrive code:
  3686. factored out disk changing code into DiskChanger class
  3687. * Added 'virtual_drive':
  3688. this drive is always available (even in power off state),
  3689. its main use is for the diskmanipulator stuff
  3690. 2005-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3691. * Merged Maarten's 'close socket stuff' patch:
  3692. - should fix exit problems on OSX
  3693. 2005-05-24 David Heremans <david.heremans@gnu-linux.net>
  3694. * Enhanced the 'diskmanipulator import' function:
  3695. It now accepts a list of files and directories as arguments
  3696. 2005-05-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3697. * Renamed 'eject' and 'ramdsk' to '-eject' and '-ramdsk'
  3698. * Renamed 'filemanipulator' to 'diskmanipulator'
  3699. * Removed diskmanipulator sub command 'usePartition'
  3700. 2005-05-22 Manuel Bilderbeek <manuel@msxnet.org>
  3701. * Literally reVamped default console background and font! ;-)
  3702. ConsoleFontRaveLShaded is default font now, ConsoleBackgroundGrey
  3703. is default background (see poll). Added some others as well. All
  3704. graphical work was done by Patrick van Arkel.
  3705. 2005-05-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3706. * R800 timing improvements:
  3707. CAS/RAS optimization only works for internal RAM,
  3708. timing tests in R800-ROM look a lot better now
  3709. 2005-05-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3710. * fixed R800 memory access timing:
  3711. - accessing internal RAM (or some ROMs in DRAM mode) takes 1 cycle
  3712. - accessing internal ROM takes 2 cycles
  3713. - accessing external slot takes 3 cycles
  3714. 2005-05-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3715. * R800 timing fix:
  3716. - retn reti instructions takes 5 cycles (2 more than a simple 'ret',
  3717. that's unexpected if you look at the Z80 timings)
  3718. - tweaked CAS/RAS optimization a bit, also optimize data fetches,
  3719. but still don't optimize between opcode and data fetched
  3720. I have no idea whether it really works like this, but the test
  3721. results are better now
  3722. 2005-05-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3723. * R800 timing fix:
  3724. di instruction takes 2 cycles (ei takes just 1)
  3725. 2005-05-16 Manuel Bilderbeek <manuel@msxnet.org>
  3726. * Added Sony HB-F700D config. Interesting characteristics are:
  3727. 256kB RAM, German ROMs (nice for German users), broken_fdc_read=true
  3728. 2005-05-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3729. * Made WD2793 code more robust:
  3730. Something _could_ go wrong when a new command was started while the
  3731. previous command was still busy. This might fix the drive problems
  3732. seems by vampier, mth and shevek but it might also be something
  3733. completely different.
  3734. 2005-05-14 David Heremans <david.heremans@gnu-linux.net>
  3735. * More FileManipulator stuff
  3736. - get feedback on curretn situation from 'useFile', 'usePartition'
  3737. and 'chdir' in the same was as our 'set <variable>' commands work
  3738. - fixed small bug concerning non partitioned devices
  3739. 2005-05-11 David Heremans <david.heremans@gnu-linux.net>
  3740. * More FileManipulator help
  3741. 2005-05-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3742. * Improved build time (~15% faster full build here):
  3743. - split EmuTime.hh in EmuTime.hh EmuDuration.hh Clock.hh and
  3744. DynamicClock.hh
  3745. - don't #include <iostream> in openmsx.hh in non-debug builds
  3746. PRT_DEBUG macro is not checked anymore for syntax errors in
  3747. non-debug builds now, but I think that's not a big problem
  3748. 2005-05-09 David Heremans <david.heremans@gnu-linux.net>
  3749. * Added support for linux style partitionnumbers in the FileManipulator
  3750. 2005-05-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3751. * Fixed linking problem with gcc-4.x:
  3752. explicit template instantiation must be done _after_ template
  3753. definition and implementation
  3754. * Improved timer accuracy of MSX-AUDIO / OPL4:
  3755. thanks to Daniel for figuring this out
  3756. 2005-05-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3757. * Large MSXtar / Filemanipulator (and related stuff) cleanup
  3758. 2005-05-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3759. * Implemented missing WD2793 feature, interrupt on index pulse:
  3760. - fixes 'write protected' message while formatting read-only disk
  3761. images
  3762. 2005-05-06 David Heremans <david.heremans@gnu-linux.net>
  3763. * MSXtar Work-In-Progress:
  3764. - limited disk/partitions to 65535 sectors for now to solve
  3765. the 'create disk of 32MB' problem.
  3766. - improved bootsector guessing in the MSXtar constructor
  3767. and commented it out already :-)
  3768. - check against directory removals done by the emulated MSX
  3769. - fixed some compile warnings
  3770. 2005-05-05 Patrick van Arkel (vampiermsx@gmail.com)
  3771. * Added trainers.tcl to the scripts directory
  3772. - This file will enable the users to 'cheat' games
  3773. 2005-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3774. * Console refactoring:
  3775. - simplified code / fixed a bug
  3776. * Use Tcl_DeleteCommandFromToken iso Tcl_DeleteCommand to unregister
  3777. TCL commands: is safer when the user uses 'rename' on the commands
  3778. * Correctly fill in the 'LBA size' field in the IDEHD 'Identify Block':
  3779. patch made by Adriano Camargo Rodrigues da Cunha
  3780. 2005-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3781. * Fixed -nosound option:
  3782. - also marked as deprecated
  3783. 2005-05-04 David Heremans <david.heremans@gnu-linux.net>
  3784. * MSXtar Work-In-Progress:
  3785. - new chdir,mkdir and dir command.
  3786. - registering of IDEHD now done by the IDE controller
  3787. which adds a Master or Slave indication to the name
  3788. - enabled '.' and '..' support in some MSXtar routines
  3789. - while cleaning up the code I added some verbose error
  3790. messages in case of failure or wrong usage
  3791. 2005-05-02 David Heremans <david.heremans@gnu-linux.net>
  3792. * MSXtar Work-In-Progress:
  3793. - partition info per DiskContainer device
  3794. - new format and useFile command.
  3795. - renamed getDir/AddDir to import/export
  3796. - IDEHD import seems to work :-)
  3797. - 'create'-command works but IDE sector 0 is not fully correct yet.
  3798. - extra documentation file concerning the filemanipulator
  3799. 2005-04-29 Patrick van Arkel (vampiermsx@gmail.com)
  3800. * added a new rom database after some cleanups
  3801. 2005-04-28 Daniel Vik (daniel@vik.cc) (commited by Patrick van Arkel)
  3802. * added support for windows timers
  3803. * fixed directX sound driver for win32
  3804. * added RealTime.cc
  3805. (Please talk to Daniel about line 96)
  3806. 2005-04-28 David Heremans <david.heremans@gnu-linux.net>
  3807. * MSXtar Work-In-Progress:
  3808. - the IDEHD is now accessible for the FileManipulator.
  3809. - partition support is comming along nicely.
  3810. - you can already do a 'getDir' to export an MSX-IDEHD partition
  3811. to your host-OS. No importing yet
  3812. - untested create dsk image code with partition support :-)
  3813. 2005-04-28 Manuel Bilderbeek <manuel@msxnet.org>
  3814. * Fixed a small bug in IDE HD.
  3815. 2005-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3816. * Experimental directX sound driver for win32:
  3817. - I don't have a windows machine so this code is NOT TESTED
  3818. 2005-04-24 Manuel Bilderbeek <manuel@msxnet.org>
  3819. * Added EXPERIMENTAL AND UNTESTED build support for the following CPUs.
  3820. DEC Alpha, ARM, HP PA-RISC, IA-64, Motorola 680x0, MIPS (Big and
  3821. Little Endian), IBM S/390.
  3822. Everything should work (endianness is OK), but we have no systems to
  3823. test on. Let's wait until someone complains that it doesn't work and
  3824. then fix it (if needed at all).
  3825. 2005-04-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3826. * Extended IPS patch support:
  3827. - support IPS files with internally overlapping regions
  3828. - support IPS files that extend the orginal file size
  3829. * Added sound_driver setting:
  3830. currently only 'null' and 'sdl' drivers
  3831. 2005-04-21 Maarten ter Huurne <maarten@treewalker.org>
  3832. * Made openMSX relocatable on Mac OS X.
  3833. It looks for the "share" directory first in the directory containing
  3834. the executable and the search goes up one directory until it is found.
  3835. 2005-04-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3836. * Split Mixer in generic sample generation part and sound system
  3837. dependant sound output part:
  3838. - preparation to support other sound systems later (eg DirectSound)
  3839. 2005-04-20 David Heremans <david.heremans@gnu-linux.net>
  3840. * MSXtar Work-In-Progress:
  3841. - using the temporary addDir/getDir you can now import/export
  3842. host-directories (and its subdirs) into a dsk image.
  3843. - Creating some extra classes to later on facilitate IDEHD
  3844. registration with FileManipulator, and add FileManipulator
  3845. functionallity to work with dsk-images without the use of
  3846. drives of a running MSX session.
  3847. 2005-04-19 Manuel Bilderbeek <manuel@msxnet.org>
  3848. * Added support for Sparc CPUs.
  3849. 2005-04-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3850. * MSXtar cleanup / fixes:
  3851. - fixed compilation on windows (not actually tested):
  3852. the type field 'd_type' in the struct 'dirent' is not generally
  3853. available (not on windows for example)
  3854. - lots of small cleanups (mainly layout)
  3855. 2005-04-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3856. * Refactored V9990 'renderUntil' related code:
  3857. should fix pixel accurate rendering
  3858. 2005-04-13 David Heremans <david.heremans@gnu-linux.net>
  3859. * Got the needed routines to add files/subdirs to a dsk image into
  3860. msxtar code.The code compiles but doesn't work yet. Going from
  3861. an all-in-memory model to a one-sector-at-a-time model introduced
  3862. a lot of partial (and untested) rewrites and some quick hacks.
  3863. 2005-04-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3864. * Implemented V9990 vertical scroll rolling in Bx modes
  3865. 2005-04-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3866. * Improved SCC sound quality
  3867. - during (very) short periods of silence, waveform counters
  3868. should continue to increase (major improvement)
  3869. - copied filter code from BlueMSX (minor improvement)
  3870. * Enabled pixel/line accurate rendering for V9990 (WIP)
  3871. 2005-04-09 Manuel Bilderbeek <manuel@msxnet.org>
  3872. * Switched the two YM2413 cores again. Okazaki is now default, because
  3873. it sounds better now. Regarding drums, some sound better in Okazaki,
  3874. some in Burczynski (e.g. the cymbal). Ideally the drums
  3875. should be switchable and the normal FM should always be Okazaki.
  3876. Thanks to Wolf for judging the sound quality.
  3877. 2005-04-04 David Heremans <david.heremans@gnu-linux.net>
  3878. * Actually trying to get the format routines from the original
  3879. msxtar into openMSX. The idea is that this new class will perform
  3880. the real work, and the File/DiskImageManipulator will invoke msxtar
  3881. as needed
  3882. 2005-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3883. * Fixed / cleaned up FileManipulator and RamDSK code:
  3884. still TODO:
  3885. - proposal: rename FileManipulator to DiskImageManipulator?
  3886. - proposal: change "diska ramdsk" to "diska -ramdisk [<name>]"
  3887. (note: ramdsk vs ramdisk (or just ram?))
  3888. - keep ramdisk contents when disk is ejected/reinserted
  3889. - automatically format ramdisk on first insert
  3890. * Simplified all SectorsBasedDisk subclasses
  3891. 2005-04-04 David Heremans <david.heremans@gnu-linux.net>
  3892. * Filemanipulator: tab completion.
  3893. 2005-04-02 Maarten ter Huurne <maarten@treewalker.org>
  3894. * Refactored AY8910Interface and renamed to AY8910Periphery.
  3895. Main difference is the discovery that peek and read actually are the
  3896. same thing on this interface, not just in the implemenation but in
  3897. the conceptual model as well.
  3898. 2005-04-01 Manuel Bilderbeek <manuel@msxnet.org>
  3899. * WIP: make Okazaki core more like 0.61
  3900. * Swapped default and alternative YM2413 cores, because Okazaki core
  3901. is very broken at the moment. CHECK points need to be checked by
  3902. Wouter still
  3903. 2005-04-01 David Heremans <david.heremans@gnu-linux.net>
  3904. * Next step to integrate msxtar into openMSX:
  3905. The creation of the RamDSK class, to allow ramdisk like dsk usage
  3906. Doesn't seem to work yet though :-)
  3907. 2005-04-01 David Heremans <david.heremans@gnu-linux.net>
  3908. * First steps to integrate msxtar into openMSX:
  3909. The creation of the FileManipulator class
  3910. 2005-03-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3911. * More YM2413 fixes (ported from v0.55)
  3912. * Swapped default and alternative YM2413 cores:
  3913. is easier to test this way, if results are good, this might stay
  3914. the default order
  3915. 2005-03-29 Manuel Bilderbeek <manuel@msxnet.org>
  3916. * Tried to adapt Okazaki YM2413 core in openMSX to make it look more
  3917. like the original code (version 0.55, from NLMSX, thanks Frits).
  3918. WIP!
  3919. 2005-03-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3920. * Handle TCL events in openmsx event loop:
  3921. - makes Patrick's webserver script work
  3922. - preparation for Tk integration
  3923. 2005-03-25 Herman Oudejans <hn.oudejans@quicknet.nl>
  3924. * fixed -control stdio on windows. With this option, the
  3925. StdioConnection was not created.
  3926. 2005-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3927. * Split CliComm in CliComm and CliServer:
  3928. - fixed assert on startup (CliComm must be instantiated in main
  3929. thread)
  3930. * Added cheat.tcl:
  3931. written by Patrick van Arkel <sf@vampier.net>
  3932. see share/scripts/cheat.tcl for a short explanation
  3933. 2005-03-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3934. * Implemented step_in, step_over and run_to as TCL procs
  3935. * Try to listen on ports 9938-9958 (iso just 9938), and print a
  3936. warning (iso crash) when none of these is available
  3937. 2005-03-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3938. * Fixed crash on missing argument for 'debug set_bp/remove_bp'
  3939. * Implemented "debug disasm" command:
  3940. with this command Boukichi's 4 debugger commands (offered as a
  3941. patch on openmsx-0.5.1) can be implemented as simple TCL scripts
  3942. 2005-03-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3943. * Tiny SDLGL improvement:
  3944. - use glRect() to draw rectangles with a single color iso GL_QUADS
  3945. * Experimental: enable window resizing in GL renderer
  3946. - For some reason it doens't work yet in character modes
  3947. - I read that on windows you need to reload all textures after a
  3948. resize. I couldn't test this but if it's true resizing currently
  3949. doesn't work in windows
  3950. - By default the resizing is disabled, to enable it comment out
  3951. line 110 in src/video/SDLGLVideoSystem.cc
  3952. 2005-03-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3953. * Fixed MSX-AUDIO sample RAM detection:
  3954. UR always detected 256kb
  3955. AR always detected 0kb both are fixed now
  3956. 2005-03-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3957. * Fixed minor(?) rounding error in SCC
  3958. 2005-03-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3959. * Split CliComm class in CliComm and CliConnection:
  3960. helps to keep the c-macros defined in windows.h more local
  3961. * Only accept connections from local host:
  3962. it's still a security risk (hostile local users) but much less
  3963. already.
  3964. 2005-03-13 Manuel Bilderbeek <manuel@msxnet.org>
  3965. * Implemented soundlog toggle command.
  3966. * Implemented tabCompletion for soundlog command and partially for
  3967. after command
  3968. * Stop logging sound when frequency setting is changed.
  3969. Alternative: ignore frequency change when logging sound.
  3970. 2005-03-13 Herman Oudejans <hn.oudejans@quicknet.nl>
  3971. * Fixed win32 compile errors
  3972. TODO:
  3973. - 2 warnings
  3974. - better integration of wsock32 in the buildsystem
  3975. 2005-03-12 Manuel Bilderbeek <manuel@msxnet.org>
  3976. * Added basic code to record openMSX sound to wav file. It is not used
  3977. yet, but one can test it by uncommenting 2 lines.
  3978. * Added soundlog command to start and stop recording of sound.
  3979. There is still a lot TODO - see the comment in Mixer.cc
  3980. 2005-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3981. * Added socket support:
  3982. - openmsx now listens to incomming connections on TCP/IP port 9938
  3983. when a connection is established the same communication is
  3984. possible as with the CliComm stuff over stdio
  3985. - For the moment port 9938 is open for everyone: security hole!
  3986. Sockets should be explicitly enabled and by default only for
  3987. local connections
  3988. 2005-03-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3989. * Fixed various warnings:
  3990. - doxygen warnings
  3991. - compiler warnings while compiling with -Wall -Wextra
  3992. - previous compiler warings with also -DNDEBUG
  3993. 2005-03-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  3994. * Added HQ2xLite scaler:
  3995. Resulting image is close to hq2x but can be calculated a lot faster
  3996. See comments at the top of HQ2XLiteScaler.cc for details.
  3997. * Changed include guards from __FOO_HH__ to FOO_HH:
  3998. Identifiers that contain a double '_' or that start with a '_'
  3999. are reserved for system headers. Currently our include guards work
  4000. but it might give problems in the future.
  4001. 2005-03-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4002. * HQ2xScaler speedup
  4003. 2005-03-05 Maarten ter Huurne <maarten@treewalker.org>
  4004. * Released openmsx-0.5.1.
  4005. 2005-03-05 Manuel Bilderbeek <manuel@msxnet.org>
  4006. * Added Sony HB-F1II config and corrected HB-F1 config.
  4007. 2005-03-05 Maarten ter Huurne <maarten@treewalker.org>
  4008. * Added support for Checkmark FM Stereo PAK.
  4009. The stereo effect is not yet emulated, but it works fine in mono.
  4010. Thanks to Albert for the config XML.
  4011. 2005-03-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4012. * Also accept the enter key on the numerical pad in the console
  4013. 2005-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4014. * In deinterlace mode render always two consecutive frames:
  4015. When every other frame is skipped deinterlacer worked on 1 new
  4016. frame and 1 very old frame. Fixed by rendering (not necessarily
  4017. drawing) always two consecutive frames.
  4018. 2005-03-03 David Heremans <david.heremans@gnu-linux.net>
  4019. * Replaced 'fallback LEDs' with variant of set1
  4020. 2005-03-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4021. * Last minute db format change:
  4022. type for normal roms is now structured like this
  4023. <rom> <type>normal</type> <start>0x4000</start> ... </rom>
  4024. * romtypes should start with capital (e.g. 'Normal' iso 'normal)
  4025. 2005-03-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4026. * Don't send LED events when LED status didn't change:
  4027. fixes the slowdowns in sphere
  4028. 2005-02-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4029. * Fixed warnings while compiling with -Wextra (all harmless)
  4030. 2005-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4031. * video code was not exception safe, fixed it:
  4032. - when an excpetion was thrown some objects were not deleted or
  4033. even deleted twice
  4034. * Accept sha1sums in db in both upper and lower case
  4035. * Fixed debug reading from ioports
  4036. 2005-02-27 Manuel Bilderbeek <manuel@msxnet.org>
  4037. * Also check if <rom> entries have a <type> child. Fixes Synthesizer.
  4038. 2005-02-26 Patrick van Arkel <sf@vampier.net>
  4039. * Updated the softwaredb.xml thanks to Mars2000you for providing
  4040. an updated version of his rom list.
  4041. 2005-02-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4042. * Renamed new db to softwaredb.xml
  4043. * added new db:
  4044. thanks a lot to Vampier for creating the new db and tools
  4045. 2005-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4046. * fixed cassette WavImage DC correction:
  4047. forgot to properly clip signal
  4048. 2005-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4049. * Replaced 'plain' mapper type with 'mirrored' and 'normal', makes it
  4050. easier to implement the new database mapper types:
  4051. - for backwards compatibility 'plain' is treated as an alias for
  4052. 'mirrored'
  4053. - it's also possible to specify the start address of the rom like
  4054. this 'mirrored4000', 'normal8000', ... (start address must be
  4055. a multiple of 4000)
  4056. * Fixed parsing of romtype for 'plain' roms in database
  4057. 2005-02-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4058. * Update for new romdb
  4059. 2005-02-19 Manuel Bilderbeek <manuel@msxnet.org>
  4060. * Updated the manuals a bit more, regarding C-BIOS 0.20 and support
  4061. for Mac OS X and OpenBSD. Maarten, please check and fix if needed.
  4062. 2005-02-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4063. * Implemented frameskip for gfx9000:
  4064. I mostly copied code from V99x8 renderer, we might want to factor
  4065. this common code out in the future
  4066. 2005-02-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4067. * Added locking to EventDistributor:
  4068. There was a race in EventDistributor (long time already).
  4069. Today I got a crash because of this race (irreproducible),
  4070. so apparently it's hard to trigger. I hope it's fixed now.
  4071. * More P1 mode performance tweaks
  4072. 2005-02-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4073. * Fixed sprites in P1 mode:
  4074. - Erik did all the hard work, I just had to fix one line ;-)
  4075. - Battle Bomber works now!
  4076. * Fixed color of backdrop color in P1 mode
  4077. * Optimized P1 rendering a bit:
  4078. just some tweaks, algorithm needs to change for really better
  4079. performance (Eric already has some ideas I believe)
  4080. 2005-02-16 Eric Boon <e.boon4@chello.nl>
  4081. * Initial implementation P1 sprites (~15 fps :-/)
  4082. - HiSpec Snowfall demo shows wrong sprite patterns
  4083. 2005-02-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4084. * Fixed more compiler warnings (all harmless):
  4085. compiled with gcc version 4.0.0 20050212 (experimental)
  4086. * Initial support for new rom database format:
  4087. - both old and new format are supported
  4088. - support for new format is very minimal, for example
  4089. lang="xx" attributes are ignored
  4090. 2005-02-13 Maarten ter Huurne <maarten@treewalker.org>
  4091. * Added build support for OpenBSD (3.6 RELEASE, to be exact).
  4092. Thanks to Ariane for testing!
  4093. * Updated C-BIOS to 0.20, including new directory structure.
  4094. 2005-02-13 Manuel Bilderbeek <manuel@msxnet.org>
  4095. * Rerenamed ROM types that we already agreed on for the new standard
  4096. 2005-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4097. * Fixed compilation errors / warnings when compiling with gcc-4.0(exp)
  4098. 2005-02-09 Manuel Bilderbeek <manuel@msxnet.org>
  4099. * We forgot to replace "brokenFDCread" by "broken_fdc_read" in about
  4100. 17 different config files, before 0.5.0! OOOPS!
  4101. 2005-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4102. * Reduced the 'black flashes' in SDLGL renderer:
  4103. see comments in Display::repaintDelayed() for details
  4104. * Fixed switching renderer while in overscan mode
  4105. (bug was introduced by me two days ago)
  4106. 2005-02-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4107. * Added 'none' icon set
  4108. * Fixed a (the?) 'pure virtual method called' bug:
  4109. an Alarm object was deleted in main thread while it was
  4110. executing in another thread
  4111. 2005-02-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4112. * Fixed CPU tracing (patch created by Maarten)
  4113. * Fixed(?) sporadic crash when switching renderer on MSX1:
  4114. - this is quick fix, needs more work after release
  4115. - needs lots of testing
  4116. 2005-02-05 Manuel Bilderbeek <manuel@msxnet.org>
  4117. * Split Philips VG 8020 config in VG 8020 and VG 8020/20.
  4118. Penguin Adventure works on both now, when using the right ROMs.
  4119. Thanks to Hans Otten for his kind assistance
  4120. 2005-02-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4121. * Fixed all warning when compiling with icc
  4122. * Fixed V9990 palette initialization when switching renderer
  4123. (sdlhi <-> sdllo)
  4124. 2005-02-03 Manuel Bilderbeek <manuel@msxnet.org>
  4125. * Added extension for MSX-AUDIO 2. This is an Y8910 on the alternative
  4126. I/O ports (C2/C3), without the MIDI part of the Music Module
  4127. 2005-02-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4128. * Fixed harmless(?) UMR in AY8910 code
  4129. 2005-02-02 David Heremans <david.heremans@gnu-linux.net>
  4130. * Fixed a minor announce in the load_icon tcl script
  4131. and added extra SDLLo checks
  4132. and a TCL hint from Wouter
  4133. 2005-02-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4134. * documented icon related settings
  4135. * Fixed 13-bit MSX-AUDIO DAC
  4136. 2005-02-01 David Heremans <david.heremans@gnu-linux.net>
  4137. * An extra set of LED images.
  4138. * Enhanced the load_icon tcl script
  4139. 2005-01-31 David Heremans <david.heremans@gnu-linux.net>
  4140. * Changed default led settings
  4141. 2005-01-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4142. * Implemented V9990 SRCH command
  4143. * XIMM bits (R#6) are ignored in Px modes
  4144. * Implemented V9990 BMLL command
  4145. * BMLL is always done on interleaved VRAM
  4146. * Fixed V9990 VRAM interleaving:
  4147. together with previous item fixes scrolling in power basic
  4148. 2005-01-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4149. * When a new settings is created and a TCL variable with the same name
  4150. is alreday defined, then take this value as initial setting value:
  4151. fixes icon stuff defined in init.tcl when openmsx is started with
  4152. enderer none (-control mode)
  4153. * Only use one .filecache file for all rom pools:
  4154. this file is put in the (writable) user directory
  4155. 2005-01-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4156. * Extended "disk[x]" console command to accept IPS patches:
  4157. diska <dsk> [<ips1> [<ips2> [..]]]
  4158. 2005-01-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4159. * Allow IPS patches for disk images:
  4160. only on the command line, not yet in the console
  4161. * Allow multiple IPS patches on the same rom/disk
  4162. 2005-01-27 David Heremans <david.heremans@gnu-linux.net>
  4163. * Updated the LED images.
  4164. 2005-01-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4165. * Don't save "mute" setting, at least not until we have an OSD
  4166. indication for this
  4167. 2005-01-26 Manuel Bilderbeek <manuel@msxnet.org>
  4168. * Updated documentation. TODO: MacOS X and C-BIOS stuff
  4169. 2005-01-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4170. * Machine code executes faster is loop is aligned (on 16 byte boundary
  4171. for athlon CPUs):
  4172. I measured 1.5% speedup because of this
  4173. 2005-01-24 Manuel Bilderbeek <manuel@msxnet.org>
  4174. * Made a separate extension for MegaRAM Disk
  4175. * Updated ROM types to new names in romdb.xml; also commented out some
  4176. useless ROMs, because they only occur inside machines or extensions
  4177. 2005-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4178. * Fixed Clock<> constructor:
  4179. rounding is not needed(?) it's even wrong
  4180. * Fixed tab-complettion for consolebackground
  4181. 2005-01-22 Eric Boon <e.boon4@chello.nl>
  4182. * First steps towards V9990 P2 mode
  4183. * Some P1 fixes
  4184. 2005-01-21 Eric Boon <e.boon4@chello.nl>
  4185. * First steps towards V9990 P1 mode
  4186. 2005-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4187. * Fixed some valgrind stuff (UMR, FMR)
  4188. 2005-01-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4189. * Implemented V9990 IRQ stuff:
  4190. not completely correct yet, but good enough to make the xor-demo
  4191. work
  4192. 2005-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4193. * Removed more #include dependencies
  4194. * Fixed compilation errors on icc
  4195. * Added missing #ifdef ASM_X86:
  4196. should fix compilation on non-x86 machines
  4197. 2005-01-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4198. * Refactored XMLElement related classes:
  4199. preparartion to fix the 'order of construction of settings'
  4200. problem (e.g. inputdelay)
  4201. * Reenabled "inputdelay" setting
  4202. * Implemented "load_settings" command:
  4203. only the settings / keybindings / keyjoystick that are mentioned
  4204. in the new settings file are changed, the rest stays unchanged
  4205. * Implemented "escape_grab" command
  4206. 2005-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4207. * Various small cleanups:
  4208. mostly use auto_ptr to break #include dependencies (for non time
  4209. crititical classes)
  4210. * Also grab input when "grabinput" settings was already "true" when
  4211. openmsx is started
  4212. 2005-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4213. * Lookup original filename inside zip/gz for filetype detection:
  4214. this fixes [ 1072797 ] Detect extensions if i use a zipped file too
  4215. * Implemented rotational delay for WD2793:
  4216. fixes [ 905031 ] Graphic problem in Peach up
  4217. 2005-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4218. * Fixed gfx9000 border color
  4219. 2005-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4220. * Z80 speedup:
  4221. union optimization is actually a pessimization on modern CPUs (and
  4222. an optimizing compiler)
  4223. * Fixed [ 823686 ] console is included in frameskip and speed setting:
  4224. also fading of console and LEDs was wrong
  4225. 2005-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4226. * Changed command line parsing of IPS files and rom type:
  4227. - There are two new options "-ips" and "-romtype" these must
  4228. immediatly follow a ROM option. Examples:
  4229. openmsx -carta USAS.ROM -ips USAS.IPS -romtype konami
  4230. openmsx USAS.ROM -romtype konami -ips USAS.IPS
  4231. openmsx -cart USAS.ROM -romtype konami
  4232. openmsx USAS.ROM -ips USAS.IPS
  4233. - The old format <romfile>,<mappertype> is still supported but is
  4234. deprecated, it will be removed in future versions. The temporary
  4235. format <romfile>,<mappertype>,<ipsfile> is already removed. It
  4236. gives parsing problems in case of filenames that contain ','
  4237. itself.
  4238. 2005-01-04 Maarten ter Huurne <maarten@treewalker.org>
  4239. * Fixed initialisation of clock in autofire circuit.
  4240. 2005-01-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4241. * Split Display.xx files in Display.xx and Layer.xx
  4242. * Moved fps code from (V99x8) Renderer to Display:
  4243. "openmsx_info fps" now also works for gfx9000
  4244. * Icon fade parameters can now be configured per icon image:
  4245. for example it's now possible to never fade out an active FDD LED
  4246. * Fixed crash when settings.xml had empty or invalid consolebackground
  4247. * Added some LED images (drawn by David) and a script to load them
  4248. 2005-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4249. * Implemented deinterlace for V9990
  4250. * Better frameskip implementation (skip more code)
  4251. * Don't draw V99x8/V9990 when V9990/V99x8 is active
  4252. * Made special videosource setting:
  4253. don't allow to select gfx9000 source without gfx9000 extension
  4254. 2004-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4255. * Fixed V9990 palette read-out
  4256. * Completed V9990 YUVP and YJKP modes (palette part was missing)
  4257. * Integrated blueMSX' HBI-55 improvements. Thanks Daniel!
  4258. 2004-12-30 Eric Boon <e.boon4@chello.nl>
  4259. * Fixed dOxygen warnings
  4260. 2004-12-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4261. * Fixed bug in V9990 cmds (address masking bug):
  4262. underwater demo works now!
  4263. * Support V9990 screen enable/disable bit
  4264. * Implemented cursor in V9990 Bx modes
  4265. 2004-12-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4266. * Added v9990cmdtracing setting
  4267. 2004-12-28 Eric Boon <e.boon4@chello.nl>
  4268. * Improved V9990 simple scaler
  4269. Fixes 'no V9990 updates' problem in M$ Windows
  4270. 2004-12-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4271. * Implemented V9990 LINE command:
  4272. MSX3D works now
  4273. * Implemented V9990 CMMC command
  4274. * Fixed V9990 cmd engine bug that could cause blue colors in 16bpp mode
  4275. 2004-12-27 Eric Boon <e.boon4@chello.nl>
  4276. * Introduced FinishFrameEvent for V9990
  4277. 2004-12-27 Manuel Bilderbeek <manuel@msxnet.org>
  4278. * Rom type naming clean up part 1. TODO: romdb.xml, class/file names
  4279. 2004-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4280. * Implemented "openmsx_info romtype" command:
  4281. only the code, no actual descriptions yet
  4282. * Split rom type names in standard names and alternative names:
  4283. preparation for rom type naming cleanup
  4284. * support for write mask in V9990 commands:
  4285. gfx9000 parts in calculus work now!
  4286. * Fixed "debug break" command
  4287. 2004-12-26 Eric Boon <e.boon4@chello.nl>
  4288. * Improved V9990 YUV and YJK modes:
  4289. copied bitmap conversion from V99x8 code
  4290. 2004-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4291. * Integrated Adriano's MegaRAM diskrom patch
  4292. * Fixed bug in reading from compressed files:
  4293. zipped IPS files work now
  4294. * Fixed (harmless) assert that got triggered on exit when IO ports
  4295. were shared
  4296. * Changed invalidateCache() method:
  4297. - 2nd argument is now size in bytes iso in number of cachelines
  4298. this loosens the dependency on the CPU class
  4299. 2004-12-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4300. * Fixed crash on missing LED icon files
  4301. 2004-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4302. * More V9990 stuff
  4303. - implemented interlace modes (no de-interlacing yet)
  4304. V9BMP shoud now work completely
  4305. - made palette debuggable
  4306. - read palette registers hack to make calculus work
  4307. - stubbed unimplemented cmds
  4308. - implemented PSET cmd shifter:
  4309. shifter part in calculus now shows something, colors are still
  4310. wrong because of missing WriteMask(?) in commands
  4311. - implemented CMMM cmd (but not verified that it actually works)
  4312. - added BMXL and BMLX cmds (still have bugs though)
  4313. - implemented horizontal scrolling, not per-pixel and no rolling
  4314. yet, but enough for page-flips
  4315. 2004-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4316. * Tried to make the gfx900 parts in calculus work (not yet succeeded)
  4317. - implemented LMMM command
  4318. - added very basic HR, VR status bit support
  4319. - bugfix in LMMC command
  4320. 2004-12-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4321. * simple (slow) implementation of V9990 LMMV command
  4322. 2004-12-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4323. * a few V9990 fixes:
  4324. - unimplemented cmds should still finish
  4325. - implemented CE and TR status bits
  4326. - YUV, YJK conversion formula's were wrong
  4327. U and V are 6 bit signed and resulting R G B values must be
  4328. clipped to 0 .. 31
  4329. autumn.g9b (YUV image) still looks wrong though
  4330. 2004-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4331. * Cleanup/optimize V9990BitmapConvertor
  4332. * Store V9990 palette as GRB iso RGB:
  4333. - format in V9990 video RAM is also GRB, emulation is faster
  4334. if both use the same format
  4335. 2004-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
  4336. * Turn off all LEDs when MSX is powered down
  4337. 2004-12-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4338. * Large cleanup:
  4339. - prefer not to use the 'using' statement in header files,
  4340. in implementation files it is ok
  4341. - removed unnecessary #include statements
  4342. * Use FilenameSetting iso StringSetting for all filenames:
  4343. previously it was only possible for already existing files
  4344. * Fixed UMR in WD2793 formatting routine
  4345. 2004-12-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4346. * Fixed TurboR DRAM support, TRCAS works now
  4347. 2004-12-12 Manuel Bilderbeek <manuel@msxnet.org>
  4348. * Removed the annoying [alpha] notice. It's clear enough we're alpha...
  4349. :)
  4350. 2004-12-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4351. * x/y-coord and on/off-image of the LED icons can be configured
  4352. * icon fade delay and duration can be configured
  4353. 2004-12-09 David Heremans <david.heremans@gnu-linux.net>
  4354. * replaced the ips-patch separator. It is now also the ','-sign
  4355. and updated the documentation
  4356. 2004-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4357. * Refactored setting code:
  4358. - redesigned class structure: settings no longer need to be
  4359. non-inheritable
  4360. 2004-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4361. * Fixed (+ cleanup) IPS patch code
  4362. 2004-12-04 Herman Oudejans <hn.oudejans@quicknet.nl>
  4363. * Made a quickfix for romloading in windows. Using another character
  4364. for ips-patch separator would be highly recommended. ':' is used
  4365. between drive and path in Windows.
  4366. 2004-12-03 David Heremans <david.heremans@gnu-linux.net>
  4367. * Added more code for IPS patcher, but it is not yet functional.
  4368. 2004-12-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4369. * Added fading to console
  4370. 2004-12-01 David Heremans <david.heremans@gnu-linux.net>
  4371. * Preparations for integrated IPS patcher
  4372. * Replaced the test OSD leds with something more fancy that shows the
  4373. alpha channel of the png better
  4374. 2004-12-01 Maarten ter Huurne <maarten@treewalker.org>
  4375. * Moved coverage and z-index from LayerInfo into Layer.
  4376. This also fixes an undefined memory read when Display is destructed.
  4377. 2004-11-29 Maarten ter Huurne <maarten@treewalker.org>
  4378. * Fixed base port of debug device.
  4379. 2004-11-29 Eric Boon <e.boon4@chello.nl>
  4380. * Fixed broken build for non-GL systems
  4381. * Improved V9990 Command engine a bit
  4382. 2004-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4383. * Major CPU cleanup:
  4384. replaced macro hack with c++ templates
  4385. * Reduced size of internal mixer buffer:
  4386. - should reduce sound latency a bit
  4387. - sound quality seems not affected, but it needs a lot more
  4388. testing. So please test!!!
  4389. 2004-11-27 Manuel Bilderbeek <manuel@msxnet.org>
  4390. * Implemented a fallback for the detectGeometry function in Disk for
  4391. sectorbased disk images. Fixes booting of SVI-738 CP/M disk, which
  4392. doesn't have a valid MSX bootsector :)
  4393. 2004-11-26 Eric Boon <e.boon4@chello.nl>
  4394. * Add V9990 Command Engine
  4395. * Implemented LMMC
  4396. 2004-11-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4397. * Merge romdb.xml in user and system dir
  4398. 2004-11-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4399. * Changed buffer managment in sound code:
  4400. - Mixer now allocates/deallocates buffers iso the sounddevice
  4401. - preparation for run-time changeable frequency/samples settings
  4402. * Changes to 'frequency' and 'samples' settings takes immediate effect,
  4403. no longer needed to restart openMSX
  4404. * Value of 'samples' setting must always be a power of 2
  4405. 2004-11-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4406. * Only send events on actual changes:
  4407. * Use different image for led on/off, fade out the image if it doesn't
  4408. change for some time
  4409. 2004-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4410. * Experimental: alternative Mixer implementation
  4411. - generate audio in main emulation thread
  4412. - CPU-timed samples sound much better now (turbor PCM,
  4413. PSG samples, ..)
  4414. 2004-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4415. * Initial version of OSD LEDs:
  4416. very minimal version, it uses
  4417. <openmsx-dir>/share/skins/led.png
  4418. for all LEDs. Icons are still shown at fixed positions
  4419. 2004-11-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4420. * cleanup dasm code:
  4421. * fixed 'cmdtiming setting'
  4422. * use events for LEDs:
  4423. preparation for OSD leds
  4424. 2004-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4425. * Improved WD2793 timing:
  4426. added 15us delay between data read/write in sector read/write cmds
  4427. 2004-11-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4428. * Enabled "cputrace" setting also in non-debug versions:
  4429. - There should now be very little overhead when tracing is not
  4430. enabled. Before it was 1 if per Z80 instruction.
  4431. 2004-11-08 Joost Damad <joost@lumatec.be>
  4432. * updated debian/rules: fixes by Goedson Teixeira Paixao
  4433. 2004-11-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4434. * a few small improvements
  4435. * clear ram on power off/on
  4436. 2004-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4437. * Moved speed and throttle setting to GlobalSettings:
  4438. as cleanup and as preparation for Mixer changes
  4439. * Changed float to double everywhere:
  4440. On modern CPUs doubles and float are equally fast. However mixing
  4441. floats and doubles in the same expression is slower because of the
  4442. extra conversions. In some places we need the extra precision, so
  4443. using double everywhere is the easiest (and faster).
  4444. If you have large datasets floats can be faster than doubles. Not
  4445. because of faster calculation, but because of less memory transfers
  4446. (float 4 bytes / double 8 bytes). For openMSX this doesn't matter.
  4447. 2004-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4448. * Removed Disk and Tape BIOS patches
  4449. * Fixed cassetteplayer noise
  4450. 2004-11-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4451. * small VDP fix:
  4452. missing sync() on r#7 change in GRAPHIC7 mode with screen disabled
  4453. 2004-10-31 Maarten ter Huurne <maarten@treewalker.org>
  4454. * At end of HMMC and LMMC, TR should not be reset.
  4455. * Reading and writing the COL register should reset TR.
  4456. * VR status flag flips at start of left border.
  4457. 2004-10-26 Eric Boon <e.boon4@chello.nl>
  4458. * Improved V9990 displaying:
  4459. - proper PAL & NTSC imaging in Bx modes
  4460. 2004-10-25 Maarten ter Huurne <maarten@treewalker.org>
  4461. * Non-maskable interrupt (NMI) implementation:
  4462. - was half implemented already; now it's fully implemented
  4463. - moved edge detection from old nmiEdge() to new raiseNMI():
  4464. an NMI request could get lost if the NMI line was raised and
  4465. lowered within 1 CPU instruction (a mostly theoretical case)
  4466. - IRQHelper can raise either IRQ (maskable) or NMI
  4467. - this is preparation for ColecoVision support
  4468. * Moved MC6850 from "sound" directory to "serial" directory.
  4469. 2004-10-23 Maarten ter Huurne <maarten@treewalker.org>
  4470. * Removed slow_drain_on_reset RAM configuration parameter.
  4471. All our current configurations had it set to "false".
  4472. And we don't really know how the drain works nor what should be
  4473. considered "slow".
  4474. * Removed <slow_drain_on_reset> from the configuration XML files.
  4475. 2004-10-22 Maarten ter Huurne <maarten@treewalker.org>
  4476. * Added build support for NetBSD.
  4477. Based on a patch submitted by xtraeme, see bug 1052115.
  4478. 2004-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4479. * Reused MMX optimized routines in Deinterlacer
  4480. 2004-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4481. * Fixed SETetisDongle: unused bits should be 1 iso 0
  4482. * reenabled "I/O ports" debuggable, but renamed to "ioports"
  4483. * added MSXDevice::peekIO() method:
  4484. - Reading from ioports debuggable no longer influences emulation
  4485. state
  4486. - Not yet implemented for all devices (not for V99x8, V9990 and
  4487. MSXAudio). For these devices peekIO() returns 0xFF
  4488. 2004-10-19 Joost Damad <joost@lumatec.be>
  4489. * sync with debian/
  4490. * updated manpage and control file
  4491. * support for cleaning up CVS/ dirs for "install" and "dist"; still
  4492. commented out
  4493. 2004-10-18 Eric Boon <e.boon4@chello.nl>
  4494. * GFX900 emulation
  4495. - Bx modes & belonging palettes
  4496. - start of SDL Rasterizer, dummy GL rasterizer
  4497. 2004-10-18 Maarten ter Huurne <maarten@treewalker.org>
  4498. * Released openmsx-0.5.0.
  4499. 2004-10-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4500. * forgot some "up"->"release" renames
  4501. * Added MMX optimizations in Scale2x scaler
  4502. 2004-10-17 Maarten ter Huurne <maarten@treewalker.org>
  4503. * Separated frameStart and frameEnd for SpriteChecker.
  4504. Fixes asserts when using "none" renderer.
  4505. 2004-10-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4506. * Improved TC8566AF timing:
  4507. - based on code from BlueMSX written by Daniel Vik
  4508. - fixes corrupt gfx in "Swiss Demo" and "Gazzel"
  4509. * For the renderer setting, take the value found in settings file (if
  4510. any) as default value:
  4511. - this fixes the "Catapult always uses SDLHi" problem
  4512. * Also recognize zip files with extension ".ZIP" (uppercase)
  4513. * Fixed reading 1st FAT sector in detectGeometry() routine
  4514. * Fixes in Command Line Parser:
  4515. - stuff like
  4516. openmsx -h -machine turbor and
  4517. openmsx -v -ext scc
  4518. works now
  4519. - code is not very clear, should be rewritten after release
  4520. * Created V9990DummyRasterizer:
  4521. - fixes crash when renderer "none" was selected when gfx9000
  4522. extension was plugged in
  4523. * Added scripts/cycle.tcl
  4524. * Added workaround for "renderer none bug":
  4525. need to investigate this after further the release
  4526. * Renamed "up" and "down" key modifiers to "release" and "press":
  4527. names conflicted with the "up" and "down" cursor keys
  4528. 2004-10-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4529. * Fixed coredump on missing arguments on the command line:
  4530. e.g. "openmsx -diska"
  4531. 2004-10-14 Maarten ter Huurne <maarten@treewalker.org>
  4532. * Added default key binding: ALT-Enter for full screen.
  4533. Windows users are familiar with this hotkey.
  4534. * Fixed bug: search for TCL again on every "make probe".
  4535. 2004-10-13 Maarten ter Huurne <maarten@treewalker.org>
  4536. * Disabled "I/O ports" debuggable:
  4537. - it reads I/O ports with side effects, which can trigger assertions
  4538. - the name "I/O ports" is not suitable as a file name for "save_all"
  4539. We can re-enable and then fix it after the release.
  4540. 2004-10-13 Joost Damad <joost@lumatec.be>
  4541. * import of debian/
  4542. * some non-intrusive changes to the build/ dir
  4543. * Contrib moved when installed to share/
  4544. * bad timing of changes :(
  4545. * not softlink, but symbolic link
  4546. 2004-10-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4547. * Correctly restore saved cpu freq settings:
  4548. - When z80_freq_locked was saved as 'false', you had to do
  4549. set z80_freq_locked true ; set z80_freq_locked false to
  4550. really get the wanted behaviour.
  4551. - Thanks to patatof for reporting this bug.
  4552. 2004-10-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4553. * fixed scc and Panasonic_FS-CA1 extensions:
  4554. mappertype tag was moved
  4555. * DirAsDsk fix:
  4556. - check for null ptr from localtime()
  4557. - this fixes (not verified) a crash in win32 when DisAsDsk is used
  4558. with files with weird dates (1913-11-16 or 2023-08-07)
  4559. 2004-10-10 Maarten ter Huurne <maarten@treewalker.org>
  4560. * Fixed assert in SimpleScaler when interlace is on and deinterlace
  4561. is off.
  4562. 2004-10-10 Herman Oudejans <hn.oudejans@quicknet.nl>
  4563. * Fixed getting user dir when "My Documents" is set to the
  4564. root of a drive in windows.
  4565. 2004-10-09 Maarten ter Huurne <maarten@treewalker.org>
  4566. * test release openmsx-0.5.0-test2 (Bussum 2004)
  4567. 2004-10-08 Maarten ter Huurne <maarten@treewalker.org>
  4568. * Fixed crash if openMSX exits without starting emulation.
  4569. * Ignore old-format settings.xml at startup instead of aborting.
  4570. * Fixed help option if no settings.xml exists.
  4571. 2004-10-07 Manuel Bilderbeek <manuel@msxnet.org>
  4572. * Renamed save_settings_at_exit to save_settings_on_exit
  4573. * Renamed FrontSwitch to FirmwareSwitch everywhere in the code
  4574. 2004-10-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4575. * Fixed crash on exit in FreeBSD:
  4576. - was order of destruction of global objects problem
  4577. * Fixed Screenshot code in 16bpp:
  4578. conversion routine to 24bpp read 2 bytes outside the array.
  4579. Although it didn't actually use these bytes, it could trigger a
  4580. segfault. Fixed by using the SDL convserion routines (probably
  4581. faster as well).
  4582. * Don't plug printer logger with an invalid log file
  4583. 2004-10-06 Manuel Bilderbeek <manuel@msxnet.org>
  4584. * Renamed frontswitch to firmwareswitch
  4585. 2004-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4586. * Only allow existing machines to be selected with machine setting.
  4587. * Fall back to "cbios-msx2" when the selected machine no longer
  4588. exists.
  4589. * Removed warning for missing settings.xml
  4590. 2004-10-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4591. * saving_settings didn't work when file didn't exist yet
  4592. * updated all machine configurations to new file format:
  4593. thanks to mth for writing the convertor script!
  4594. * test release openmsx-0.5.0-test1
  4595. * fixed sprite color bug:
  4596. in planar modes the sprite color table was not read correctly (bit
  4597. masking error)
  4598. 2004-10-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4599. * Don't use exceptions to report unconnected drive in ready() method:
  4600. - this was quite heavily used in the MSX boot sequence, and caused
  4601. 100% CPU usage for several seconds.
  4602. * Increased speed of type command
  4603. * Moved location of <mappertype> tag to a more logical position
  4604. * <PanasonicRom> tag needs an id attribute to give a warning in case
  4605. the SHA1 doesn't match
  4606. * default binding for pause key must be "toggle pause" iso just "pause"
  4607. * renamed <MapperType> tag to <MapperReadBackBits>
  4608. * Check the DOCTYPE SYSTEM part when reading in xml files
  4609. 2004-10-03 Maarten ter Huurne <maarten@treewalker.org>
  4610. * Updated configuration converter.
  4611. 2004-10-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4612. * Fixed simple
  4613. * Don't autodetect mapper type for roms in machine configs
  4614. * Oops, the guessLocation routine in RomPlain still used the old
  4615. config format:
  4616. this broke the firmware on some machine (e.g. Panasonic FS-A1F)
  4617. 2004-10-03 David Heremans <david.heremans@gnu-linux.net>
  4618. * Fixed Tetris 2 special edition dongle
  4619. 2004-10-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4620. * Force PSG portA to be programmed as input port:
  4621. some programs (e.g. Match Maniac) wrongly program portA as output,
  4622. but on most(?) MSX machines this works normally (e.g NMS8250)
  4623. * Fixed initial value of mode settings
  4624. * correctly give "write protected" err msg on read only disk:
  4625. without the head loaded delay our WD2793 detected too fast that the
  4626. disk was write protected (too fast for the disk rom software)
  4627. * assertion in Clock was a bit too strict:
  4628. very low clock frequencies (~1Hz) are not allowed (because we use a
  4629. 32bit variable iso 64 bit for speed). But the assertion was already
  4630. triggered by frequencies around 100Hz. Renshaturbo circuit uses
  4631. such low frequencies.
  4632. 2004-10-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4633. * Improved disk geometry detection heuristics
  4634. * Fixed save_settings command:
  4635. - when settings were loaded from system wide settings.xml file, save
  4636. them to user settings.xml file
  4637. - when settings were loaded from a user specified settings file,
  4638. save them to that file
  4639. * fixed quoting in tab-completion:
  4640. the chars [ ] $ must be quoted in TCL
  4641. * use xmlFree() iso free() to release memory from libxml
  4642. 2004-09-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4643. * Removed the MSXConfig::loadConfig method that was resposible for the
  4644. media settings bug. It's no longer used now.
  4645. * Fixed type commando:
  4646. sometimes the first chr was missed
  4647. * Fixed "-setting" command line option:
  4648. Settings were loaded wrong when the -setting option was given. Was
  4649. a problem in the order of creation of settings (no settings may be
  4650. created before the settings.xml is loaded). Current code is a bit
  4651. fragile in this respect. Refactor it after the release.
  4652. 2004-09-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4653. * Removed settings.xml from CVS
  4654. * media settings (diska, diskb, cassette) were wrongly saved:
  4655. - once a "save_settings" command was executed with a disk inserted
  4656. from the commandline this disk was always used, even if in the
  4657. next run a different disk was specified.
  4658. - should media settings be saved? Current (fixed) implementation
  4659. does not save them to not break catapult. But should they be
  4660. saved in the future?
  4661. 2004-09-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4662. * Moved default keybindings from init.tcl to HotKey code
  4663. * Updated commands.txt
  4664. * Use built-in default values for KeyJoystick in case the config
  4665. section is missing in the settings file
  4666. 2004-09-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4667. * Use #ifdef iso if around asm routines
  4668. * Added normal-MMX (non-ext-MMX) routines for every ext-MMX routine
  4669. * Made a setting for "user directories"
  4670. * Simple scaler 16bpp scanline optimization:
  4671. - added ext-MMX routine, improves speed from 69s to 51s
  4672. 2004-09-26 Arnold Metselaar <arnold_m@operamail.com>
  4673. * Let Keyboard and KeyJoystick release all keys when the console
  4674. becomes active.
  4675. 2004-09-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4676. * Don't print "couldn't find file" warnings on startup
  4677. 2004-09-26 Maarten ter Huurne <maarten@treewalker.org>
  4678. * At end of HMMC and LMMC, CE is reset immediately, but TR is reset
  4679. the next time S#2 is read.
  4680. Fixes Andorogynus.
  4681. Thanks to the anonymous poster on our forum who pinpointed the change
  4682. which made this bug surface first. Even though reverting that change
  4683. was not a solution, it did point to the HMMC command timing being the
  4684. problem.
  4685. 2004-09-24 Maarten ter Huurne <maarten@treewalker.org>
  4686. * Fixed assert in Mixer on unmute if initial state was muted.
  4687. * Load settings file specified with "-setting" from UserFileContext,
  4688. but load the files it refers to using SystemFileContext.
  4689. Fixes console look when openMSX is started with "-setting" option.
  4690. 2004-09-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4691. * Take default settings value when saved value is no longer valid
  4692. * Integrated blur scaler and simple scaler:
  4693. 2004-09-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4694. * Implemented TC8566AF format command:
  4695. based on code from BlueMSX written by Daniel Vik
  4696. * Don't save soundchip mode setting:
  4697. it gave conflicts with the mode setting in hardwareconfig.xml
  4698. 2004-09-23 Maarten ter Huurne <maarten@treewalker.org>
  4699. * Initialise I register to 0, instead of 0xFF.
  4700. Fixes Pennant Race bug.
  4701. Thanks to Daniel Vik for finding the cause!
  4702. 2004-09-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4703. * Added "save_settings_at_exit" setting
  4704. 2004-09-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4705. * Initialize the msx sound devices even if there is no openMSX sound:
  4706. - solves UMR (and possibly crashes) in case openMSX is started with
  4707. "-nosound" or for some reason sound is not available
  4708. 2004-09-19 Maarten ter Huurne <maarten@treewalker.org>
  4709. * Cleanup of layer system, continued:
  4710. - put common code in new VideoLayer class
  4711. - implemented "videosystem" setting
  4712. - implemented SDLV9990Rasterizer, which shows a test pattern
  4713. If you start openMSX with "-ext gfx9000" and on the console type
  4714. "set videosystem gfx9000", you will see the test pattern (SDLHi/Lo).
  4715. There are some bugs left, but I had to commit to keep track of the
  4716. many changes. I'll try to fix the bugs as soon as I can.
  4717. * Do not save "power" and "pause" settings.
  4718. Fixes starting from Catapult.
  4719. * Withhold blocked events from other NATIVE listeners as well.
  4720. Fixes "set console off".
  4721. * Delay reInit when power is turned off.
  4722. Fixes "set power off" in R800 mode.
  4723. * Initialise lineContent in SDLRasterizer's constructor.
  4724. Fixes asserts when switching to SDLHi when paused.
  4725. 2004-09-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4726. * Rewrote saving of settings code:
  4727. - All settings are now saved by default, only exception is
  4728. "console" setting. But there are probably more that don't need to
  4729. be saved.
  4730. - settings.xml fileformat has changed again. All settings are now
  4731. saved in a uniform way.
  4732. - Code is a lot simpler now
  4733. * Default rom pools:
  4734. added
  4735. <user>/share/systemroms and <system>/share/systemroms
  4736. as default rom pool locations. The use can still add more pools.
  4737. * Fixed crash on "save_settings" when there was no settings.xml file
  4738. loaded
  4739. 2004-09-18 Maarten ter Huurne <maarten@treewalker.org>
  4740. * Cleaned up layer system:
  4741. - "alpha" was not really alpha, renamed to "coverage"
  4742. - explicit Z value instead of toFront/toBack
  4743. - preparation for V9990 layer
  4744. The cleanup is not finished yet.
  4745. 2004-09-18 Reikan <openMSX4Win32@ranpub.com>
  4746. * Converted the macro __WIN32__ to _WIN32.
  4747. Please use _WIN32 instead of __WIN32__ now.
  4748. _WIN32 is more popular in Win32 compilers.
  4749. Although we require gcc3 for now, it would be safer in future.
  4750. 2004-09-15 Maarten ter Huurne <maarten@treewalker.org>
  4751. * Added new type of event listener (DETACHED).
  4752. * Fixed timing bug in VDP command engine: replaced "clock.advance" by
  4753. "clock.reset" when starting a command. Start time of a new command is
  4754. not ahead of end time of last pixel of previous command if previous
  4755. command was not finished yet.
  4756. Fixes assert in The Ant demo (found by Jorito).
  4757. 2004-09-15 David Heremans <david.heremans@gnu-linux.net>
  4758. * Added the joystick protection of 'Tetris Special Edition II'
  4759. 2004-09-14 Maarten ter Huurne <maarten@treewalker.org>
  4760. * Cleaned up renderer switching in the new layered display system.
  4761. 2004-09-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4762. * Don't assert when there are two Moonsounds (not really usefull, but
  4763. in a real MSX it's also possible to have multiple Moonsounds)
  4764. * Changed settings format for volume/mute settings:
  4765. <volume id="Music Module>75</volume>
  4766. iso
  4767. <Music.20Module_volume>75</Music.20Module_volume>
  4768. The last one needed some ugly hacks (.20) to represent invalid tag
  4769. chrs. It was also not possible to write a DTD for it because the tag
  4770. names depend on user choosable id's.
  4771. 2004-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4772. * Bindings are saved in settings.xml
  4773. 2004-09-11 Maarten ter Huurne <maarten@treewalker.org>
  4774. * Return "true" or "false" when printing value of boolean setting.
  4775. Before, it was "on" and "false" (found by Herman).
  4776. 2004-09-11 Manuel Bilderbeek <manuel@msxnet.org>
  4777. * Added iomap command to check what devices is on which I/O port
  4778. 2004-09-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4779. * Implemented RTC mode as a setting, is now saveable
  4780. * "set <setting> <newvalue>" now returns the actual new value of the
  4781. setting (e.g. "set gamma -1" returns 0.1 iso -1)
  4782. 2004-09-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4783. * default machine is now configurable via a setting. Of course this
  4784. only has effect when openMSX is restarted. Although in the future
  4785. we may switch machine between a power off/on cycle.
  4786. 2004-09-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4787. * Z80 updates:
  4788. - fixed P-flag in OUTI and INI instructions
  4789. - calculate DAA table
  4790. * Blur scaler:
  4791. - small optimization in normal-MMX code (non-extended-MMX)
  4792. - fixed bug when scanline=0 (recent optimization requires
  4793. scanlineAlpha <= 255, not <= 256)
  4794. 2004-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4795. * Created "frequency" and "samples" setting:
  4796. Changing this setting only has effect the next time openMSX is
  4797. started (will be changed later, but it requires some refactoring in
  4798. the sounddevices).
  4799. * Implemented "help set [<setting>]" command:
  4800. Since the switch to TCL it was no longer possible to query the
  4801. setting descriptions. Fixed now.
  4802. 2004-09-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4803. * Blur scaler speed-up:
  4804. use ext-mmx instructions "pavgb", "pshufw", "pmulhuw"
  4805. * Fixed bug in Z80 OTIR like instructions (bug found by mth):
  4806. fixes equalizer in FDD1
  4807. 2004-09-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4808. * Converted more extensions to new config format
  4809. * Allow saving of settings with 'non-xml-tag' characters
  4810. 2004-09-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4811. * Allow machines (extensions) descriptions in both
  4812. <dir>/machine.xml
  4813. <dir>/machine/hardwareconfig.xml
  4814. * Converted a few more extensions to new config format
  4815. 2004-09-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4816. * renames in settings.xml:
  4817. "renderer" section --> "video"
  4818. "mixer" section --> "sound"
  4819. * volume and mode (mono, stereo) settings are saved now
  4820. 2004-09-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4821. * Refactored settings:
  4822. - creating saveable settings is easier now
  4823. - settings.xml format changed slightly: tag name is now the same as
  4824. the name of the setting. So if you're not using the default
  4825. settings.xml file you need to make at least changes
  4826. <font> --> <consolefont>
  4827. <background> --> <consolebackground>
  4828. <renderer> <renderer>
  4829. <type> --> <renderer>
  4830. 2004-08-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4831. * Renderer settings can be saved now
  4832. 2004-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4833. * Simplified console code
  4834. * All console settings are saved now
  4835. 2004-08-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4836. * Fixed Uncaught exception on "openmsx -v"
  4837. 2004-08-28 Maarten ter Huurne <maarten@treewalker.org>
  4838. * Fixed bug when palette index 0 is written and transparency is enabled.
  4839. This bug was visible as gray rectangles in the Gazzel intro.
  4840. 2004-08-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4841. * Added 16bpp MMX simple scaler routines
  4842. * Proof-of-concept: saving of settings (settings.xml)
  4843. - added a new command "save_settings". There is no autosave at exit
  4844. yet.
  4845. - for the moment only very few settings are actually saved. Only
  4846. consolecolums, consolerows, consoleplacement
  4847. 2004-08-27 Manuel Bilderbeek <manuel@msxnet.org>
  4848. * Added initial version of the openMSX FAQ: not finished at all,
  4849. please edit!
  4850. 2004-08-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4851. * BlurScaler 16bpp improvements:
  4852. - use look up table instead of (complex) computations. Is almost
  4853. twice as fast. Also used 10-bit precision iso 8-bit, so less
  4854. rounding errors.
  4855. 2004-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4856. * Don't copy HostCPU
  4857. * Improved MMX code. I measured between 1% and 2% speedup:
  4858. - a block of memory reads followed by a block of memory writes is
  4859. faster than interleaved read and writes. Probably because write
  4860. combining works better this way (larger bursts on the bus).
  4861. Loop unrolling made this grouping possible.
  4862. - Rearranging instructions (especially mul instrcutions) also gave
  4863. a nice speedup. This was also possible because of loop unrolling.
  4864. 2004-08-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4865. * Changed blur scaler for 16bpp:
  4866. - do calculations in 24bpp mode to avoid visible rounding errors
  4867. (not tested)
  4868. 2004-08-24 Maarten ter Huurne <maarten@treewalker.org>
  4869. * Moved screenshot code from VDP to Display.
  4870. * Added extended-MMX versions of non-scanline scaling in 256-wide modes
  4871. and both scanline and non-scanline scaling in 512-wide modes.
  4872. Still only 32bpp.
  4873. * Sound device cleanups:
  4874. - Removed "user mute" which was unused.
  4875. - Renamed "internal mute" to just "mute".
  4876. - Mixer checks isMuted() instead of updateBuffer returning NULL.
  4877. - Make sure reset() is called before registerSound().
  4878. Right now this doesn't really matter, but it is needed once we allow
  4879. runtime insertion of extensions.
  4880. * Refactored PSG:
  4881. - Code in C++ style and easier to read.
  4882. - Slight improvements in accuracy, probably inaudible though.
  4883. - Some optimisations, but not enough profiling done yet to see whether
  4884. they really matter.
  4885. 2004-08-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4886. * 'set consolebackground ""' now removes the background image
  4887. * Don't use MSX pause LED for openMSX pause status, instead send a
  4888. (new) pause event.
  4889. 2004-08-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4890. * Fixed assertion on "openmsx ok.dsk wrong.dsk"
  4891. * Optimization: don't use TurboRCPUInterface on non-turboR machines
  4892. 2004-08-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4893. * Fixed XML configuration stuff for IDE
  4894. 2004-08-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4895. * Added "-nosound" command line option:
  4896. - main raison to add it was faster profiling. Audio thread takes
  4897. 50% of the time when running (far from realtime) under cachegrind,
  4898. even though the sound was muted in openMSX.
  4899. * Initialize SDL AUDIO subsystem:
  4900. - AUDIO subsystem was never initialized. Apparently this isn't
  4901. needed for Linux / Windows. But some platforms probably do need
  4902. it.
  4903. * Fixed "after time" and "after idle" console commands
  4904. * CPU cleanup: removed historical cruft
  4905. * Merged CPUInterface and MSXCPUInterface classes:
  4906. - get rid of virtual method calls, and (possibly) inline them
  4907. - code was written like this to be able to use the same CPU code
  4908. also for the CPU in the MidiSaurus cartridge. If we still want
  4909. to implement this, we should templatize the CPU class with on
  4910. the CPUInterface instead.
  4911. 2004-08-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4912. * Made tiny optimization in DynamicClock, however this gave a speedup
  4913. of about 1.5% because this class is _heavily_ used in the CPU code:
  4914. * Increased minimum CPU clock freq to 1MHz:
  4915. - the new DynamicClock implementation can't handle very slow clock
  4916. rates (slow meaning ~1Hz). But even before this change a clock of
  4917. 100kHz didn't work correctly, I'm not sure why.
  4918. 2004-08-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4919. * Added MMX optimizations for blur scaler
  4920. 2004-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4921. * Added new 'blur' scaler:
  4922. - this scaler implements the same blur effects as the SDLGL
  4923. renderer already does (but then in software)
  4924. - only tested with 32bpp, can someone please test 16bpp?
  4925. - can still be heavily optimized using MMX assembly
  4926. 2004-08-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4927. * Extended Scale2x scaler for hi-res modes (screen 6 and 7)
  4928. 2004-08-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4929. * Extended hq2x scaler for hi-res modes (screen 6 and 7)
  4930. 2004-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4931. * Removed CoRoutine stuff from CVS, it's no longer used
  4932. 2004-08-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4933. * Allow multiple times the same extension (make id's unique)
  4934. * ROM title (from romdb) is again visible in slotmap
  4935. 2004-08-06 Maarten ter Huurne <maarten@treewalker.org>
  4936. * Avoid syncs when VDP state changes when display is blanked and
  4937. the border colour is not influenced by the state change.
  4938. This allows the scaler to draw border lines more efficiently.
  4939. * New feature in build system: version executables.
  4940. See VERSION_EXEC in build/custom.mk (off by default).
  4941. 2004-08-03 Maarten ter Huurne <maarten@treewalker.org>
  4942. * Fixed ROMBAS mapper for 8K ROMs.
  4943. Eat Blue! now works if you load it with "eatblue.rom,rombas".
  4944. * Improved ROMBAS detection.
  4945. Eat Blue! now works without forced mapper type as well.
  4946. 2004-08-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4947. * Fixed some bugs I introduced yesterday
  4948. * Another bug fix: HALT instruction was broken
  4949. 2004-08-01 Maarten ter Huurne <maarten@treewalker.org>
  4950. * Initial build system support for x86_64.
  4951. No optimised compile flags yet.
  4952. MMX code is disabled on x86_64 for now.
  4953. 2004-08-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4954. * Removed CoRoutines again. Instead reversed the calling-sequence
  4955. between MSXCPU and Scheduler:
  4956. Previously the Scheduler scheduled both CPU and other stuff.
  4957. Because of this the CPU needed to be able to pass control back to
  4958. the Scheduler in the middle of a Z80 instruction. In the past we
  4959. solved this by either:
  4960. - Splitting all Z80 instructions in atomic parts and made the
  4961. code resumable at a sub-instruction level
  4962. --> very complex CPU code
  4963. - call the scheduler (recursivly) from within the CPU code
  4964. --> too complex CPU <-> Scheduler interaction, we had too
  4965. many bugs related to this
  4966. - Use CoRoutines to pause/resume the CPU code
  4967. --> was only an experiment, stopped the experiment very early
  4968. because I think the current solution is much simpler
  4969. In the current solution we call the Scheduler from within the CPU
  4970. (iso the other way around). Pausing/resume CPU code is now done by a
  4971. simple function call.
  4972. New code still needs cleanups, but I wanted to check it in early
  4973. beacuse the CoRoutine stuff didn't compile yet on win32 (although
  4974. it was easy to fix).
  4975. * Use "string::size_type" iso "unsigned" in STL string manipulations:
  4976. on x86_64 sizeof(string::size_type) is 8 while sizeof(unsigned) is
  4977. only 4
  4978. 2004-07-30 Maarten ter Huurne <maarten@treewalker.org>
  4979. * Added CPU detection.
  4980. Read the Doxygen comments of HostCPU for details.
  4981. For now, debug prints are enabled, please check if dected capabilities
  4982. match what you would expect for your CPU.
  4983. * Added extended-MMX version of SimpleScaler (only 256-wide 32bpp).
  4984. On my machine, it can scale 50% more pixels per second.
  4985. * Added extended-MMX version of Scaler::scaleBlank.
  4986. * Added extended-MMX version of SimpleScaler::scaleBlank.
  4987. * Got rid of named operants: they're not widely supported. GCC 3.0 can't
  4988. handle them according to the docs. GCC 3.2 can handle them according
  4989. to the docs, but crashes (on mingw32). ICC cannot handle them.
  4990. * Made pixel accuracy default.
  4991. We usually have the most realistic option as default. In the past,
  4992. pixel accuracy was too slow in many cases, especially when VRAM I/O
  4993. was causing a lot of syncs. Those were eliminated a while ago for the
  4994. most commonly used display modes.
  4995. If you encounter a program running significantly slower in pixel
  4996. accuracy than in line accuracy, please report it as a bug.
  4997. 2004-07-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  4998. * Experimental:
  4999. use CoRoutine to simplfy and later optimize CPU / Scheduler
  5000. interaction. Current patch is very minimal: it just adds CoRoutine
  5001. without any optimizations or cleanups.
  5002. 2004-07-25 Maarten ter Huurne <maarten@treewalker.org>
  5003. * Removed support for 8bpp. It never worked anyway.
  5004. 2004-07-24 Maarten ter Huurne <maarten@treewalker.org>
  5005. * Split SDLRasterizer off from SDLRenderer:
  5006. - SDLRenderer deals with EmuTime, is colour depth and zoom independent
  5007. - SDLRasterizer deals with pixels, does not know EmuTime
  5008. * Split GLRasterizer off from SDLGLRenderer.
  5009. * Merged remainders of SDLRenderer and SDLGLRenderer into PixelRenderer.
  5010. 2004-07-23 Maarten ter Huurne <maarten@treewalker.org>
  5011. * Removed all SDL specific code from SDLGLRenderer.
  5012. Maybe I'll rename it to GLRenderer in the future.
  5013. Preparation for GLX renderer.
  5014. * Init and shutdown in VideoSystem subclass, instead of init in
  5015. RendererFactory subclass and shutdown in Renderer subclass.
  5016. Applied to SDLGL, other systems to follow.
  5017. * Applied to SDLHi/Lo and Dummy as well.
  5018. 2004-07-22 Maarten ter Huurne <maarten@treewalker.org>
  5019. * Changed scanline drawing from a post-processing operation to
  5020. an integrated part of the "simple" scaler.
  5021. As a result, drawing with scanlines is now equally fast as drawing
  5022. without scanlines. Probably this means small computations can be done
  5023. in cycles that would otherwise be wasted waiting for memory access.
  5024. 2004-07-21 Maarten ter Huurne <maarten@treewalker.org>
  5025. * Introduced display which manages multiple layers.
  5026. Currently, the following layers exist:
  5027. - background (TV snow)
  5028. - renderer
  5029. - console
  5030. In the future, a second renderer will be added (for GFX9000).
  5031. Also, OSD features are possible (such as status icons).
  5032. The code has some rough edges, but it works.
  5033. * Along the way, fixed console cursor blinking during pause.
  5034. 2004-07-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5035. * a few small fixes
  5036. 2004-07-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5037. * merged MSXDevice, MSXIODevice and MSXMemDevice in one class
  5038. MSXDevice:
  5039. - virtual inheritance can be removed because of this
  5040. 2004-07-18 Arnold Metselaar <arnold_m@operamail.com>
  5041. * added Unicode.{cc,hh} with minimalistic conversion of UTF-8
  5042. to 8-bit Ascii
  5043. * Keyboard.cc: Fixes to make the type command work properly
  5044. - utf-8 -> ascii conversion in Keyboard::KeyKeyInserter::type(),
  5045. - fixed bug in Keyboard::pressAscii() (index to asciiTab), and
  5046. - corrected asciiTab[]
  5047. 2004-07-15 Manuel Bilderbeek <manuel@msxnet.org>
  5048. * Added <info> tag with some child tags to XML.
  5049. - should be added to other hardwareconfig files later as well (is
  5050. mandatory)
  5051. - optional for extensions?
  5052. - there's no class associated with it now; it's only used to put
  5053. info in the window border for now
  5054. - child tags "manufacturer", "code" and "type" are now mandatory
  5055. 2004-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5056. * Fixed MoonSound bug:
  5057. When DL=0 go immediately to sustain phase.
  5058. Fixes 'timpani' instrument for example.
  5059. 2004-07-13 Maarten ter Huurne <maarten@treewalker.org>
  5060. * Fixed nullpointer dereference when ABORT command is executed
  5061. in "cmdtiming broken" mode.
  5062. 2004-07-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5063. * Simplified SHA1 interface + cleanups
  5064. 2004-07-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5065. * Preparartion for insert remove at run time:
  5066. unregister memory / IO ports
  5067. 2004-07-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5068. * Config file change: FDC type is no longer a sub type
  5069. * Fixed RenShaTurbo
  5070. * Config file change:
  5071. grouped <volume> and <mode> tags in a new <sound> tag
  5072. 2004-07-10 Maarten ter Huurne <maarten@treewalker.org>
  5073. * Separated CPU and OS in build system.
  5074. 2004-07-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5075. * Fixed loading of extensions
  5076. * Fixed some bugs in slot structure config loading
  5077. * It's now possible to insert a slotexpander extension
  5078. 2004-07-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5079. * Fixed exception-safety problem in CassettePort constructor
  5080. 2004-07-04 Manuel Bilderbeek <manuel@msxnet.org>
  5081. * Added simple DC filter for Wave cassette images (subtract average)
  5082. .wav files from MicroWAVer should work now. Please test this some
  5083. more with other .wav images (e.g. from real cassettes)
  5084. 2004-07-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5085. * Another config file format change:
  5086. - use 'primary' and 'secondary' tags to specify slot structure
  5087. - this proposal is still being discussed (especially for
  5088. extensions), so this may change again
  5089. 2004-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5090. * Fixed assertion in ClockPin
  5091. 2004-06-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5092. * Get rid of ordering requirement in turbor hardwareconfig.xml
  5093. 2004-06-26 Maarten ter Huurne <maarten@treewalker.org>
  5094. * Replaced EmuTimeFreq by Clock and DynamicEmuTime by DynamicClock:
  5095. - Fixes accuracy bug where fractions of ticks were discarded,
  5096. causing problems with high-frequency reads of low-frequency timers.
  5097. Thanks to Daniel Vik for reporting this.
  5098. - Reduced the number of operations, especially operators.
  5099. - Added Doxygen comments for the changed classes.
  5100. * Improved MoonSound BUSY flag timing (not completely correct yet).
  5101. 2004-06-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5102. * hardwareconfig.xml format change:
  5103. replaced <device><type>foo</type>..</device>
  5104. <device><type>bar</type>..</device>
  5105. with <devices> <foo>..</foo> <bar>..</bar> </devices>
  5106. 2004-06-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5107. * FDC config format changed:
  5108. indicate number of connected disk drives iso drivenames
  5109. 2004-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5110. * hardwareconfig.xml configuration file changes:
  5111. - replaced <config if="foo">..</config>
  5112. with <foo>..</foo>
  5113. 2004-06-21 Manuel Bilderbeek <manuel@msxnet.org>
  5114. * Fixed mix level (volume) bug in Moonsound, thanks to Albert and
  5115. Wouter
  5116. 2004-06-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5117. * bug fix: first destroy renderer before creating a new one, bug was
  5118. introduced when using auto_ptr
  5119. * bug fix: YMF278 is a stereo device
  5120. 2004-06-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5121. * Fixed ROM loading bug when no SHA1 match was found and no filename
  5122. was specified
  5123. * A bit more robust config file parsing
  5124. * Config file format change:
  5125. - put roms in new hierarchical <rom> tag
  5126. * settings.xml configuration file changes:
  5127. - replaced <config id="foo">..</config>
  5128. with <foo>..</foo>
  5129. 2004-06-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5130. * Compiled with -Wall -W and fixed all warnings
  5131. 2004-06-18 Manuel Bilderbeek <manuel@msxnet.org>
  5132. * Fixed Floating Point Exception in Y8950Adpcm, which was triggered
  5133. by 4Trax Songbook #1. Thanks to Eric for finding it and Wouter for
  5134. providing the fix :)
  5135. 2004-06-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5136. * Large configuration file code refactoring:
  5137. - get rid of Config class, use directly XMLElement
  5138. - no changes in config files
  5139. * Use auto_ptr to manage ownership:
  5140. - ownership is better documented
  5141. - safer in case of exceptions
  5142. 2004-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5143. * Config file releated cleanups (no changes in config files)
  5144. 2004-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5145. * Added Date class to convert dates to and from string:
  5146. there are library fucntions that do the same (strftime, strptime)
  5147. but strptime is not available on win32
  5148. * RomPool cleanups / fixes / enhancements:
  5149. it's now possible to list multiple pools in the settings file
  5150. 2004-06-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5151. * Implemented RomPool:
  5152. still needs heavy testing and cleanups
  5153. 2004-06-07 Manuel Bilderbeek <manuel@msxnet.org>
  5154. * Rerenamed "MSX-AUDIO MIDI" to "Music Module MIDI"
  5155. 2004-06-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5156. * removed IO port registration for Mixrosol FDCs from the code,
  5157. instead it must be specified in the config file (TODO)
  5158. * Explicitly indicate ownership transfer in Device factories
  5159. 2004-06-06 Manuel Bilderbeek <manuel@msxnet.org>
  5160. * Moved mode setting of the RTC to settings.xml
  5161. (converter still needs to be updated)
  5162. 2004-06-03 Manuel Bilderbeek <manuel@msxnet.org>
  5163. * More config file renames:
  5164. - Audio -> MSX-AUDIO
  5165. - Audio-Midi -> MSX-AUDIO MIDI
  5166. - Music -> MSX-MUSIC
  5167. - MSX-Midi -> MSX-MIDI
  5168. - SCCPlusCart -> SCC+
  5169. The converter has been adjusted as well.
  5170. * Fixed a forgotten rename of Rom to ROM in the MSXRomCLI.
  5171. * Added specific extensions for the Konami Sound Cartridges
  5172. (Snatcher and SD-Snatcher)
  5173. 2004-06-04 David Heremans <david.heremans@gnu-linux.net>
  5174. * Fixed the problem with filesize zero in the DirAsDisk feature
  5175. 2004-06-03 Maarten ter Huurne <maarten@treewalker.org>
  5176. * Simplified code which stores and draws previous frame in SDLGL.
  5177. 2004-06-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5178. * Fixed creation of internal datastructures to match the new XML format
  5179. * Removed deprecated device PanasonicRom
  5180. 2004-06-03 Manuel Bilderbeek <manuel@msxnet.org>
  5181. * More config file changes:
  5182. - renamed old parameter brokenFDCread to broken_fdc_read (needs
  5183. update of the converter, please fix this for me)
  5184. - renamed Rom to ROM, PanasonicRom to PanasonicROM and PanasonicRam
  5185. to PanasonicRAM and updated the converter for these changes
  5186. 2004-06-01 Maarten ter Huurne <maarten@treewalker.org>
  5187. * Wrote a converter script that updates old configurations to the new
  5188. format: share/scripts/convert_hardwareconfig.py
  5189. 2004-06-01 Manuel Bilderbeek <manuel@msxnet.org>
  5190. * Corrected ASCII table for 'type' command for international layout
  5191. Thanks to Albert Beevendorp for doing the hard work!
  5192. * More config file changes: changed device name of FM-PAC to FMPAC
  5193. 2004-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5194. * More config file changes:
  5195. - removed <parameter class=".."> constructs
  5196. - removed support for <parameter name="foo">, config files are
  5197. incompatible anyway
  5198. * Fixed assertion on "type {}"
  5199. 2004-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5200. * Better names for ROM debuggables. Still include the (unique) device
  5201. id to avoid assertion when the same ROM is inserted twice.
  5202. * Added optional "sha1" parameter to rom devices. For the moment only
  5203. used to print a warning when given sha1sum doesn't match with real
  5204. sha1sum.
  5205. * First step to new xml format:
  5206. <parameter name="foo">bar</parameter>
  5207. can now be written as
  5208. <foo>bar</foo>
  5209. the first format is still supported, but will be removed soon. In
  5210. the FDC device the parameter "type" is renamed to "fdc_type" becuase
  5211. of a name conflict with the device type.
  5212. * Removed support for autocommands, they were deprecated in 0.3.4
  5213. * Added Vincent van Dam to AUTHORS:
  5214. cas to wav conversion code is based on his cas2wav too
  5215. * Moved IO port registration from DeviceFactor to hardwareconfig.xml:
  5216. This is an incompatible xml format change! I only updated
  5217. Philips_NMS_8250 and Panasonic_FS-A1GT. I hope someone else will
  5218. update the other machines and extensions.
  5219. * Also got rid of <parameter name=".."> ... </parameter> constructs in
  5220. settings.xml
  5221. * Removed duplicate code for case insensitive string comparisons
  5222. 2004-05-30 Manuel Bilderbeek <manuel@msxnet.org>
  5223. * Added channel mode 'off' to mute individual sound devices
  5224. 2004-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5225. * In one executable only one interpreter is used (TCL or other),
  5226. no need to have a virtual base class.
  5227. 2004-05-29 Manuel Bilderbeek <manuel@msxnet.org>
  5228. * Cleaned up names of the debuggables
  5229. 2004-05-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5230. * Made all (S)RAM debuggable, created a base class for RAM
  5231. * use auto_ptr to indicate ownership transfers
  5232. * use stl bitset instead of an array of booleans
  5233. * don't use exception specifications, they do more harm than good
  5234. * don't use global objects, they are constructed before main() and
  5235. thus we can't catch execptions yet
  5236. * Command speed up (mainly for TCL scripts):
  5237. Take CommandArguments objects as parameters instead of strings.
  5238. This avoids int -> string -> int like conversions. This
  5239. optimization was already done for the command result, now also
  5240. for the command arguments.
  5241. 2004-05-28 Maarten ter Huurne <maarten@treewalker.org>
  5242. * Released openmsx-0.4.0.
  5243. 2004-05-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5244. * Renamed "keylayoutbit" setting in PSG to "keyboardlayout". Also
  5245. instead of the values true/false it now takes "JIS"/"ANSI"
  5246. 2004-05-23 Maarten ter Huurne <maarten@treewalker.org>
  5247. * Fixed glitches in SDLHi when deinterlacing.
  5248. * Fixed pause in SDLGL in monochrome character modes (SCREEN0.40/0.80/1).
  5249. * Added several missing documentation files to "make install".
  5250. * Some other build system improvements.
  5251. 2004-05-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5252. * RS232 interface in Sony_HB-G900P has 2kb RAM
  5253. 2004-05-20 Manuel Bilderbeek <manuel@msxnet.org>
  5254. * Added about 14 new machines
  5255. 2004-05-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5256. * Print an error for duplicate drive names (iso assert)
  5257. 2004-05-15 Manuel Bilderbeek <manuel@msxnet.org>
  5258. * Implemented scrolling in console by a whole page, using
  5259. SHIFT+PAGEUP and SHIFT+PAGEDOWN
  5260. 2004-05-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5261. * really fixed TCL_STDOUT redirection
  5262. * fixed passing of binary data in console command:
  5263. was needed for "debug write_block" command
  5264. * updated "save_debuggable.tcl" script with "load_debuggable"
  5265. and "load_all" commands:
  5266. This is no savestate script! Most of the times it won't work!
  5267. 2004-05-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5268. * Fixed redirecting the TCL_STDOUT channel:
  5269. this fixes Adriano's bug (saving to file in from TCL script)
  5270. 2004-05-09 Manuel Bilderbeek <manuel@msxnet.org>
  5271. * Fixed double SRAM names for Matsushita devices
  5272. 2004-05-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5273. * If init.tcl file in system dir is missing try init.tcl in user dir:
  5274. The default init.tcl in the system dir still source's the user
  5275. init.tcl file.
  5276. 2004-05-05 Maarten ter Huurne <maarten@treewalker.org>
  5277. * Various small improvements to build system, including:
  5278. - install dir is easier to customise (build/custom.mk)
  5279. - fixes for compiling on Mac OS X (thanks to Jalu for testing)
  5280. 2004-05-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5281. * More V9990 work
  5282. 2004-05-02 Maarten ter Huurne <maarten@treewalker.org>
  5283. * Different final probe message depending on probe results.
  5284. * Refuse to build if dependencies for core component are not met.
  5285. * Support for components: a single label (like COMPONENT_GL) controls
  5286. whether a component is built or not.
  5287. (in preparation for forced disabling of components)
  5288. 2004-05-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5289. * Implemented a faster DC removal filter, thanks to dvik
  5290. * Implemeted V9990 palette reading/writing
  5291. * Unified Ascii8-8, Koei-8, Koei-32 and Wizardry mapper types,
  5292. also fixed some mapping details
  5293. 2004-05-01 Herman Oudejans <hn.oudejans@quicknet.nl>
  5294. * fixed [926293] Win32: specifying driveletter without path
  5295. doesn't work.
  5296. 2004-04-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5297. * Use 64-bit type to store realtime:
  5298. 32-bit microsecond counter overflows after about 70 minutes.
  5299. We also saw openmsx crashes after 70 minutes...
  5300. 2004-04-30 Maarten ter Huurne <maarten@treewalker.org>
  5301. * Fixed sprites in overscan.
  5302. * Corrected clipping for scalers.
  5303. And managed to slip in some optimisation as well.
  5304. 2004-04-29 Maarten ter Huurne <maarten@treewalker.org>
  5305. * Optimized top and bottom border drawing in SDLHi.
  5306. 2004-04-28 Maarten ter Huurne <maarten@treewalker.org>
  5307. * Integrated probe fixes from Reikan.
  5308. Probe should work on FreeBSD and Win32 now.
  5309. 2004-04-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5310. * Implemented VRAM reading/writing for V9990
  5311. 2004-04-28 Herman Oudejans <hn.oudejans@quicknet.nl>
  5312. * Implemented 32x32 icon. In win32 the icon MUST be 32x32 and Linux
  5313. doesn't care about size, so 32x32 for all OS'es (thx to Reikan).
  5314. 2004-04-27 Maarten ter Huurne <maarten@treewalker.org>
  5315. * Fixed per-line administration of scale factor.
  5316. In Psycho World intro, bottom text was scaled x2 instead of x1
  5317. when openMSX was paused. ANMA's Relax had a similar problem.
  5318. 2004-04-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5319. * Fixed Koei mapper: sram is not visible in 0x6000-0x7FFF
  5320. * Fixed RealTime: still sync music for high frameskips, but properly
  5321. handle syncpoints
  5322. * Fixed SRAM saving: filename had a double extension (file.SRAM.SRAM)
  5323. 2004-04-26 Eric Boon <e.boon4@chello.nl>
  5324. * Add Debuggables to V9990
  5325. 2004-04-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5326. * Implemented Koei-8 and Koei-32 mapper types:
  5327. based on BlueMSX v1.4.0
  5328. * "openmsx_info fps" now return 0 in when "renderer none" is active
  5329. * Fixed bug in min/max frameskip handling (happened for example when
  5330. minframeskip == maxframeskip)
  5331. * Fixed serious performance bug:
  5332. Sometimes a RealTime syncpoint was not removed from the scheduler
  5333. queue. So it got fuller and fuller and openmsx became slower and
  5334. slower.
  5335. 2004-04-25 Eric Boon <e.boon4@chello.nl>
  5336. * Introduction of Gfx9000/V9990
  5337. 2004-04-25 Manuel Bilderbeek <manuel@msxnet.org>
  5338. * Fixed Philips NMS 1205 extension (MSX Audio MIDI was missing)
  5339. * Updated manual for upcoming release (please check!)
  5340. 2004-04-24 Maarten ter Huurne <maarten@treewalker.org>
  5341. * Build uses same compile and link flags as probe.
  5342. * Integrated part of the mingw32 probe fixes from Reikan.
  5343. * Implemented probe overrides for FreeBSD (untested).
  5344. 2004-04-22 Maarten ter Huurne <maarten@treewalker.org>
  5345. * Enhanced system probe: now it also scans for mandatory headers
  5346. and libs. It performs all checks and then reports what it found
  5347. and what is missing.
  5348. 2004-04-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5349. * Fixed [ 933628 ] assertion with accuracy=screen in "puyo puyo"
  5350. * Fixed OR-ing of unaligned sprites
  5351. 2004-04-20 Herman Oudejans <hn.oudejans@quicknet.nl>
  5352. * Suppressed warning in windows (warning: couldn't find file: "").
  5353. * Fixed 'no window when return from full screen' in SDLHi/Lo
  5354. (windows NT4 only).
  5355. 2004-04-19 Maarten ter Huurne <maarten@treewalker.org>
  5356. * Fixed small bug: I forgot to replace "#ifndef X_DISPLAY_MISSING" by
  5357. "#ifdef HAVE_X11" in RendererFactory class.
  5358. 2004-04-19 Herman Oudejans <hn.oudejans@quicknet.nl>
  5359. * Fixed 'no window when return from full screen' in SDLGL (windows only).
  5360. 2004-04-18 Maarten ter Huurne <maarten@treewalker.org>
  5361. * Dropped autoconf completely.
  5362. This also means autogen.sh is no longer necessary.
  5363. Thanks to Herman and Manuel for testing parts of the new system.
  5364. The new probing system only looks for optional parts, not for mandatory
  5365. ones (such as SDL). Also, there is no option to disable optional parts
  5366. yet. Possibly some bugs have slipped the testing, please alert me
  5367. if you find any.
  5368. 2004-04-15 Maarten ter Huurne <maarten@treewalker.org>
  5369. * Build system discovers TCL compile and link flags
  5370. using "tcl-search.sh" instead of autoconf.
  5371. 2004-04-12 Maarten ter Huurne <maarten@treewalker.org>
  5372. * Changed BIGENDIAN implementation: determined by looking at CPU,
  5373. instead of running a test program. (preparation for cross compiles)
  5374. * New version format:
  5375. "openMSX x.y.z" for releases
  5376. "openMSX x.y.z-devN" for development builds, N = ChangeLog revision
  5377. * Pass information from build system to sources using C++ types such
  5378. as bool and std::string, instead of macros.
  5379. You should re-run "autogen.sh" after updating.
  5380. 2004-04-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5381. * Don't allow one Pluggable to be plugged in two Connectors at once
  5382. * Also send update event when media is ejected (diska eject)
  5383. * Experimental:
  5384. delay input events (currently by a fixed time) to avoid key misses
  5385. 2004-04-09 Maarten ter Huurne <maarten@treewalker.org>
  5386. * Added support for compilation on FreeBSD 5.
  5387. Thanks to Jorito for providing a working environment to test on.
  5388. 2004-04-07 Maarten ter Huurne <maarten@treewalker.org>
  5389. * Several changes to the build system; the main visible effect is
  5390. that all generated files are now in "derived".
  5391. You should re-run "autogen.sh" after updating.
  5392. 2004-04-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5393. * Generate update event for media change
  5394. * Implemeneted "openmsx_info connectionclass" info topic:
  5395. - "openmsx_info connectionclass" returns all connectionclasses
  5396. - "openmsx_info connectionclass [pluggable / connection]" shows
  5397. the class to which this 'thing' belongs
  5398. * Copied "oversleep compensation" from old realtime sync algorithm to
  5399. new algorithm:
  5400. - this helps to keep openMSX running at a reasonable speed when it
  5401. has to compete with other CPU hungry processes
  5402. 2004-04-06 Reikan <openMSX4Win32@ranpub.com>
  5403. * Added link libs to platform-x86-mingw32.mk. Thanks to Honda.
  5404. * Reverted AC_CANONICAL_SYSTEM in configure.ac.
  5405. We need it to let automake prepare config.guess and config.sub.
  5406. * Removed check for tcl8.3 because makefiles don't support anyway.
  5407. * Added some tiny checks for libs in configure based on suggestion
  5408. from Manuel.
  5409. 2004-04-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5410. * Simplified RealTime class:
  5411. added Timer class (had to rename existing Timer class to EmuTimer)
  5412. removed RTC synchronziation (linux) because it was complicated and
  5413. didn't really improve anything
  5414. * Force a realtime sync 8 times per second (real time):
  5415. - now music stays more or less ok with large frameskips
  5416. (set minframeskip 100) and very low speed settings (set speed 10)
  5417. - disadvantage: auto frame skip is much less effective for value
  5418. above 6 or 7 (set maxframeskip 7)
  5419. 2004-04-05 Maarten ter Huurne <maarten@treewalker.org>
  5420. * Minimized usage of auto*:
  5421. - only run configure checks of which we actually use the results
  5422. - use "sizeof(bool)" instead of "SIZEOF_BOOL":
  5423. a lot simpler and the generated code is equally efficient
  5424. - dropped libtool
  5425. Thanks to Reikan for his patch from which I copied at lot.
  5426. 2004-04-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5427. * Changed frameskip setting:
  5428. there is no explicit frameskip "auto" anymore, instead the framskip
  5429. setting indicated the maximum allowed number of frameskip.
  5430. * Don't skip frames on small CPU usage spikes
  5431. * Renamed "frameskip" setting to "maxframeskip"
  5432. * Added new "minframeskip" setting
  5433. 2004-04-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5434. * Implemented different frameskip and real time sync algorithm
  5435. * Fixed "[ 915747 ] sprites are not visible on display line 0"
  5436. * Skipped frames are now reflected in fps statistics
  5437. * Made "frameskip auto" the default
  5438. 2004-03-29 Maarten ter Huurne <maarten@treewalker.org>
  5439. * Made new ("alternative") build system default:
  5440. GNUmakefile is picked up by GNU Make before Makefile is.
  5441. 2004-03-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5442. * Added generic info command to query the possible values for
  5443. EnumSettings.
  5444. 2004-03-28 Manuel Bilderbeek <manuel@msxnet.org>
  5445. * Added info command for 'accuracy' setting
  5446. 2004-03-27 Herman Oudejans <hn.oudejans@quicknet.nl>
  5447. * update events are now disabled by default.
  5448. 2004-03-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5449. * Implemented simple subsription mechanism for update events:
  5450. - openmsx command "update <enable|disable> <type>"
  5451. - for now all update events are still enabled by default, but when
  5452. catapult is adjusted I'd like to disable them by default
  5453. 2004-03-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5454. * Only the init.tcl file from the system directory is now executed by
  5455. openmsx. However the default init.tcl file does source a init.tcl
  5456. file in the user directory
  5457. !!! you probably need to redo a "make install" because of this !!!
  5458. * The default (system) init.tcl now automatically sources all .tcl
  5459. files in the user and system scripts/ directory (it prefers the
  5460. script in the user dir if it exists in both)
  5461. 2004-03-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5462. * Fixed unexpected exception problem in combination with NPTL threading
  5463. library (Debian unstable)
  5464. * Generated update events on setting changes:
  5465. - maybe we should supress these when not in 'control' mode? Ideally
  5466. we make a control these via a publisher/subsriber pattern.
  5467. * Generate update evvents for plug/unplug
  5468. 2004-03-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5469. * Don't instantiate CassettePlayer when there is no CassettePort
  5470. 2004-03-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5471. * Implemented a very basic fps indicator
  5472. * Don't send fps as 'update' events, but make it queryable
  5473. * Fixed overflow problem in SoundDevice code
  5474. 2004-03-17 Maarten ter Huurne <maarten@treewalker.org>
  5475. * Do not copy captured GL frame back the the frame buffer
  5476. if the same image is still there.
  5477. Thanks to Herman for finding this problem.
  5478. 2004-03-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5479. * Fixed debugger assertion:
  5480. - scheduler did not notice the CPU stopped early because of
  5481. breakpoint
  5482. - the whole CPU <-> Scheduler interaction is a bit of a mess, need
  5483. to clean this up someday
  5484. 2004-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5485. * Screenshot 'feedback' was only given for non-GL renderer, moved code
  5486. to a common (gl / non-gl) code path.
  5487. 2004-03-16 Herman Oudejans <hn.oudejans@quicknet.nl>
  5488. * Fixed saving persistent data in windows (SRAM, cmos, history)
  5489. 2004-03-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5490. * Proper XML escaping for results from comm protocol
  5491. 2004-03-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5492. * Reduce memory usage in Y8950Adpcm:
  5493. - found by massif (part of valgrind)
  5494. * Fixed HBI-55: address 0 is read only and contains 0x53
  5495. * Changed (un)bind command:
  5496. - a key can now only be bound to one command, this solves the
  5497. "toggle + toggle = nop" problem
  5498. - if you still want to bind multiple things to one key you can
  5499. define a proc or bind something like "foo ; bar"
  5500. 2004-03-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5501. * Another config refactoring:
  5502. - split MSXConfig in hardware and settings part
  5503. - merge Config and Device class
  5504. * Use ugly macro iso template in NonInheritable class:
  5505. - hopefully this works on all compilers, if not (or if it's
  5506. too ugly) we can just remove this class
  5507. * Compilation fixes for icc
  5508. * Extended CPU debuggable:
  5509. - IM can now be read at position 26
  5510. - IFF1 and IFF2 can be read as bit 0 and 1 on position 27
  5511. * Made SCC debuggable
  5512. 2004-03-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5513. * Implemented "type" command:
  5514. - replaces KeyEventInserter
  5515. - TODO documentation
  5516. correct ascii->keymatrix table
  5517. better name for command?
  5518. 2004-03-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5519. * More config cleanups:
  5520. - don't build and parse xml in memory anymore, directly build
  5521. correct datastructure
  5522. - temp broke KeyEventInserter, will be replaced by a console command
  5523. 2004-03-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5524. * More config cleanups
  5525. 2004-03-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5526. * Made Y8950 (MSX-AUDIO) debuggable
  5527. * Deleted debug view related files:
  5528. they were not used anymore and doxygen didn't like them
  5529. * Made MoonSound debuggable
  5530. * Made MSX-AUDIO sample RAM debuggable
  5531. 2004-03-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5532. * Made memory mapper debuggable
  5533. * Made YM2413 (MSX-MUSIC) debuggable
  5534. * Made AY8910 (PSG) debuggable
  5535. 2004-03-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5536. * Implemented R800 refresh delay:
  5537. - every 180 cycles stall for 20 cycles.
  5538. Are these numbers correct? I have to different contradicting
  5539. sources for these numbers. (180 and 20 are in between the
  5540. numbers of my sources)
  5541. * R800 IO operations takes 3 cycles:
  5542. - S1990 adds two extra wait cycles cycles
  5543. 2004-03-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5544. * Improved R800 timing, implemented CAS/RAS optimization:
  5545. - when the high byte of the address of a read is the same as that
  5546. of a previous read, the R800 doesn't resend this byte and thus
  5547. saves a clockcycle
  5548. - I vaguely remember this only happens for opcode fetches, is this
  5549. true??
  5550. 2004-03-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5551. * Made openmsx_info command return lists in TCL format
  5552. 2004-02-29 Maarten ter Huurne <maarten@treewalker.org>
  5553. * Fixed bug in command engine: when switching display mode while a
  5554. command is running, the command's progress was lost.
  5555. This bug was introduced in the refactoring of 2004-02-17.
  5556. * Improved rendering of transparent pixels in Graphic5 (SCREEN6).
  5557. It's still not perfect though: real VDP can render even and odd
  5558. transparent pixels in different colours, just like the border.
  5559. 2004-02-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5560. * Fixed 2nd drive detection bug on MB8877 based machines
  5561. 2004-02-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5562. * Also do tab-completion for build-in TCL-commands and user defined
  5563. TCL procs
  5564. * Fixed sprite collision bug:
  5565. sprites cannot collide when isDisplayEnabled() is false
  5566. 2004-02-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5567. * Implemented "vramdump" command as a TCL script
  5568. 2004-02-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5569. * TCL command speedups:
  5570. - avoid "int -> string -> int" conversions on command results
  5571. * 2 new debug commands:
  5572. - read_block, write_block (WIP)
  5573. 2004-02-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5574. * Made abstract Interpreter class:
  5575. - TCLinterpreter is (the only) subclass
  5576. - all other code is TCL independent
  5577. 2004-02-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5578. * added scripts directory
  5579. * added multi_screenshot script
  5580. 2004-02-21 Herman Oudejans <hn.oudejans@quicknet.nl>
  5581. * fixed FileOperations.cc for win32. setenv doesn't exist in mingw
  5582. 2004-02-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5583. * Set OPENMSX_USER_DATA and OPENMSX_SYSTEM_DATA environment variables
  5584. 2004-02-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5585. * Implemented "after break" command
  5586. * Path calculation cleanup:
  5587. moved all path calculations to the FileOperations class
  5588. 2004-02-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5589. * Implemented master volume setting (range 0..100). Changed volume
  5590. setting of other devices to 0..100 as well.
  5591. 2004-02-17 Maarten ter Huurne <maarten@treewalker.org>
  5592. * VDPCmdEngine refactoring: replaced macros by templates and switch
  5593. statements by virtual method calls. (committed by Wouter)
  5594. 2004-02-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5595. * Improved CPU timing, both Z80 and R800
  5596. 2004-02-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5597. * Implemented "after frame" command:
  5598. - now it's possible to write a multi_screenshot TCL script (i've
  5599. already made such a script)
  5600. 2004-02-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5601. * Made CommandConsole SDL independent
  5602. 2004-02-11 Maarten ter Huurne <maarten@treewalker.org>
  5603. * Implemented firmware switch for Panasonic FS-A1FM.
  5604. Use "set frontswitch true" to boot internal software.
  5605. 2004-02-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5606. * FDC code changes:
  5607. - code cleanups / maybe fixes (at least more robust code now)
  5608. - changed track0 signal value for not connected drive
  5609. 2004-02-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5610. * Refactored EventDistributor to be SDL independent (WIP)
  5611. 2004-02-08 Maarten ter Huurne <maarten@treewalker.org>
  5612. * Added support for compilation on FreeBSD.
  5613. Thanks to ag0ny for providing a working environment to test on.
  5614. 2004-02-07 Reikan <openMSX4Win32@ranpub.com>
  5615. * Fixed error when reading init.tcl on win32.
  5616. 2004-02-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5617. * Changed default init.tcl to only bind unbounded keys:
  5618. should solve the "toggle + toggle = nop" problem
  5619. * Implemented 6MHz (5.3MHz actually) mode for Panasonic MSX2+ machines
  5620. * Refactored RealTime classes:
  5621. - algorithm in RealTimeRTC was broken, refactored the code so that
  5622. RealTimeSDL and RealTimeRTC share the same syncing algorithm
  5623. - the algorithm itself still needs to be improved
  5624. 2004-02-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5625. * Handle unknown tags in control protocol more gracefully
  5626. * Same for parser in Contrib/openmsx-control.cc
  5627. 2004-02-03 Maarten ter Huurne <maarten@treewalker.org>
  5628. * Perform less renderer syncs on VRAM writes:
  5629. - skip sync if written value equals the current value in VRAM
  5630. - only sync if scan region contains written VRAM address
  5631. (currently only checked in Graphic2/3 modes)
  5632. 2004-02-01 Maarten ter Huurne <maarten@treewalker.org>
  5633. * Simplified rendering interface and code:
  5634. - unified putImage and putStoredImage
  5635. - introduced frameEnd, moved some of the old putImage code there
  5636. 2004-01-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5637. * Changed the XML format of the CliComm protocol:
  5638. - the new format is not compatible with the old version
  5639. - the example parser Contrib/openmsx-control.cc can handle both
  5640. formats (except for the LED updates)
  5641. 2004-01-30 Reikan <openMSX4Win32@ranpub.com>
  5642. * Fixed strange build error of FileOperations.cc.
  5643. It would be becauseof "gthreads vs w32api".
  5644. * Fixed broken "Makefile.am"s.
  5645. * Adjusted configure.ac and Makefile.am to accpet libtcl84.a on MinGW.
  5646. 2004-01-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5647. * Made cpu frequency switchable at-run-time:
  5648. in console: set z80_freq_locked off ; set z80_freq 12345678
  5649. 2004-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5650. * Use DATADIR variable set by configure:
  5651. not yet well tested
  5652. 2004-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5653. * Removed obsolete "alias" command:
  5654. for backwards compatibilty there is an "alias" proc defined in
  5655. init.tcl
  5656. * Use PAUSE LED also for the openMSX pause command:
  5657. patch contributed by Tetsuo Honda
  5658. * Debug device now prints time in Z80 ticks (3.58MHz), instead of
  5659. internal ticks. This way we can change the internal tick resolution
  5660. without changing the debug device output.
  5661. * Dropped support for MD5 hashes, they were already deprecated for a
  5662. few releases.
  5663. 2004-01-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5664. * Integrated TCL scripting
  5665. * Execute share/init.tcl at startup, marked AutoCommands deprecated
  5666. 2004-01-20 Maarten ter Huurne <maarten@treewalker.org>
  5667. * Bound quit to ctrl-break by default.
  5668. 2004-01-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5669. * Implemented key modifiers for bind command:
  5670. example: bind CTRL+ALT+DELETE quit
  5671. 2004-01-19 Maarten ter Huurne <maarten@treewalker.org>
  5672. * Integrated FDC fixes by Tetsuo Honda:
  5673. 1. FDD LED on Turbo R FDC (TC8566AF)
  5674. 2. Disk change signal
  5675. 3. Drive detection (1 or 2 drives connected)
  5676. 4. Empty drive behaviour ("Disk offline")
  5677. 2004-01-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5678. * Changed RAM in FS-A1FM mapper into SRAM, but unfortunately this
  5679. doesn't solve the problem (openmsx-Bugs-826066)
  5680. 2004-01-16 Maarten ter Huurne <maarten@treewalker.org>
  5681. * Released openmsx-0.3.4.
  5682. 2004-01-15 Maarten ter Huurne <maarten@treewalker.org>
  5683. * Added Scheduler::setAsyncPoint, which works like setSyncPoint,
  5684. but is safe to call from other threads.
  5685. Fixes asserts with "-control" and MIDI in.
  5686. 2004-01-11 Maarten ter Huurne <maarten@treewalker.org>
  5687. * Added "dist" target to alternative.mk. Now it is possible to make
  5688. a release tarball in the alternative build system.
  5689. 2004-01-11 Manuel Bilderbeek <manuel@msxnet.org>
  5690. * Added a "boosted" MSX2 config:
  5691. - European MSX2 config with lots of extensions, see README in its
  5692. dir
  5693. - still experimental, needs testing...
  5694. 2004-01-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5695. * Fix VDP bug:
  5696. - out (#99), xx / OUT (#99),%11xxxxxx is NOT a register write
  5697. still have to figure out what it does (if anything)
  5698. - fixes "SNOW26" demo
  5699. * Fixed midi-out-logger bug:
  5700. - once plugging failed (file not writable) it kept failing
  5701. - same for RS232Tester
  5702. * Fixed "Jump Jump" part or "UR" demo for SDLGL renderer
  5703. * Made EnumSetting case-insensitive
  5704. 2004-01-08 Maarten ter Huurne <maarten@treewalker.org>
  5705. * Implemented new deinterlacer for SDLHi.
  5706. 2004-01-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5707. * Fixed crash when trying to save screenshot to read-only directory
  5708. * Save screenshots in ~/.openMSX/screenshots (only when filename is not
  5709. explicitly given)
  5710. * Fixed bug in Y8950:
  5711. also reset IRQ in reset() method
  5712. 2004-01-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5713. * Updated control-type selection code (written by tcm1998):
  5714. - generate error for unknown control types
  5715. - "pipe" is (currently) not a valid type for linux
  5716. 2004-01-04 Reikan <openMSX4Win32@ranpub.com>
  5717. * Fix SDL_Video subsystem initialization.
  5718. This fix boot up unstability.
  5719. * Renamed win32 native midi.
  5720. out:
  5721. midi -> midi-out
  5722. midi* -> midi-out-*
  5723. in:
  5724. midi* -> midi-in-*
  5725. 2004-01-04 Manuel Bilderbeek <manuel@msxnet.org>
  5726. * Implemented "info scaler"
  5727. 2004-01-03 Maarten ter Huurne <maarten@treewalker.org>
  5728. * Separated Scalers.hh/cc into Scaler, SimpleScaler and SaI2xScaler.
  5729. 2003-12-30 Maarten ter Huurne <maarten@treewalker.org>
  5730. * Fixed Scale2x scaler: one pixel too many per line was scaled,
  5731. which lead to out-of-range memory writes.
  5732. * Fixed "random pixel" bug in pixelacc SDLRenderer.
  5733. The width of a display rectangle was rounded incorrectly,
  5734. leaving a 1-pixel wide gap in which the previous frame was visible.
  5735. 2003-12-29 Maarten ter Huurne <maarten@treewalker.org>
  5736. Various alternative.mk improvements:
  5737. * Automatic generation of config.h.
  5738. * Changed OPENMSX_PLATFORM format from OS-CPU to CPU-OS.
  5739. * Integrated support for compiling with ICC 8.0.
  5740. You can select ICC with "export OPENMSX_PLATFORM=x86-linux-icc".
  5741. Note that if a header file is removed, incremental compile will abort
  5742. with an error. Workaround: manually remove the dependency file.
  5743. 2003-12-27 Maarten ter Huurne <maarten@treewalker.org>
  5744. * Fixed console drawing in SDLLo during pause.
  5745. 2003-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5746. * Implemented automatic filename generation for screenshot feature
  5747. 2003-12-23 Maarten ter Huurne <maarten@treewalker.org>
  5748. * Integrated Mac OS X patches from Jalu.
  5749. * Fixed rendering of sprites in SCREEN7.
  5750. 2003-12-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5751. * Fixed reset problems (again):
  5752. reset could go wrong when it was given in the middle of a CPU
  5753. instruction, now wait till the end of the instruction
  5754. * Integrated Joost's screenshot code:
  5755. - no automatic filename generation yet
  5756. 2003-12-22 Maarten ter Huurne <maarten@treewalker.org>
  5757. * Separated Settings.hh into one file per class.
  5758. 2003-12-21 Maarten ter Huurne <maarten@treewalker.org>
  5759. * Removed RendererSwitcher and FullScreenToggler. They were useful
  5760. back when openMSX was multi-threaded, but are useless now.
  5761. * Various code layout cleanups.
  5762. 2003-12-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5763. * Fixed a lot (not all) ICC compile remarks, mostly virtual
  5764. destructors for base classes
  5765. 2003-12-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5766. * VDP pause frame cleanups:
  5767. always store the last frame (was already like this for SDLHi/SDLLo,
  5768. and also for SDLGL when some effect was used). This simplifies the
  5769. pause code. It also fixes the image when breakpoints are used. And
  5770. it will make the screenshot feature integration easier.
  5771. * Fixed ICC 8.0 compile warnings.
  5772. 2003-12-16 Maarten ter Huurne <maarten@treewalker.org>
  5773. * Fixed ICC 8.0 compile errors.
  5774. 2003-12-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5775. * implemented "debug break"
  5776. * added a hack to make the "boring scroll" demo part of "Relax" work
  5777. 2003-12-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5778. * remove VDP sync points on reset
  5779. 2003-12-13 Maarten ter Huurne <maarten@treewalker.org>
  5780. * Optimized hq2x scaler:
  5781. - Fixed inlining of methods.
  5782. For some reason g++ cannot inline if the methods are defined as
  5783. HQ2xScaler<word>::method and <unsigned int>, but when using
  5784. HQ2xScaler<Pixel>:: with an if-statement inside, inlining does work.
  5785. - Split the giant switch-statement into 4 smaller ones (one per output
  5786. pixel). Makes a huge difference in object size (123K -> 33K).
  5787. - Many small optimizations all over the code.
  5788. 2003-12-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5789. * Implemented cpu debugger:
  5790. the following commands exist now:
  5791. debug set_bp <addr>
  5792. debug remove_bp <addr>
  5793. debug list_bp
  5794. debug cont
  5795. debug step
  5796. during a break the vdp output is not yet correct
  5797. 2003-12-11 Joost Yervante Damad <joost@lumatec.be>
  5798. * removed obsolete README.WIN32
  5799. 2003-12-10 Maarten ter Huurne <maarten@treewalker.org>
  5800. * Fixed SDLLo: rendered image did not show up on visible screen.
  5801. 2003-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5802. * Implemented "keymatrixup" and "keymatrixdown" commands
  5803. 2003-12-09 Maarten ter Huurne <maarten@treewalker.org>
  5804. * Integrated hq2x algorithm:
  5805. http://www.hiend3d.com/hq2x.html
  5806. Use "set scaler hq2x" in the SDLHi renderer to activate it.
  5807. The code can use some cleanup and tuning, but in most cases it works.
  5808. * Fixed bug: lines were scaled by the wrong factor when a frame contains
  5809. both 256-wide and 512-wide lines, such as Psycho World intro.
  5810. 2003-12-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5811. * added a 'safe' getCurrentTime() method in Scheduler, and use this
  5812. instead of the getCurrentTime() method in MSXCPU. Renamed the latter
  5813. to getCurrentTimeUnsafe(). See also comments in MSXCPU.hh
  5814. * Only quit scheduler loop when it's not being called resursively, see
  5815. comments in Scheduler.cc
  5816. 2003-12-07 Maarten ter Huurne <maarten@treewalker.org>
  5817. * Integrated Scale2x algorithm:
  5818. http://scale2x.sourceforge.net/
  5819. Use "set scaler scale2x" in the SDLHi renderer to activate it.
  5820. Unlike 2xSaI, Scale2x never blurs.
  5821. 2003-12-06 Maarten ter Huurne <maarten@treewalker.org>
  5822. * Create a scaler object once it becomes active, instead of creating all
  5823. scalers in advance. This reduces memory usage when the number of
  5824. scalers increases or some scalers use large lookup tables.
  5825. * Made Scaler base class a template. Preparation for later changes.
  5826. * Removed upscaling from SDLRenderer/CharacterConverter/BitmapConverter.
  5827. Instead, all upscaling is done by the scaler implementation.
  5828. The only scaling remaining outside is the downscaling (pixel blending
  5829. in SDLLo).
  5830. There is still some cleanup to do, for example deinterlace should be
  5831. re-implemented outside of drawDisplay.
  5832. 2003-12-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5833. * Made memory in (sub)slots debuggable
  5834. * fixed bug in wait() method of CPU (order of statements problem):
  5835. fixes the reset on turbor crash
  5836. * "cassetteplayer" doesn't crash anymore on non-existing filenames
  5837. * use HAVE_LINUX_RTC_H instead of NO_LINUX_RTC, makes it easier to
  5838. port to non-linux platforms
  5839. 2003-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5840. * Fixed "Back to the Future" hang:
  5841. romtype was wrongly detected, in romdb.xml the romtype was
  5842. specified as "PLAIN", but for this type we still need to guess the
  5843. start location in memory. Changed romtype in romdb.xml to "PAGE12"
  5844. * Added high-pass IIR filter to mixer:
  5845. this greatly reduces clipping in applications that leave a sound
  5846. channel at a constant non-zero value (e.g. catman)
  5847. * Fixed rendering of undocumented modes in GL renderer:
  5848. "Back to the Future" (tape version) triggered an assertion
  5849. because of this
  5850. 2003-12-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5851. * made VDP status registers debuggable
  5852. 2003-12-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5853. * Implemented IO device multiplexing:
  5854. - several IO devices can now share the same IO port. When CPU
  5855. writes to a shared port, all devices receive the write. When
  5856. CPU read from a shared port, all devices readIO() method is
  5857. called, but the return value of only one device is returned
  5858. to the CPU.
  5859. - this fixes the "openmsx -machine turbor -ext fmpac" problem
  5860. 2003-12-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5861. * made vdp registers debuggable
  5862. 2003-11-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5863. * made memory (64kb currently visible memory) debuggable
  5864. * made IO ports debuggable
  5865. * made vram debuggable
  5866. 2003-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5867. * Added example implementation for bidirectional communication with
  5868. openMSX (aka CliCommunicator) in Contrib
  5869. * Implemented "debug" command infrastructure. For now only the CPU
  5870. registers can be read or written.
  5871. 2003-11-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5872. * When started with "-control" openmsx now automatically selects the
  5873. "none" renderer. The launcher should send a "restoredefault
  5874. renderer" command to enable the display.
  5875. 2003-11-19 Maarten ter Huurne <maarten@treewalker.org>
  5876. * Extended Scaler interface to scale modes of 512-pixels wide as well.
  5877. These modes are scaled in the vertical direction only.
  5878. * Implemented vertical-only scaling for "simple" and "2xsai".
  5879. * Minor cleanup of SaI2xScaler class.
  5880. 2003-11-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5881. * Implemented "restoredefault" command
  5882. 2003-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5883. * made alternative YM2413 (MSX-MUSIC) the default
  5884. 2003-11-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5885. * Implemented per-pixel-alpha-blending for SDLConsole and SDLFont:
  5886. - if whole image has the same alpha value, we use per surface
  5887. alpha blending to speed up blitting
  5888. 2003-11-16 Reikan <openMSX4Win32@ranpub.com>
  5889. * Quick fix for console input after switched renderer.
  5890. 2003-11-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5891. * Major singleton-cleanup:
  5892. - circular dependency where already fixed
  5893. - now also fixed construction order. All singletons classes that
  5894. are used by some other singlton must be constructed before this
  5895. singlton is constructed. Done by constructing all dependant
  5896. singltons in the constructor of this singleton. This also
  5897. prevents new circular dependencies in the future.
  5898. - because of these two points it's now save to destruct all
  5899. singletons (before some were never destructed)
  5900. - instance() method now returns a reference instead of a pointer
  5901. - I'll post a more detailed explanation to openmsx-devel soon
  5902. * Fixed hd image file creation:
  5903. - automatically create or enlarge hd-image when the specified file
  5904. doesn't exist or is too small
  5905. 2003-11-16 Reikan <openMSX4Win32@ranpub.com>
  5906. * Fixed "hollible slow down when open console in fullscreen on SDLHi"
  5907. at Win32.
  5908. 2003-11-16 Maarten ter Huurne <maarten@treewalker.org>
  5909. * Implemented scanlines for SDLHi.
  5910. 2003-11-15 Manuel Bilderbeek <manuel@msxnet.org>
  5911. * Moved initialization of SDL Video to RendererFactory.
  5912. * Added Ren-Sha Turbo device to machines which have it.
  5913. 2003-11-15 Maarten ter Huurne <maarten@treewalker.org>
  5914. * Modified Scheduler to only schedule ASAP sync points during pause.
  5915. Also made ASAP resolve to CPU's current time instead of target time.
  5916. * Delayed start of new frame until unpause.
  5917. If a renderer keeps state to reproduce the image other than the pixels
  5918. themselves, this state remains available during pause.
  5919. * Made SDLHi renderer react to scaler changes while paused.
  5920. 2003-11-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5921. * Split EventDistrubutor in EventDistributor and AfterCommand:
  5922. - together with the "quit" cmd move this removes the circular
  5923. dependency between EventDistributor and Scheduler
  5924. * Reversed dependency between Mixer and Scheduler:
  5925. - Mixer now depends on Scheduler (for mute when paused) instead of
  5926. the other way around
  5927. * Removed circular dependency between RealTime and Scheduler
  5928. * Split Settings.hh in Settings.hh and SettingListener.hh
  5929. * Removed circular dependency between Scheduler and MSXMotherBoard:
  5930. - MSXMotherBoard no longer needs to be a singleton
  5931. - I have to double check, but I think this was the last circular
  5932. dependency between singletons
  5933. 2003-11-14 Maarten ter Huurne <maarten@treewalker.org>
  5934. * Performance fixes for SDLHi.
  5935. Thanks to Reikan for finding a solution to the slowness.
  5936. 2003-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5937. * HotKey is no longer a singleton:
  5938. - not required anymore since everything is done by bind cmds
  5939. - fixes circular dependency between HotKey and EventDistributor
  5940. * Moved "quit" command from EventDistributor to Scheduler
  5941. 2003-11-11 Manuel Bilderbeek <manuel@msxnet.org>
  5942. * Added DummyRenderer (set renderer none)
  5943. * TODO:
  5944. - only register the renderer in the settingmap in CliComm mode
  5945. - move SDL video (de)initialization to superclass of SDL based
  5946. renderers (feel free to implement this! ;-), to fix problem that
  5947. the window of the previous renderer doesn't disappear
  5948. 2003-11-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5949. * Fixed crash when trying to define an alias with the same name as an
  5950. existing command
  5951. * Split CliCommunicator in CliCommInput and CliCommOutput:
  5952. - first step to get rid of circular dependencies between singletons
  5953. 2003-11-10 Maarten ter Huurne <maarten@treewalker.org>
  5954. * Integrated part of Reikan's SDLRenderer patch:
  5955. - added missing SDL_LockSurface calls when accessing surfaces directly
  5956. - do not blit from a surface to itself, instead use memcpy
  5957. (apparently DirectX doet not like blit source equal to destination)
  5958. - make SDLHi and SDLLo double buffered
  5959. 2003-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5960. * Fixed crash on resursive aliasses:
  5961. - these commands
  5962. alias foo bar ; alias bar foo ; foo
  5963. generate an error now
  5964. 2003-11-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5965. * Refactored MSXMapperIO:
  5966. - MSXMapperIO is no longer a singleton, this solves the destruction
  5967. order problem between MSXMapperIO - MSXMemoryMapper
  5968. - possibly the crash on power off is solved by this
  5969. - machine configs still need to be updated
  5970. 2003-11-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5971. * Implemented "info time"
  5972. * Implemented "after" command (see doc/commands.txt)
  5973. * Implemented noise effect (power off) for SDLRenderer
  5974. 2003-11-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5975. * Refactored Scheduler:
  5976. - there is now only one scheduler loop anymore
  5977. - fixes the 'still schedule a bit even though emulation is pauzed'
  5978. bug
  5979. 2003-11-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5980. * Implemented 'alias' and 'unalias' commands
  5981. 2003-11-03 Maarten ter Huurne <maarten@treewalker.org>
  5982. * Added inbetween image in SDLRenderer, to allow postprocessing.
  5983. Hopefully, this will also reduce flicker on Win32.
  5984. * Integrated 2xSaI scaler algorithm by Derek Liauw Kie Fa:
  5985. http://elektron.its.tudelft.nl/~dalikifa/
  5986. You can activate it with "set scaler 2xsai".
  5987. For now, it only works in the SDLHi renderer.
  5988. 2003-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5989. * Implemented 'snow effect' for GLRenderer (try set power off)
  5990. 2003-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5991. * Implemented "power" setting:
  5992. display is still wrong in power off mode
  5993. 2003-11-01 Maarten ter Huurne <maarten@treewalker.org>
  5994. * Added "createsubs" target to "alternative.mk":
  5995. this creates a Makefile in every source directory
  5996. which builds only the sources in that directory.
  5997. 2003-10-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  5998. * Don't continuously redraw screen while paused
  5999. 2003-10-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6000. * Removed "-config" cmdline option / .xml cmdline file-type:
  6001. were long time ago replaced by -machine / -ext / -setting
  6002. 2003-10-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6003. * Added descriptions to sounddevices:
  6004. can be queried with "info sounddevice <name>"
  6005. 2003-10-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6006. * commands can only throw CommandExceptions
  6007. * fixed possible resource leaks caused by thrown exceptions
  6008. 2003-10-26 Maarten ter Huurne <maarten@treewalker.org>
  6009. * Fixed clipping code in SDLRenderer::drawDisplay and drawSprites.
  6010. Matra games (which use overscan) have a stable image now.
  6011. 2003-10-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6012. * Moved command classes to new subdir
  6013. * Added info command infrastructure
  6014. * Added "info version" command
  6015. * Added "info pluggable" and "info connector"
  6016. * Added "info sounddevice"
  6017. * Added "info renderer"
  6018. * Fixed bug: SDL must be initialized before we parse the cmd line,
  6019. because the "-control" option creates a new thread
  6020. * Added descriptions to pluggables:
  6021. can be queried with "info pluggable <name>"
  6022. * Added descriptions to connectors:
  6023. can be queried with "info connector <name>"
  6024. 2003-10-24 Manuel Bilderbeek <manuel@msxnet.org>
  6025. * Added -v cli option to get version number of openMSX
  6026. 2003-10-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6027. * Added "-control" cli option to enable CliCommunicator:
  6028. - commands are accepted on stdin
  6029. - output is in XML
  6030. 2003-10-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6031. * Converted CliCommunicator to take XML input
  6032. * replaced PRT_INFO macro with printInfo(), printWarning() or
  6033. printUpdate()
  6034. 2003-10-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6035. * Added truncate() method to File classes
  6036. * use unsigned iso int for file size and file position
  6037. 2003-10-19 Maarten ter Huurne <maarten@treewalker.org>
  6038. * Moved some low-level GL stuff from SDLGLRenderer to GLUtil.
  6039. * Changed GL implementation of SCREEN1 to render in cached blocks
  6040. instead of lines.
  6041. * Abort VDP command when switching to non-bitmap mode.
  6042. Fixes assert in Psycho World stage 4.
  6043. 2003-10-19 Reikan <openMSX4Win32@ranpub.com>
  6044. * Call SDL_Quit() also when exit by error.
  6045. This will fix crash(Win9x)/hang(Win2k/XP) on error exit.
  6046. 2003-10-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6047. * Fixed VDP command timing:
  6048. - the updateTiming() method did a sync() with the old register
  6049. values (correct). But also updated the timimng variable with the
  6050. old register values (wrong).
  6051. - fixes "Coding Melpots" part in "Metal Limit"
  6052. * Replaced all PRT_ERROR macros with 'throw FatalError'
  6053. 2003-10-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6054. * Added "incr" and "decr" console commands
  6055. 2003-10-14 Manuel Bilderbeek <manuel@msxnet.org>
  6056. * Added provisional FDD LED emulation:
  6057. - works only when the emulated FDC uses the DiskDrive class
  6058. - LED goes on when diskdrive motor is on (not always correct!)
  6059. - IDEHD also turns on FDD LED, when there is a read or write action
  6060. - all possible FDD LEDs are ORed with each other
  6061. * Implemented boolean setting 'turborpause', which sets the pause
  6062. function of the MSX turbo R. TODO: pause function of other MSX
  6063. computers like Sony HB-501 and MSX2+ machines (setting may need to
  6064. be renamed!)
  6065. 2003-10-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6066. * Continue VDP Cmds on display mode switch:
  6067. - current implementation may not be 100% correct, but it's better
  6068. than just aborting the cmd (fixes feedback bug)
  6069. 2003-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6070. * Autofire code cleanups / simplifications
  6071. 2003-10-09 David Heremans <david.heremans@gnu-linux.net>
  6072. * Forgot to commit some autofire code
  6073. * Adapted code to new Commands interface
  6074. 2003-10-12 Maarten ter Huurne <maarten@treewalker.org>
  6075. * VDP fix: fixed assert in SpriteChecker.
  6076. 2003-10-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6077. * Added CliCommunicator:
  6078. - external programs can now use stdin/stdout to pass/read commands
  6079. to/from openMSX. Very usefull for launchers or GUIs.
  6080. * CliCommunicator cmds are now scheduled so they get executed by the
  6081. main emulation thread
  6082. 2003-10-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6083. * Turn LEDs off when openmsx quits
  6084. * Refactored Commands interface:
  6085. - commands should now return a string instead of calling the
  6086. print() method to display stuff in the console.
  6087. 2003-10-09 David Heremans <david.heremans@gnu-linux.net>
  6088. * integrated renshaturbo from Alex into openMSX:
  6089. fixed the namespace in Alex code
  6090. 2003-10-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6091. * Fixed VDP TR bit bug (fixes Ys-2):
  6092. - TODO HMMC cmd can be simplified a lot
  6093. 2003-10-08 Maarten ter Huurne <maarten@treewalker.org>
  6094. * VDP fix: force renderer sync on sprite enable change.
  6095. 2003-10-08 Joost Yervante Damad <joost@lumatec.be>
  6096. * added initial screenshot support:
  6097. the .png part is working and I tested it by
  6098. hacking it into SDLRenderer, but I think someone
  6099. more knowledgable of the openmsx internals should
  6100. actually hook up the code
  6101. 2003-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6102. * VDP fix:
  6103. - Mode and blank bits any have effect at the next line
  6104. 2003-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6105. * Fixed command/debug console settings
  6106. 2003-10-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6107. * It seems MSX-AUDIO sampleram is mirrored. This fixes sample loading
  6108. in "Revolution".
  6109. 2003-10-04 Herman Oudejans <hn.oudejans@quicknet.nl>
  6110. * If the moderegister of the debugdevice is written to and bit 6
  6111. of that same register is set, newlines will not be output.
  6112. 2003-10-04 Maarten ter Huurne <maarten@treewalker.org>
  6113. * Split off SettingsManager to separate source files.
  6114. * Split off SettingNode and other namespace classes to separate sources.
  6115. 2003-10-03 Herman Oudejans <hn.oudejans@quicknet.nl>
  6116. * Remove buffering from the debugdevice.
  6117. 2003-10-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6118. * Implemented 'vdpcmdtrace' setting
  6119. * Fixed VDP commands that had SX/DX >= screen-width
  6120. 2003-09-30 Manuel Bilderbeek <manuel@msxnet.org>
  6121. * Added the Debug Device to the User's Manual
  6122. * Small additions, fixes and clean ups in the User's Manual
  6123. 2003-09-27 Maarten ter Huurne <maarten@treewalker.org>
  6124. * Released openmsx-0.3.3.
  6125. 2003-09-24 Maarten ter Huurne <maarten@treewalker.org>
  6126. * Major rewrites and editing in Setup Guide.
  6127. Thanks to Manuel for preparing the file for me.
  6128. 2003-09-22 Reikan <openMSX4Win32@ranpub.com>
  6129. * Add MIDI support for Win32.
  6130. It's missing to know association between parameter names and
  6131. real device. Ok. we'll call it as TODO.
  6132. 2003-09-21 Herman Oudejans <hn.oudejans@quicknet.nl>
  6133. * Made the debugger optional. If the settings.xml doesn't contain
  6134. a debugger section, it's turned off. In this case the debuggersettings
  6135. in the console won't appear either.
  6136. 2003-09-21 Manuel Bilderbeek <manuel@msxnet.org>
  6137. * Made error messages more UNIX style and thus more uniform
  6138. 2003-09-21 Maarten ter Huurne <maarten@treewalker.org>
  6139. * Workaround for bug in shutdown sequence:
  6140. MSXCPU::getCurrentTime is needed by audio callback,
  6141. but MSXCPU got destroyed before audio was stopped.
  6142. * Finished Pluggable rewrite:
  6143. - all Pluggable instantiation moved to PluggableFactory
  6144. - all Pluggable destruction moved to PluggableController
  6145. * Added "install" target to alternative.mk.
  6146. 2003-09-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6147. * tab-completion improvements:
  6148. - fixed bug while completing tokens that contained spaces
  6149. - keep the formatting of the line the same as the original line,
  6150. completion behaves a lot like the completion in bash now
  6151. 2003-09-20 Maarten ter Huurne <maarten@treewalker.org>
  6152. * Have VDPCmdEngine pass accurate timestamps to VRAM writes.
  6153. In the process, replaced opsCount by currentTime.
  6154. Should solve PA3 enemy box problem (missing bottom line).
  6155. 2003-09-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6156. * Fix the TR status bit in the VDPCmdEngine:
  6157. most programs don't even check this bit so they weren't affected,
  6158. the ones that did were waiting forever
  6159. 2003-09-19 Reikan <openMSX4Win32@ranpub.com>
  6160. * Win32: use SHGetSpecialFolderPath when available.
  6161. I hope this help on Win95.
  6162. 2003-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6163. * The ';' character can now be used in the console to put 2 commands
  6164. on 1 line. This is usefull to bind 2 commands to 1 key and have a
  6165. deterministic order of executions between those commands.
  6166. * tab-completion now works when cursor is not in last position
  6167. 2003-09-14 Manuel Bilderbeek <manuel@msxnet.org>
  6168. * Added run time configurable stereo settings. You can now set the
  6169. channel mode of each (mono) sound device to mono, left or right from
  6170. the console, using the set [sounddevice]_mode settings.
  6171. * Integrated VolumeSetting into Mixer class.
  6172. 2003-09-14 Reikan <openMSX4Win32@ranpub.com>
  6173. * Fixed SystemContext error in FileOperations.cc.
  6174. This affects only on Win32.
  6175. 2003-09-13 Reikan <openMSX4Win32@ranpub.com>
  6176. * Introduced flavour-win32.mk.
  6177. Do only relatively conservative optimizations.
  6178. * flavour-uow32.mk contains more aggressive optimizations now.
  6179. * platform-mingw32-x86.mk uses flavour-win32.mk as the default now.
  6180. 2003-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6181. * filename stuff cleanups
  6182. 2003-09-12 Manuel Bilderbeek <manuel@msxnet.org>
  6183. * the file from which the WavAudioInput reads is now configurable with
  6184. the setting "audio-inputfilename". Default is still
  6185. "audio-input.wav".
  6186. * restructured AudioWavInput class and cleaned it up a lot
  6187. 2003-09-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6188. * immediately respond to frameskip changes
  6189. 2003-09-11 Reikan <openMSX4Win32@ranpub.com>
  6190. * Added workaround for Win32 on pathname/path-delimiter.
  6191. 2003-09-11 David Heremans <david.heremans@gnu-linux.net>
  6192. * FDC_DirAsDSK: Figured out why a format didn't work correctly with
  6193. my default emulated msx2 (NMS8250). Now the code can handle
  6194. formating, didn't check on other machines yet
  6195. 2003-09-09 David Heremans <david.heremans@gnu-linux.net>
  6196. * FDC_DirAsDSK: Have cached sectors saved and loaded correctly, now
  6197. you can use the entire fakedisk for writing as well.
  6198. * Small bugfixes
  6199. 2003-09-07 Maarten ter Huurne <maarten@treewalker.org>
  6200. * Have the "plug" command handle PlugException correctly.
  6201. * Changed Connector interface so that subclasses require less code.
  6202. * Declared PlugException in Connector::plug as well.
  6203. (yesterday's change added it to Pluggable::plug)
  6204. * Replaced C standard includes with their respective C++ wrappers.
  6205. 2003-09-06 Maarten ter Huurne <maarten@treewalker.org>
  6206. * Added PlugException, which can be thrown by Pluggable::plug if the
  6207. plug action fails for some reason.
  6208. * Declared PlugException for the methods that can throw it.
  6209. 2003-09-06 Manuel Bilderbeek <manuel@msxnet.org>
  6210. * diska/diskb/etc without argument shows the currently inserted disk
  6211. now
  6212. 2003-09-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6213. * VDPCmdEngine: correct behaviour when registers are changed while cmd
  6214. is executing. There seem to be a few glitches left though.
  6215. * Fix VDPCmdEngine timimg (was broken by previous patch)
  6216. 2003-09-05 David Heremans <david.heremans@gnu-linux.net>
  6217. * Corrected destructor behaviour for the Disk class
  6218. 2003-09-03 Maarten ter Huurne <maarten@treewalker.org>
  6219. * Fixed bug: when CPU has to force extra device scheduling, it should
  6220. schedule all devices until the I/O time, not just the devices until
  6221. the schedule limit timestamp.
  6222. 2003-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6223. * more VDPCmdEngine optimizations
  6224. * fix VDPCmdEngine register status at end of cmd, should now also be
  6225. correct when cmd is interrupted
  6226. * implemented most willStatusChange() methods for VDPCmdEngine
  6227. 2003-08-28 Manuel Bilderbeek <manuel@msxnet.org>
  6228. * the file to which the PrinterLogger logs is now configurable with
  6229. the setting "printerlogfilename". Default is still "printer.log".
  6230. * the file to which the MidiOutLogger logs is now configurable with
  6231. the setting "midi-out-logfilename". Default is still "/dev/midi".
  6232. * the file from which the MidiInReader reads is now configurable with
  6233. the setting "midi-in-readfilename". Default is still "/dev/midi".
  6234. * the file from which the RS232-tester reads is now configurable with
  6235. the setting "rs232-inputfilename". Default is still "rs232-input".
  6236. * the file to which the RS232-tester writes is now configurable with
  6237. the setting "rs232-outputfilename". Default is still "rs232-output".
  6238. 2003-08-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6239. * small VDPCmdEngine optimizations
  6240. 2003-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6241. * Initial version for Panasonic_FS-A1FM mapper:
  6242. - internal software doesn't start yet (should it even?), but at
  6243. least it doesn't crash anymore
  6244. 2003-08-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6245. * Improved tabcompletion for plug command:
  6246. - only complete pluggables that will fit in the selected connector
  6247. * Made it easier to switch between MSX-MUSIC cores:
  6248. - use the parameter "alternative" in the device config section
  6249. 2003-08-23 Manuel Bilderbeek <manuel@msxnet.org>
  6250. * Made the keys of the key joystick configurable.
  6251. TODO: make it possible to have more than one key joystick.
  6252. * Already some cleanups to make it robust against bad configs.
  6253. 2003-08-23 Maarten ter Huurne <maarten@treewalker.org>
  6254. * Rearranged joystick code:
  6255. - Separated JoystickPort class into its own files and put them in the
  6256. "input" directory.
  6257. - Moved JoystickDevice, DummyJoystick and JoyNet to "input" directory.
  6258. - Split and removed JoystickPorts class: the I/O was moved to MSXPSG,
  6259. the instantiation was moved to the new PluggableFactory class.
  6260. 2003-08-20 David Heremans <david.heremans@gnu-linux.net>
  6261. * Rewrote code to be more sector based instead of cluster based:
  6262. This also simplified the code, also made first steps towards
  6263. more correct dir-entry handling.
  6264. 2003-08-20 Reikan <openMSX4Win32@ranpub.com>
  6265. * Added Keymap-change and KeyLayoutBit.
  6266. 2003-08-18 David Heremans <david.heremans@gnu-linux.net>
  6267. * Added cached diskwriting to FDC_DirAsDSK. Regular file operations
  6268. seem to work, formatting doesn't yet. No writes to native host OS
  6269. files so far.
  6270. 2003-08-18 Reikan <openMSX4Win32@ranpub.com>
  6271. * Adjusted as a first step to support win32.
  6272. 2003-08-17 Herman Oudejans <hn.oudejans@quicknet.nl>
  6273. * fixed a serious bug in the commandlineparser. -diska (and b),
  6274. -carta (and b,c and d) work again.
  6275. 2003-08-16 Herman Oudejans <hn.oudejans@quicknet.nl>
  6276. * Added priority to the commandline parser. When the -h option
  6277. is invoked, there won't be any machines loaded.
  6278. 2003-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6279. * Basic support for .zip files, for now always the first file in
  6280. the .zip is taken
  6281. * Added filetype detection for filenames of the form
  6282. "<name>.<type>.zip", e.g. "psycho.dsk.zip"
  6283. 2003-08-12 David Heremans <david.heremans@gnu-linux.net>
  6284. * Small enhancement in FDC_DirAsDSK:
  6285. Alowed writing of the boot sector. The altered boot sector is
  6286. stored as a hidden file and is used when creating an FDC_DirAsDSK
  6287. instance
  6288. 2003-08-13 Maarten ter Huurne <maarten@treewalker.org>
  6289. * Reikan released C-BIOS 0.17; I updated it in Contrib.
  6290. 2003-08-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6291. * Now any file can be gzipped, including files loaded by SDL and libxml
  6292. 2003-08-12 David Heremans <david.heremans@gnu-linux.net>
  6293. * improved FDC_DirAsDSK:
  6294. - now empty sector are generated for unmapped clusters
  6295. - altered filesize also scanned for when accessing FAT sectors
  6296. 2003-08-11 David Heremans <david.heremans@gnu-linux.net>
  6297. * Added more functionality to the FDC_DirAsDSK class:
  6298. - fixed an offset bug
  6299. - made changes to files on the host OS visible to the emulated dsk
  6300. file. Now altered filesize is detected when accessing file itself
  6301. or the DIR sector and the DIR and FAT will be adjusted as needed
  6302. 2003-08-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6303. * Read-only support for .gz files
  6304. 2003-08-09 Maarten ter Huurne <maarten@treewalker.org>
  6305. * Put all openMSX code in namespace "openmsx".
  6306. This avoids name clashes with C libs, for example "Font" being
  6307. defined by us and by Xlib.
  6308. Those name clashes occur earlier when precompiling headers,
  6309. but otherwise it's still an accident waiting to happen.
  6310. 2003-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6311. * Fixed FileContext owner ship semantics (fixes memory leak):
  6312. - the class that creates a FileContext object should also destroy it
  6313. - when a class needs a FileContext parameter for a longer time than
  6314. the duration of the method call, it should make a copy of the
  6315. FileContext object
  6316. * Added audio input pluggable/connector for turbor PCM:
  6317. - for now it just reads "audio-input.wav"
  6318. 2003-08-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6319. * CPU cleanup / speedup:
  6320. * FDC cleanups:
  6321. - renamed some classes
  6322. - added a base class for sector based disks (those that don't
  6323. store the information 'between' the sectors)
  6324. 2003-08-06 David Heremans <david.heremans@gnu-linux.net>
  6325. * Introduced to the FDC_DirAsDSK class:
  6326. - it is now possible to have a directory given as value for the
  6327. '-disk(a|b)' option, this will construct a read-only disk that
  6328. contains the regular files in this directory. Content changes in
  6329. those files are immediately visible in the emulated disks.
  6330. Sizes changes of files are not incorporated yet!
  6331. 2003-08-02 Herman Oudejans <hn.oudejans@quicknet.nl>
  6332. * fixed compile errors when using gcc version 2.95
  6333. 2003-07-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6334. * Implemeted a RS232 tester pluggable:
  6335. - writes to file "rs232-output"
  6336. - reads from file "rs232-input"
  6337. - the BASIC commands load"COM:" and save"COM:" seem to work
  6338. * Made sure that classes that are ment to be pure virtual,
  6339. truly are pure virtual
  6340. * Added rs232 extension
  6341. 2003-07-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6342. * Added MSX-RS232 to device factory
  6343. * Gave MSX-RS232 16KB ROM
  6344. 2003-07-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6345. * Added MSX-RS232:
  6346. - there do not exist any RS232 pluggables yet
  6347. - code is yet completely untested
  6348. 2003-07-27 Herman Oudejans <hn.oudejans@quicknet.nl>
  6349. * decoupled de console and debugger again. It caused some unforseen
  6350. site-effects.
  6351. * Added settings for the debugger in settings.xml
  6352. 2003-07-26 Herman Oudejans <hn.oudejans@quicknet.nl>
  6353. * Re-enabled the debuggerconsole.
  6354. * made sure the console is turned off when de debugger is called.
  6355. * added a disassembly view (still static).
  6356. * added the same settings for the debugger as there were for the
  6357. console (rows, columns, placement, font and background).
  6358. 2003-07-26 Maarten ter Huurne <maarten@treewalker.org>
  6359. * Refactored settings code.
  6360. * Moved settings code into new "settings" directory.
  6361. * Cleaned up the linking process.
  6362. 2003-07-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6363. * A few midi in related fixes. Still needs to be tested
  6364. with real midi hardware
  6365. 2003-07-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6366. * Added midi in reader (reads from /dev/midi):
  6367. - still completely untested
  6368. 2003-07-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6369. * added joystick emulation for mouse:
  6370. - when you plug in the mouse with the left button pressed,
  6371. it behaves like a joystick
  6372. * added Semaphore class
  6373. * protected Scheduler with a Semaphore:
  6374. - it is now possible the register synchronization points in a different
  6375. thread than the emulation thread. This will be needed for the
  6376. MIDI in pluggable
  6377. 2003-07-20 Herman Oudejans <hn.oudejans@quicknet.nl>
  6378. * first steps toward a debugger. For now it's just a
  6379. static hexdump.
  6380. * Temperary removed an assert in de settingsmanager
  6381. because the consolesettings are init twice.
  6382. 2003-07-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6383. * Fixed bug in MSX-Audio sample RAM
  6384. 2003-07-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6385. * Fixed some MIDI bugs
  6386. * Added Midi Out Logger (logs to /dev/midi)
  6387. 2003-07-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6388. * Implemented Midi-In and Midi-Out ports for MSX-Midi:
  6389. - completely untested, so it probably won't work yet
  6390. - there are no pluggables for the midi ports yet
  6391. 2003-07-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6392. * A Pluggable is now told in which Connector it is plugged
  6393. 2003-07-08 Herman Oudejans <hn.oudejans@quicknet.nl>
  6394. * debugdevice now works with stdout, stderr and normal files
  6395. 2003-07-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6396. * Don't clear SCC wave forms on reset
  6397. * Added MSX-Midi:
  6398. - except for sending and receiving data it works, thus
  6399. timers and interrupt generation work
  6400. 2003-07-06 Herman Oudejans <hn.oudejans@quicknet.nl>
  6401. * added a debug device.
  6402. * Details for control are in docs/debugdevice.txt
  6403. 2003-07-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6404. * Started implementing MSX-Midi
  6405. 2003-07-05 Maarten ter Huurne <maarten@treewalker.org>
  6406. * Fixed colour of blue intensity 2 in Graphic7 mode.
  6407. Thanks to Grauw for reporting this bug.
  6408. 2003-07-03 Maarten ter Huurne <maarten@treewalker.org>
  6409. * Fixed bug in scanline effect, which caused glitches on ATI and
  6410. Matrox cards.
  6411. 2003-07-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6412. * Implemented stereo/mono and 8/16-bit conversion for wav files
  6413. * Implemeted "force_play" and "no_force_play" for cassetteplayer
  6414. 2003-07-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6415. * On turbor use big 4mb rom also for MSX-MUSIC ROM and DISK ROM
  6416. 2003-06-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6417. * Fixed cassette player bug:
  6418. - float was not accurate enough, use 64-bit fixed point
  6419. * Made rewind command for cassetteplayer and tape patch
  6420. 2003-06-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6421. * Made casstte player audible:
  6422. - you can turn it off with "set cassette_volume 0"
  6423. 2003-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6424. * Implemented automatic .cas to .wav conversion in CassettePlayer:
  6425. - not all .cas files seems to work though
  6426. - there can be a delay of a few seconds while converting the file,
  6427. need to do the conversion in a helper thread
  6428. * added peekMem() method, will be used by debugger to savly read mem
  6429. 2003-06-28 Manuel Bilderbeek <manuel@msxnet.org>
  6430. * Cleaned up the machines and extensions dir:
  6431. - added a subdir 'roms' when needed
  6432. - added the Id tags when missing
  6433. - filename cleanups
  6434. - fixed some typos
  6435. - added SHA1SUMS files in each roms dir, when available
  6436. * Added a few extensions
  6437. 2003-06-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6438. * Implemented Listener interface for Setting class
  6439. 2003-06-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6440. * Converted romdb.xml to use 'title' tags iso 'id' attributes
  6441. 2003-06-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6442. * Implemented SHA1 support for romdb
  6443. * Converted most of romdb.xml to SHA1
  6444. 2003-06-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6445. * Added new YM2413 core:
  6446. use with the new (temporally) device "Music_2"
  6447. * Implemented TurboR VDP access delay
  6448. * Added SHA1 class (not yet used)
  6449. 2003-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6450. * Implemented 'fallback' mechanism for files in settings.xml
  6451. 2003-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6452. * Implemented undocumented flag bits for "BIT n,(HL)" instructions,
  6453. ZEXALL test still passes
  6454. 2003-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6455. * Improved performance for tab-completion:
  6456. without this patch "diska <tab>" could take several seconds
  6457. 2003-06-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6458. * Implemented HBI-55 data cartridge:
  6459. according to some BASIC test progs it seems to work, but not yet
  6460. tested with Sony_HB_75P internal software
  6461. 2003-06-09 Maarten ter Huurne <maarten@treewalker.org>
  6462. * Released openmsx-0.3.2.
  6463. 2003-06-09 Manuel Bilderbeek <manuel@msxnet.org>
  6464. * Updated HOWTO (please check)
  6465. * Updated/cleaned up machine configs:
  6466. - MSX2+ machines have a memory mapper of 64kB (tested on real
  6467. Panasonic FS-A1WX)
  6468. - Changed ROM names in 8250 config to match the ones used in the
  6469. other configs, using a 32kB combined ROM for basic/bios
  6470. - Added missing CVS Id tags
  6471. - Removed unnecessary DiskRomPatches from machines with TC8566AF FDC's
  6472. - Changed FDC type names to new conventions (see 2003-03-29), note
  6473. that the old ones won't work anymore. The names of the FDC classes
  6474. should be revised though.
  6475. 2003-06-09 Maarten ter Huurne <maarten@treewalker.org>
  6476. * Implemented user-specified gamma correction for SDLLo/SDLHi/SDLGL.
  6477. Find out your PC monitor's gamma using the measurement image on the
  6478. following page: http://www.bberger.net/gamma.html
  6479. TVs use a standardised gamma of 2.5. So for a realistic picture, set
  6480. openMSX gamma correction to: PC_gamma / 2.5.
  6481. Or you can just try a few values and see what you like ;)
  6482. 2003-06-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6483. * Don't abort on "cassetteplayer <file>" cmd with invalid filename
  6484. * Print warning when initial font or background images can't be read
  6485. 2003-06-08 Maarten ter Huurne <maarten@treewalker.org>
  6486. * In the command engine, only act on display mode switches if a
  6487. different command engine mode is entered.
  6488. * Fixed various GCC 2.95 compile problems.
  6489. 2003-06-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6490. * Print error msg when user gives wrong diskimage on the cmd line
  6491. * same for cas and wav images
  6492. * Fix core dump while writing to read-only disk images
  6493. * Don't put empty lines in console history
  6494. 2003-06-06 Maarten ter Huurne <maarten@treewalker.org>
  6495. * Added FloatSetting class.
  6496. * Introduced new setting "gamma" for gamma correction.
  6497. Not yet implemented in Renderers.
  6498. * Refactored EnumSetting:
  6499. - Split into type-safe inline wrapper class "EnumSetting" and
  6500. type-indedendent implementation class "IntStringMap".
  6501. Forced template instantiations are no longer necessary.
  6502. - Made strings in string-enum map constant.
  6503. 2003-06-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6504. * Refactored consolecolumns and consolerows settings
  6505. 2003-06-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6506. * Merged Arjan's YMF278 fixes/improvements, plus did some optimizations
  6507. * Take default MapperIO type in case the machine configuration doesn't
  6508. specify one (all MSX1 machines)
  6509. 2003-06-04 Maarten ter Huurne <maarten@treewalker.org>
  6510. * New console font: ConsoleFontRaveL.png, this is a larger version of
  6511. ConsoleFontRave.png (easier to read on hi-res screens).
  6512. * New extensions: 512K/1MB/2MB/4MB external mapper.
  6513. 2003-06-04 Herman Oudejans <hn.oudejans@quicknet.nl>
  6514. * Background and Fonts are not reset anymore when changing renderers.
  6515. * Added 10 machine configurations, made by BifiMsx
  6516. 2003-06-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6517. * support 8kb roms
  6518. * fixed SDLFont, sometimes the font was completely transparent
  6519. * fixed UMR in Timer class (caused Toshiba rom to hang openMSX)
  6520. * Implemented fake "per pixel alpha blending" for SDLFont
  6521. 2003-06-03 Maarten ter Huurne <maarten@treewalker.org>
  6522. * Fixed SDLGL tile cache when character and pattern table use mirroring.
  6523. Solves glitches in Dr Archie, Relax and probably others.
  6524. 2003-06-02 Maarten ter Huurne <maarten@treewalker.org>
  6525. * New console font: ConsoleFontRave.png, based on Bitstream Vera, but
  6526. renamed due to license requirements (see http://www.gnome.org/fonts/).
  6527. * Re-encoded existing console fonts to make their files smaller.
  6528. 2003-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6529. * Implemented MegaRam
  6530. * Implemented PAC (like FMPAC, but without FM and without ROM)
  6531. 2003-06-01 Herman Oudejans <hn.oudejans@quicknet.nl>
  6532. * Added a setting for grabbing mouse and keyboard input. When input
  6533. is grabbed, the windowsmanager won't be able to mask keys from
  6534. openmsx and the mousecursor won't be able to leave the openmsx
  6535. window.
  6536. 2003-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6537. * Fixed mouse (hopefully)
  6538. * Removed "loadsram" and "savesram" settings
  6539. 2003-05-31 Maarten ter Huurne <maarten@treewalker.org>
  6540. * When pausing, store last frame and keep plotting it during pause.
  6541. Also keep redrawing the console, so it is usable during pause.
  6542. Current implementation is a bit of a hack, but it works.
  6543. * Implemented afterglow effect, try "set glow N" in SDLGL.
  6544. 2003-05-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6545. * VDPCmdEngine cleanups
  6546. 2003-05-31 Herman Oudejans <hn.oudejans@quicknet.nl>
  6547. * Changed console save file into ascii. When loading the history,
  6548. empty lines are ignored.
  6549. * Removed error when unable to load consolehistory
  6550. * Only two identical commando's directly after eachothers are now
  6551. removed if removedoubles is active to improve performance.
  6552. * Remove settings for consolehistory load & save. Default are now:
  6553. - Always load and save.
  6554. - Filename is now fixed as 'history.txt'
  6555. 2003-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6556. * Refactored VDPCmdEngine, use VDPCmd subclasses for each command
  6557. instead of function pointers
  6558. 2003-05-30 Herman Oudejans <hn.oudejans@quicknet.nl>
  6559. * Implemented save/load consolehistory
  6560. 2003-05-30 Maarten ter Huurne <maarten@treewalker.org>
  6561. * Implemented Text2 and MultiColour modes in SDLGL using one texture
  6562. per character approach (the approach Graphic2/3 already used).
  6563. * Implemented screen accuracy.
  6564. * Do not sync during a skipped frame.
  6565. 2003-05-27 Maarten ter Huurne <maarten@treewalker.org>
  6566. Dirty checking improvements:
  6567. * Removed all old character dirty checking code from SDLRenderer and
  6568. SDLGLRenderer.
  6569. * Added DirtyChecker class, a generic VRAM cache administration.
  6570. * Use new DirtyChecker in SDLGLRenderer for pattern and colour table.
  6571. Caching the name table is useless in SDLGLRenderer.
  6572. This is a work in progress, but the current state seems to be stable.
  6573. 2003-05-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6574. * More RealTimeRTC improvements
  6575. * Some frameskip tuning
  6576. * Keep frameskip setting between renderer switch
  6577. 2003-05-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6578. * Use RTC Timer for RealTime syncing when available
  6579. 2003-05-25 Herman Oudejans <hn.oudejans@quicknet.nl>
  6580. * Fixed a problem with the consolesize when switching from SDLLo
  6581. to SDLHi or SDLGL.
  6582. * When the console is resized, the text in it will be rebuild.
  6583. * Fixed a bug in the cursormovement (broke with the text rebuild).
  6584. 2003-05-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6585. * Split RealTime in generic part and implementation specific part.
  6586. This decouples time synchronization from SDL and paves the way
  6587. for more accurate implementation (like RTC)
  6588. 2003-05-24 Maarten ter Huurne <maarten@treewalker.org>
  6589. * I/O to extended VRAM now goes to limbo, instead of main VRAM.
  6590. * Changed VDPVRAM::Window to VRAMWindow.
  6591. There is not much added value to a public inner class in C++...
  6592. * Changed VDPVRAM::VRAMObserver to VRAMObserver, in its own file.
  6593. Own file reduces the risk of cyclic header dependencies.
  6594. * Renderer gets VRAM updates through VRAMObserver.
  6595. This is a preparation for later optimisations.
  6596. * Make sure no sprite checking is done in spriteless display modes.
  6597. * In a spriteless mode, or when sprites are disabled, the entire sprite
  6598. plane is skipped. This is more efficient than the previous checks for
  6599. a "no sprites" situation, because it occurs earlier in the rendering
  6600. process.
  6601. 2003-05-24 Herman Oudejans <hn.oudejans@quicknet.nl>
  6602. * commands can now be on multiple lines in the console.
  6603. 2003-05-23 Herman Oudejans <hn.oudejans@quicknet.nl>
  6604. * Fixed an error when processing the commandline and one
  6605. device exists twice in the configurationfile(s).
  6606. 2003-05-21 Herman Oudejans <hn.oudejans@quicknet.nl>
  6607. * Double commands in the console commandhistory can no
  6608. longer occur.
  6609. * Made 'remove doubles' and history size configurable
  6610. 2003-05-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6611. * Implemented run-time tuneable volume for sound devices
  6612. 2003-05-19 Herman Oudejans <hn.oudejans@quicknet.nl>
  6613. * Implemented search history in the console
  6614. * added Ctrl-C to clear the current command.
  6615. 2003-05-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6616. * Added MoonSound:
  6617. - code was largly taken from mame
  6618. - fm part is quite good already
  6619. - wave part still needs some improvements:
  6620. - some waves sound weird at certain frequencies??
  6621. - missing features like: pseudo-reverb, LFO, vibrato, ...
  6622. 2003-05-18 Maarten ter Huurne <maarten@treewalker.org>
  6623. * Released openmsx-0.3.1.
  6624. 2003-05-18 Herman Oudejans <hn.oudejans@quicknet.nl>
  6625. * Converted a lot of spaces into tabs.
  6626. * Changed int into bool for zoomSurface().
  6627. * Fixed indentation in zoomSurface().
  6628. 2003-05-18 Maarten ter Huurne <maarten@treewalker.org>
  6629. * Removed "ConsoleSource" directory and moved its code elsewhere:
  6630. - actual console code moved to new directory "console"
  6631. - command code moved to existing directory "events"
  6632. - circular buffer code moved to directory "src"
  6633. * Moved input devices code to new directory "input".
  6634. Maybe more can be moved there in the future.
  6635. * Changed "cpudebug" command into "cputrace" setting.
  6636. Also fixed the duplicate "cpudebug" command on a turbo R (dual CPU).
  6637. Note: this setting exists only if "cpu" dir is built in debug mode.
  6638. 2003-05-17 Maarten ter Huurne <maarten@treewalker.org>
  6639. * Removed EmuTime parameter from Command::execute.
  6640. Since most commands do not interact with the emulated machine,
  6641. they do not need EmuTime.
  6642. * Removed EmuTime parameter from EventListener.
  6643. The only reason this was needed before, was to execute commands.
  6644. * Removed code that is no longer needed in the single thread model.
  6645. * Fixed event handling during pause.
  6646. 2003-05-17 Herman Oudejans <hn.oudejans@quicknet.nl>
  6647. * Implemented configurable file-extentions.
  6648. * Lined the help-text up, properly.
  6649. * Renamed lines/rows/columns/width/height -> rows/columns
  6650. * Fixed a uncaught exception when the SDLConsole is resized
  6651. and the backgroundfile can't be loaded.
  6652. * Fixed -h when the specified machine can't be loaded.
  6653. * Console now resets the scrollback when any key other than
  6654. page up/down is used.
  6655. * Fixed the blinking cursor in the SDLConsole.
  6656. * Fixed Ctrl-A/E when numlock is active
  6657. * Fixed a few small bugs in the CommandLineParser.
  6658. 2003-05-17 Reikan <openMSX4Win32@ranpub.com>
  6659. * Changed to single thread model.
  6660. Now fixed SDLGL renderer fault on XFree86-4.3.0.
  6661. 2003-05-11 Maarten ter Huurne <maarten@treewalker.org>
  6662. * Fixed colour of font on GLConsole overlayed on Text1 mode.
  6663. 2003-05-11 Herman Oudejans <hn.oudejans@quicknet.nl>
  6664. * Fixed segfault in the SDL background scaling when using 8bpp.
  6665. tested and working in 15,16 and 24 bpp. in 8 bpp it doesn't
  6666. give a segfault, but since the whole display isn't working, I
  6667. can't see if the scaling really works.
  6668. * SDL backgroundimage can now have any pixelformat.
  6669. * SDL Console characters are no longer blended.
  6670. 2003-05-10 Herman Oudejans <hn.oudejans@quicknet.nl>
  6671. * Fixed wrong initial default size of the console.
  6672. * Fixed range of the consolecolumns-setting
  6673. 2003-05-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6674. * Replaced old YM2413 code by new one. Volume still needs some tuning:
  6675. - relative volume between music and drum channels
  6676. - relative volume between YM2413 and other sound chips
  6677. 2003-05-09 Herman Oudejans <hn.oudejans@quicknet.nl>
  6678. * Added resizing and moving to the console.
  6679. * Extended the console editing keys.
  6680. * Added keyrepeat to the console.
  6681. * Added setValueInt() and setRange() to Integersetting.
  6682. * Added SDL background scaling.
  6683. 2003-05-08 Maarten ter Huurne <maarten@treewalker.org>
  6684. * Another GCC 3.3-pre fix: passing signed byte references as unsigned
  6685. byte references. Typecasting to "(byte &)" instead of "(byte)" works
  6686. on both GCC 3.2 and GCC 3.3-pre.
  6687. 2003-05-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6688. * a few fixes in new YM2413 code. Still not made default because
  6689. drums in illusion city are screwed
  6690. 2003-05-06 Maarten ter Huurne <maarten@treewalker.org>
  6691. * Compiled with GCC 3.3-pre:
  6692. - Fixed missing "#include <cassert>" directives.
  6693. - Fixed some warnings, suppressed others.
  6694. 2003-05-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6695. * release openmsx-0.3.0
  6696. * added "mbstereo" extension
  6697. 2003-05-04 Maarten ter Huurne <maarten@treewalker.org>
  6698. * Swapped the threads: event handling now occurs in the main thread,
  6699. emulation occurs in a worker thread. Inspired by Reikan's UOW32 patch.
  6700. This removes a lot of differences between the Linux and Win32 ports.
  6701. Also, renderer switching and runtime full screen toggle should work
  6702. on Win32 now.
  6703. * Bug fixes on thread swap:
  6704. - Fixed compile error on GCC 2.95.
  6705. - Workaround for incompatibility of SDL_PushEvent.
  6706. - Print exceptions thrown in emulation thread.
  6707. * Minor bug fix on video init attempts in RendererFactories.
  6708. * Merged Reikan's configure.ac improvements.
  6709. * Fixed magnified sprites in sprite mode 2.
  6710. Glitches in Eindeloos are gone.
  6711. * Fixed bug: display was disabled after switching renderers during
  6712. overscan (for example Unknown Reality title screen).
  6713. * Fixed bug: possible writes outside screen buffer on overscan.
  6714. Crashed Ark-a-Noah on SDLHi.
  6715. 2003-05-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6716. * Trojka starts playing ADPCM samples without initializing the
  6717. sample volume. The sample volume after a reset was set to
  6718. minimum, changed it to maximum.
  6719. 2003-05-03 Maarten ter Huurne <maarten@treewalker.org>
  6720. * Removed EmuTime parameters from Settings methods.
  6721. * Centralized GL header check in new GLUtil.hh file.
  6722. In the future, GLUtil.hh will contain GL utility classes/functions.
  6723. * Replaced "renderer" command by a "renderer" setting.
  6724. This also makes sure the user cannot switch to a non-existant renderer.
  6725. * Moved "Rom.(hh|cc)" and "SRAM.(hh|cc)" from "src" to "src/memory".
  6726. * Removed obsolete "cfg" directory; configurations are in "share" now.
  6727. 2003-05-02 David Heremans <david.heremans@gnu-linux.net>
  6728. * Added the Contrib/cbios directory to 'make install'
  6729. * Have make install create some nice softlinks
  6730. * Added md5sum files
  6731. 2003-04-30 Maarten ter Huurne <maarten@treewalker.org>
  6732. * Introduced Blender class and use it from Character/BitmapConverter.
  6733. * Implemented narrow SCREEN6 sprite pixels in SDLGL.
  6734. * Implemented blended SCREEN6 sprite pixels in SDLLo.
  6735. * Refactored ROM related classes to get device ID from hardwareconfig.xml
  6736. into RomInfo.
  6737. In the process all mapper type code has been centralized in RomInfo.
  6738. All of this just to get "slot 3.3: Firmware" in the slotmap ;)
  6739. 2003-04-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6740. * Fix tabcompletion for absolute paths
  6741. 2003-04-28 David Heremans <david.heremans@gnu-linux.net>
  6742. * Fixed make install to /opt/openMSX and create extra link for
  6743. binary in /usr/local/bin
  6744. * added (no)debug to main makefile
  6745. 2003-04-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6746. * Implemented more complete filename completion as described in
  6747. feature request 713442
  6748. 2003-04-27 Maarten ter Huurne <maarten@treewalker.org>
  6749. * Added a console background to SDLGL when no image is used.
  6750. * Minor cleanups to console classes.
  6751. * Take horizontal adjust into account for calculating HR and horizontal
  6752. retrace interrupt timing.
  6753. Fixes some of the glitches in No Waste, but not all.
  6754. * Fixed text colour in Text1 mode in SDLGL: reverted a misguided
  6755. optimisation. (in GL, full intensity of int is 0x7FFFFFFF, not 0xFF)
  6756. * Updated C-BIOS to version 0.16.
  6757. 2003-04-25 David Heremans <david.heremans@gnu-linux.net>
  6758. * Allowed JoyNet to accept a new connection if
  6759. previous connection is closed.
  6760. 2003-04-25 Maarten ter Huurne <maarten@treewalker.org>
  6761. * Fixed sprite colours in Graphic5 (SCREEN6).
  6762. The turbo R boot logo looks OK now.
  6763. However, narrow sprite pixels do not yet work in SDLGL.
  6764. * Implemented horizontal scroll high and multi page in SDLGL.
  6765. This implementation is based on Wouter's horizontal scroll patch.
  6766. * Implemented horizontal scroll high and multi page in SDLHi/Lo.
  6767. Note that some horizontal scroll features are still missing:
  6768. * Multi page scrolling in combination with deinterlace.
  6769. * Scrolling in character modes.
  6770. However, the current state should be enough to run most games and demos.
  6771. 2003-04-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6772. * if an extension exists both in user as in system directory, prefer
  6773. the one in user directory
  6774. 2003-04-23 Maarten ter Huurne <maarten@treewalker.org>
  6775. * Added update calls for horizontal scroll settings.
  6776. 2003-04-22 Maarten ter Huurne <maarten@treewalker.org>
  6777. * Partial horizontal scroll implementation: scroll low and border mask.
  6778. Scroll high and multi page to be done.
  6779. Space Manbow works fine in MSX2+ mode now.
  6780. 2003-04-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6781. * Improved DACSound quality:
  6782. - improved quality at the expense of an (extra) delay
  6783. - samples in Swiss Demo sound acceptable now
  6784. - modplayer sounds better but still not very good
  6785. * Updated FMPAC:
  6786. - ROM is not visible while SRAM is active
  6787. 2003-04-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6788. * Added alternative YM2413 core (implemented by Jarek Burczynski):
  6789. - still needs some work before it can replace old core
  6790. - volume needs some tuning
  6791. - performance optimizations (silent channels)
  6792. - bug fixes(?)
  6793. - if you want to try it copy YM2413.cc.new and YM2413.hh.new over
  6794. YM2413.cc and YM2413.hh and recompile
  6795. 2003-04-18 David Heremans <david.heremans@gnu-linux.net>
  6796. * Fixed a bug in JoyNet, but need a program with a good asyncron
  6797. protocol to test it
  6798. 2003-04-17 Maarten ter Huurne <maarten@treewalker.org>
  6799. * Separated drawSprites from drawDisplay in subclasses of PixelRenderer.
  6800. 2003-04-16 Maarten ter Huurne <maarten@treewalker.org>
  6801. * Moved display coordinate calculation from subclasses to PixelRenderer.
  6802. 2003-04-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6803. * Reworked SCC
  6804. - Manuel Pazos's SCC detection routine works correctly now
  6805. - Optimized for common case. You mostly write to SCC and hardly
  6806. ever read from it
  6807. 2003-04-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6808. * Reworked consoles:
  6809. - splitted console in "core console" and "console renderer",
  6810. the main advantage is that command history is preserved
  6811. while switching renderers
  6812. 2003-04-12 Maarten ter Huurne <maarten@treewalker.org>
  6813. * Created util.hh: currently only contains fillBool, which used to be
  6814. duplicated in SDLRenderer and SDLGLRenderer.
  6815. * Removed system.h: this file has probably been obsolete for some time,
  6816. but managed to escape everyone's attention.
  6817. * Changed SDLGLRenderer to use SpriteConverter.
  6818. 2003-04-10 Maarten ter Huurne <maarten@treewalker.org>
  6819. * Moved the VDP and rendering code into new "video" directory.
  6820. Thanks to Manuel for suggesting how to solve symbol dependencies.
  6821. But I still don't like recursive Make...
  6822. 2003-04-09 Maarten ter Huurne <maarten@treewalker.org>
  6823. * Merged SDLLoRenderer and SDLHiRenderer into SDLRenderer.
  6824. Template expansion replaces duplicated code.
  6825. From a user perspective, "SDLLo" and "SDLHi" still exist.
  6826. 2003-04-06 Manuel Bilderbeek <manuel@msxnet.org>
  6827. * Clean up in RomInfo stuff for empty ROMs. Note that I'm now assuming
  6828. that an empty ROM is always an empty SCC. Is this a valid
  6829. assumption? The problem is that `forced' ROM types (as with an empty
  6830. SCC) are not put in the ROMInfo. So I can't check if it is really
  6831. an SCC...
  6832. 2003-04-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6833. * Added Korean80-in-1 mapper type
  6834. * Added Korean90-in-1 mapper type
  6835. * Added Korean126-in-1 mapper type
  6836. * Implemented "keyjoystick", joystick emulation via keyboard:
  6837. - use like this "plug joyporta keyjoystick"
  6838. - joystick direction is mapped on cursors
  6839. button-A space
  6840. button-B left alt
  6841. - TODO mapping should become configurable
  6842. - TODO you should be able to configure more than one keyjoystick
  6843. * Implemented V9958 CMD bit:
  6844. I don't know any program that actually uses this, so it is
  6845. not yet tested
  6846. 2003-04-04 David Heremans <david.heremans@gnu-linux.net>
  6847. * Getting everything in /opt/openmsx installed, no links yet
  6848. 2003-04-04 Maarten ter Huurne <maarten@treewalker.org>
  6849. * Introduced SpriteConverter, a utility class for the Renderers to use,
  6850. similar to BitmapConverter and CharacterConverter.
  6851. * Changed SDLHiRenderer to use SpriteConverter.
  6852. * Removed PixelRenderer's protected fields from SDLGL and SDLHi.
  6853. 2003-04-03 Maarten ter Huurne <maarten@treewalker.org>
  6854. * Fixed remaining reads of uninitialised VDP fields.
  6855. 2003-04-02 David Heremans <david.heremans@gnu-linux.net>
  6856. * First cleanups to prepare for a 'make install'
  6857. 2003-04-02 Maarten ter Huurne <maarten@treewalker.org>
  6858. * Minor cleanups in SpriteChecker.
  6859. 2003-03-31 Maarten ter Huurne <maarten@treewalker.org>
  6860. * Turned DisplayMode into a class (makes code easier to read).
  6861. * SpriteChecker no longer checks sprites in text mode.
  6862. * Various minor cleanups along the way.
  6863. 2003-03-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6864. * Don't abort (only warn) when there occurs an error during processing
  6865. of autocommands
  6866. * Converted "frontswitch" command into a setting
  6867. 2003-03-30 Maarten ter Huurne <maarten@treewalker.org>
  6868. * Removed fullScreen parameter from Renderer constructors.
  6869. * Made Renderer constructors private, only available to their
  6870. respective factories.
  6871. * VDP subsystem reset methods are no longer called by their constructor,
  6872. instead they are called explicitly by the VDP.
  6873. * Removed EmuTime parameter from VDP subsystem constructors.
  6874. * Rearranged VDP constructor to remove overlap with reset method.
  6875. * Fixed uses of display mode which could not yet handle the YJK bits.
  6876. * Fixed a tricky bug that could occur if rendering was performed in the
  6877. middle of a series of updates that all occur at the same EmuTime.
  6878. 2003-03-29 Manuel Bilderbeek <manuel@msxnet.org>
  6879. * Moved other configs from src/cfg to share/machines
  6880. * Added some more extensions
  6881. * Changed settings.xml to use cbios-msx2 and added skins/ prefix to
  6882. ConsoleFont.png
  6883. * Updated the HOWTO. I wish the make install was finished, so that I
  6884. can cut 10% of the HOWTO... (it's getting complicated to explain...)
  6885. 2003-03-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6886. * Fixed crashes on missing arguments (e.g. "openmsx -ext")
  6887. * Added extra FDC names:
  6888. National --> MB8877A
  6889. Panasonic --> TC8566AF
  6890. Philips --> WD2793
  6891. The old names are deprecated, as soon as the machine configuartions
  6892. are changed to use the new names, the old names will be removed.
  6893. * Fixed crash on missing console font
  6894. 2003-03-28 Manuel Bilderbeek <manuel@msxnet.org>
  6895. * More refactoring of Rom objects to add RomInfo:
  6896. - all Rom objects now have a RomInfo object
  6897. - get information that was in the romdb from that object
  6898. - slotmap uses this and prints real Rom info, when available; later,
  6899. the GUI should be able to use this too, in some way
  6900. - note that all MSXRom constructors changed :-)
  6901. - note that it's my first big change, please fix things that
  6902. could be a lot better and tell me about it :-)
  6903. Maarten, Wouter and Joost: thanks for your help!
  6904. * Added loads of machine configs (thanks Atarulum):
  6905. - when we decide what to do with the patches for the FDC, I'll
  6906. add the others
  6907. 2003-03-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6908. * Fixed RomPanasonic SRAM
  6909. * Optimized VDPCmdEngine for common case: no command in progress
  6910. 2003-03-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6911. * Fixed VDP Command Engine bug:
  6912. - on every sync() the engine processed at least one 'pixel',
  6913. when you poll the VDP very fast (R800) the time between
  6914. two syncs is less than one pixel. This screws up the
  6915. bookkeeping.
  6916. - Fixes MSXView startup problem, Relax demo, ...
  6917. 2003-03-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6918. * Another directory structure change:
  6919. moved machines/ -> share/machines/
  6920. extensions/ -> share/extensions/
  6921. etc/romdb.xml -> share/romdb.xml
  6922. settings.xml -> share/settings.xml
  6923. * Create share directory, moved a lot of files around
  6924. 2003-03-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6925. * Reimplemented Panasonic memory system:
  6926. - in TurboR rom/ram are tightly connected (dram mode, ...)
  6927. Memorymapper, RomMapper, BiosRom are now implemented as special
  6928. as special devices
  6929. - TurboR hardwareconfig.xml updated
  6930. - MSXView almost works now, without "set cmdtiming broken" openmsx
  6931. wait for a never ending VDP command. Still investigating...
  6932. 2003-03-22 Manuel Bilderbeek <manuel@msxnet.org>
  6933. * Refactored ROM mappertype retrieval/ROM Info (WIP, to enable readout
  6934. of ROM info in the console.)
  6935. 2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6936. * Implemented timeout for reading mouse:
  6937. - this fixes the '"plug joyporta mouse" in settings.xml' bug
  6938. - current timeout is 1/100s, I've no idea of the timeout
  6939. value of a real MSX mouse
  6940. 2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6941. * Various minor optimizations / cleanups, mostly better cache for
  6942. unmapped memory regions
  6943. 2003-03-16 Manuel Bilderbeek <manuel@msxnet.org>
  6944. * When a ROM is found in the romdb, the info about the ROM is now
  6945. printed. Later, this info could be stored somewhere, so that the GUI
  6946. can use it to show a ROM title, e.g.
  6947. 2003-03-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6948. * Added HALNOTE mapper type:
  6949. - Doesn't work yet! Only 'normal' rom switching is emulated.
  6950. The program also writes to pages 0 en 3 and it selects rom
  6951. pages > 0x80, I've no idea what this should do.
  6952. * Fixed format command, apparently I broke it several months ago.
  6953. 2003-03-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6954. * Implemented "vramdump" console command, only available when
  6955. compiled with DEBUG
  6956. 2003-03-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6957. * Reworked MSXRom:
  6958. - made a (small) subclass for every mapper type:
  6959. * Moved MSXRom MSXRam related files to a new directory "memory"
  6960. * Fixed rom-cartridge SRAM saving, path was wrong:
  6961. - it is now ~/.openMSX/persistent/roms/<romname>/<sramname>
  6962. 2003-03-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6963. * Implemented "Harry Fox" mapper type
  6964. * Fixed ASCII8 mapper type:
  6965. Annimal Land works now
  6966. 2003-03-03 Maarten ter Huurne <maarten@treewalker.org>
  6967. * Fixed bug in PixelRenderer: finishFrame was called every frame,
  6968. even with frame skip active.
  6969. This also fixes the special effects in GL with frame skip active.
  6970. 2003-03-02 Maarten ter Huurne <maarten@treewalker.org>
  6971. * Introduced RendererFactory.
  6972. This should help in making the renderer selection a setting.
  6973. It will also make it possible to query which renderers are available.
  6974. 2003-03-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6975. * Converted "frameskip" console command into a setting
  6976. * Implemented BooleanSetting as a specialization of EnumSetting<bool>
  6977. * Fixed path resolution bug:
  6978. all files were also searched for relative to the current directory
  6979. 2003-03-01 Maarten ter Huurne <maarten@treewalker.org>
  6980. * Updated C-BIOS to version 0.15.
  6981. 2003-03-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6982. * Converted "throttle" console command into a setting
  6983. * Converted "pause" console command into a setting
  6984. * Converted "mute" console command into a setting
  6985. * Converted "console" console command into a setting
  6986. 2003-02-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6987. * Converted "speed" console command into a setting
  6988. 2003-02-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  6989. * Implemented free slot selection:
  6990. - this is only a temporary solution, it will very likely change
  6991. in the next release
  6992. - when you specify -1 for the primary slot, the cartridge will
  6993. be inserted in a free external slot. Very usefull to write
  6994. generic extensions.
  6995. * romdb.xml is now searched in /opt/openMSX/etc/romdb.xml
  6996. or in ~/.openMSX/etc/romdb.xml
  6997. * removed -fmpac and -musmod command line options, they are
  6998. replaced by extensions
  6999. 2003-02-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7000. * extension directory now has the same structure as the
  7001. machines directory:
  7002. - for example the scc extension lives in
  7003. ~/.openMSX/extensions/scc/hardwareconfig.xml
  7004. * Implemented Jon's SCC amplitude measurements
  7005. 2003-02-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7006. * Implemented command line extensions:
  7007. - you can load configuration files located in
  7008. ~/.openMSX/extensions/
  7009. /opt/openMSX/extensions/
  7010. with the "-ext" command line option
  7011. - example:
  7012. ./openmsx SDNATCH1.DSK -ext scc+
  7013. * Removed -msx1 -msx2 -msx2+ -turbor command line options
  7014. * SRAM of rom cartridges is saved in
  7015. ~/.openMSX/persistent/roms/<rom-name>/
  7016. 2003-02-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7017. * Implemented "console_font" setting:
  7018. - change the console font at run-time
  7019. * Fixed SCC+
  7020. 2003-02-19 Maarten ter Huurne <maarten@treewalker.org>
  7021. * Implemented "toggle" command, which toggles any BooleanSetting.
  7022. * Replaced "fullscreen" command by "toggle fullscreen".
  7023. * Support key binding of command including parameters.
  7024. 2003-02-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7025. * Reworked File / FileContext classes:
  7026. - separated "searchpath-resolution" from file opening
  7027. * Implemented "console_background" setting:
  7028. - change the console background at run-time
  7029. 2003-02-16 Maarten ter Huurne <maarten@treewalker.org>
  7030. * Fixed a bug in the VDP, where display-on was reported before the sync
  7031. with VDP subsystems was completed. Can cause the command engine to
  7032. run too slow, among other things.
  7033. 2003-02-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7034. * First step to persistent state directories:
  7035. - persistent state files are saved in
  7036. ~/.openMSX/persistent/<machine>/<username>/
  7037. - <machine> is the name of the directory where we found the
  7038. hardware description. Maybe we should get this from inside the
  7039. config file?
  7040. - it's not yet possible to specify <username>, so for now it's
  7041. always "untitled<n>"
  7042. * Default machine can be specified in settings.xml:
  7043. - see example settings.xml, this will load
  7044. ~/.openMSX/machine/nms8250/hardwareconfig.xml
  7045. * Added "-machine" command line option
  7046. 2003-02-13 Maarten ter Huurne <maarten@treewalker.org>
  7047. * Made "full screen" into a setting.
  7048. The "fullscreen" command still works, but will disappear in the future.
  7049. 2003-02-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7050. * Uninline cpu rdmem and wrmem slowpaths:
  7051. this actually increased performance a little
  7052. * RTC uses generic SRAM class for persistent data:
  7053. - SRAM is now the _only_ class in the whole tree that writes files
  7054. - parameters "filename, load, save" changed to "sramname, loadsram,
  7055. savesram". This means all configuartion files must be updated.
  7056. * Implemented SCC+ subtypes:
  7057. "Snatcher" "SD-Snatcher" "mirrored" "expanded"
  7058. 2003-02-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7059. * Fixed MSX-AUDIO mapper:
  7060. - it has 4 pages of 32kB instead of only 2
  7061. - it has 4kB RAM
  7062. - is mirrored at 0x8000-0xffff
  7063. * Fixed Y8950 interrupt masks
  7064. 2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7065. * Implemented Panasonic MSX-Audio mapper type (untested)
  7066. 2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7067. * Compiled with some extra warnings enabled and fixed the
  7068. resulting warnings
  7069. * Renamed MSXRomDevice to Rom (it isn't a device anymore)
  7070. * Default values for settings.xml:
  7071. - all sections in settings.xml now have default values if they
  7072. are left out the config file
  7073. - don't abort when settings.xml is not found
  7074. - but I really advise _against_ using these features
  7075. 2003-01-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7076. * Implemented "user directories" (see settings.xml)
  7077. * Fixed "specify other config file" bug
  7078. * Relative-from-config was broken, fixed it
  7079. 2003-01-30 David Heremans <david.heremans@gnu-linux.net>
  7080. * altered a code comment and added some extra config examples
  7081. 2003-01-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7082. * Implemented home-directory-substitution for local files:
  7083. When a filename starts with "~", this character is replaced by
  7084. the content of the environment variable HOME. I'm not sure
  7085. this will work for non-UNIX OS'es.
  7086. * Implemented system-directories:
  7087. - The files romdb.xml, msxconfig.xml and settings.xml are searched
  7088. in the "system directories". For the moment these are (in this
  7089. order)
  7090. ~/.openMSX/
  7091. ~/openMSX/
  7092. /usr/local/etc/openMSX/
  7093. /etc/openMSX/
  7094. But we need to discuss about this list. Note that "." is not in
  7095. the list.
  7096. 2003-01-27 David Heremans <david.heremans@gnu-linux.net>
  7097. * Increased usefulness of error message in DeviceFactory
  7098. 2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7099. * Automatically load "settings.xml" on startup:
  7100. - you can specify an alternative file with the "-setting" command
  7101. line option
  7102. - For the moment "settings.xml" must be in the current directory
  7103. * Moved hard-coded HotKey bindings to settings.xml
  7104. 2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7105. * Fixed Z80/R800 switching again
  7106. * Removed "sync_interval" parameter from RealTime
  7107. 2003-01-26 Maarten ter Huurne <maarten@treewalker.org>
  7108. * Relaxed over-zealous assert in PixelRenderer by one tick.
  7109. 2003-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7110. * Fixed TurboR assertion:
  7111. targetTime wasn't set properly when switching CPU (Z80 <-> R800)
  7112. * Added dummy MSX-Midi:
  7113. Illusion city works now!
  7114. 2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7115. * Reworked MSX-MUSIC / FMPAC:
  7116. removed enable/disable logic from MSX-MUSIC
  7117. 2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7118. * Renamed "TurboR" FDC type to "Panasonic"
  7119. * Fixed "cpudebug" command (I broke it yesterday)
  7120. * Fixed MSXMatsushita:
  7121. this caused FS-4700 build-in word processor hang
  7122. * Removed ROM files from CVS
  7123. 2003-01-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7124. * Allow muliple commands with the same name:
  7125. - for example both Z80 and R800 could have a "cpudebug" command
  7126. at the same time (not implemeted yet)
  7127. 2003-01-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7128. * Removed SearchPath stuff
  7129. * Relative paths in config files are now relative to the location
  7130. of the config file:
  7131. - this together with the change above probably means you have
  7132. to rewrite some/all of your config files
  7133. * Moved some #include's from .hh to .cc
  7134. 2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7135. * Implemented 8-bit unsigned 16-bit signed DAC
  7136. * Implemented MSX-AUDIO 13-bit DAC:
  7137. untested because TurboR (needed for modplayer) is broken
  7138. for the moment
  7139. 2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7140. * Fixed MSXF4Device:
  7141. FS-A1FX (re)boots correctly now
  7142. 2003-01-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7143. * Removed possibility to use other than XML config files
  7144. 2003-01-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7145. * Fixed Kanji12
  7146. * Removed some unused classes from config directory
  7147. 2003-01-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7148. * Implemented Kanji 12x12:
  7149. - not tested, I don't have correct ROM
  7150. * Implemented front switch:
  7151. - use console command "frontswitch [on/off]"
  7152. - not tested yet, will do it tomorrow
  7153. 2003-01-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7154. * Added powerOff() method to MSXDevice
  7155. * Removed getCurrentTime() calls from destructors
  7156. 2003-01-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7157. * removed MSXCPU::getTargetTime() method
  7158. * added EmuTime argument to the execute() method of a Command:
  7159. this removes some of the calls to MSXCPU::getCurrentTime()
  7160. * An empty SCC cartridge no longer needs "/dev/zero" as filename,
  7161. just don't specify a filename:
  7162. this also works in OSes that don't support /dev/zero
  7163. * Removed "readromfile" parameter from SCCPlusCart:
  7164. if you don't want to read a rom just don't specify one
  7165. * Better(?) rom placement heuristics:
  7166. fixes zanac
  7167. 2003-01-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7168. * Fixed CPU on big endian machines
  7169. * TurboR PCM update:
  7170. - It now works in Seed of Dragon, although the frequency seems
  7171. wrong. The game also hangs when you start to play.
  7172. 2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7173. * Fixed CPU HALT instruction
  7174. * Semi-fixed CPU/Scheduler interaction:
  7175. - seems to work, but I still need to take a very close look at
  7176. the code
  7177. 2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7178. * Large CPU rewrite:
  7179. - we never perform IO at a timestamp greater or equal than
  7180. the earliest sync point
  7181. - 1% - 2% slowdown compared to previous implementation
  7182. - ZEXALL tests still pass
  7183. - still need to verify if the timimng of the instructions is
  7184. still correct
  7185. 2003-01-05 Maarten ter Huurne <maarten@treewalker.org>
  7186. * Fixed mode number for Text 2 in VDP::updateColourBase.
  7187. * Recalculate pattern and colour base when switching modes.
  7188. 2003-01-04 Maarten ter Huurne <maarten@treewalker.org>
  7189. * Implemented colour and pattern index mask calculation.
  7190. * Fixed remaining Doxygen warnings.
  7191. 2003-01-03 Maarten ter Huurne <maarten@treewalker.org>
  7192. * Fixed Doxygen warnings.
  7193. * Fixed I/O port handling of Matsushita switched device, which I forgot
  7194. in yesterday's changes.
  7195. 2003-01-02 Maarten ter Huurne <maarten@treewalker.org>
  7196. * Moved I/O port registration out of VDP and into DeviceFactory.
  7197. Eventually, all I/O port registration should move to the machine
  7198. description file.
  7199. * Moved I/O port registration of all other I/O devices out of the
  7200. device and into DeviceFactory (or FDCFactory in one case).
  7201. 2003-01-01 Maarten ter Huurne <maarten@treewalker.org>
  7202. * Workaround to prevent out-of-order I/O with the VDP.
  7203. * Added asserts to VDP code to check timing constraints.
  7204. * Fix for sprites in planar modes.
  7205. * Fixed behaviour of port #99, #9A and #9B interference.
  7206. * Colour and pattern base mask calculation are now done in a single
  7207. method each.
  7208. 2002-12-30 Joost Yervante Damad <joost@lumatec.be>
  7209. * updated AUTHORS
  7210. 2002-12-30 Maarten ter Huurne <maarten@treewalker.org>
  7211. * Let VDPVRAM::Window notify its observer of base/index changes and
  7212. windows that become disabled.
  7213. 2002-12-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7214. * Autodetect BASIC ROM cartridges:
  7215. code mostly taken from windows port
  7216. * Don't abort when "romdb.xml" is missing, just print a warning.
  7217. * Added a lot of const qualifiers
  7218. * Implemented TurboR PCM device:
  7219. - only playing (no recording)
  7220. - sound quality is really bad (like all our DACSound based devices)
  7221. 2002-12-29 Maarten ter Huurne <maarten@treewalker.org>
  7222. * The VDPVRAM::VRAMObserver interface is put to use for the first time,
  7223. by SpriteChecker. Cleans up the VDP subsystem synchronisation code.
  7224. 2002-12-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7225. * Released 0.2.1
  7226. * Better rom placement heuristics:
  7227. should solve bug 658430 point 3 (rom files without "AB" header)
  7228. * Allow filenames that contain a ',' on the commandline
  7229. * Support roms that don't like to be mirrored:
  7230. - solves bug 658430 point 1 (BASIC prog at 0x8000)
  7231. - can't be autodetected (yet?), you must specify romtype as
  7232. "PAGE[...]" (examples "PAGE2", "PAGE01", "PAGE12", ...)
  7233. - romdb.xml should be updated for these 'problem' roms
  7234. 2002-12-28 Maarten ter Huurne <maarten@treewalker.org>
  7235. * Cleaned up sprite checker synchronisation.
  7236. 2002-12-27 Maarten ter Huurne <maarten@treewalker.org>
  7237. * Created VDPSettings class, moved cmdTiming there.
  7238. * Moved limitSprites from config to VDPSettings.
  7239. 2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7240. * Support for second MSX-AUDIO:
  7241. - add this to the AUDIO section in the config
  7242. <parameter name="number">2</parameter>
  7243. - alex' modplayer doesn't work yet :-(
  7244. 2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7245. * Tabcompletion for setting values:
  7246. example: set accuracy p<tab>
  7247. * Implemented "cmdtiming" setting:
  7248. Switch between real or instantaneous VDP command timing.
  7249. Should only be used for debugging purposes.
  7250. * Implemented YJK/YAE (screen11/12) rendering
  7251. 2002-12-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7252. * Updated RealTime class:
  7253. - this should improve the cases where emulation is too slow,
  7254. but openMSX doesn't claim 100% CPU time
  7255. * SDLLoRenderer inherits from PixelRenderer iso Renderer
  7256. - SDLLoRenderer now also has "accuracy" setting
  7257. 2002-12-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7258. * Made some IDE stuff configurable:
  7259. - master/slave device
  7260. - HD image
  7261. - HD size is not yet configurable
  7262. - see someconfig.xml for format of new config
  7263. 2002-12-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7264. * Implemented MSX Bunsetsu Henkan / Jisyo:
  7265. - I don't have much info on this device, but at least BUNSDUMP.BAS
  7266. gives the correct result
  7267. 2002-12-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7268. * Fixed assertion in VDP when computer was reset while in PAL mode
  7269. 2002-12-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7270. * Implemented MSXDeviceSwitch:
  7271. - IO-ports 0x41-0x4F are (possibly) shared between several devices
  7272. - IO-port 0x40 selects the active device
  7273. * Converted MSXS1985 to a MSXSwitchedDevice
  7274. * Converted MSXFS4500SRAM to a MSXSwitchedDevice:
  7275. - renamed to MSXMatsushita
  7276. - implemented PUT KANJI function (IO-ports 0x43-0x44)
  7277. 2002-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7278. * Implemented correct mirroring for National based FDC's
  7279. 2002-12-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7280. * Implemented mmap() in File classes:
  7281. - map a file direclty into the process memory range, the OS can
  7282. perform some optimizations this way:
  7283. - only read data when actually used
  7284. - faster swapping
  7285. - ...
  7286. - I'm not sure non-UNIX OSes (windows) have a similar function,
  7287. if not there is a fallback implemented in FileBase (we also
  7288. need this fallback for FTP, HTTP, ... files)
  7289. * Simplified/updated MSXRomDevice:
  7290. - simpler interface: you no longer need to inherit from MSXRomDevice
  7291. - use mmap() to read files
  7292. * Implemented FS4500SRAM (suggestions for a better name are welcome):
  7293. put this in your config file:
  7294. <device id="FS4500 SRAM">
  7295. <type>FS4500SRAM</type>
  7296. <parameter name="loadsram">true</parameter>
  7297. <parameter name="savesram">true</parameter>
  7298. <parameter name="sramname">FS4500.SRAM</parameter>
  7299. </device>
  7300. 2002-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7301. * added SRAM class:
  7302. This is just a small helper class that offers loading and
  7303. saving of a byte-array. For the moment only MSXRom and MSXFmPac
  7304. use it.
  7305. 2002-12-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7306. * added CRC16 routine, can be used by FDC / FDCBackends
  7307. * fixed TC8566AF: completely forgot to send step/side/motor
  7308. commands to the DiskDrive
  7309. 2002-11-30 David Heremans <david.heremans@gnu-linux.net>
  7310. * Still working towards raw track read
  7311. 2002-11-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7312. * fixed auto frameskip:
  7313. probably still needs some finetuning
  7314. 2002-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7315. * Fixed FDC bug (DriveMultiplexer)
  7316. 2002-11-27 David Heremans <david.heremans@gnu-linux.net>
  7317. * Working towards raw track read
  7318. 2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7319. * FDC rewrite, introduced DiskDrive and DriveMultiplexer classes:
  7320. - this is a relatively large rewrite, so I may have broken
  7321. something. I wanted to commit rather soon, so I only tested
  7322. the Philips FDC.
  7323. - WD2793 Type I commands are now executed the same as in the
  7324. flowcharts of the technical datasheet (verify step not yet).
  7325. 2002-11-18 David Heremans <david.heremans@gnu-linux.net>
  7326. * a small WD2793 update:
  7327. quick implementation of multi sector read
  7328. not tested and DSK backend needs to be changed
  7329. for correct behaviour!
  7330. 2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7331. * Mapped TurboR keys to left and right windows key:
  7332. I haven't checked this, so possible I swapped left and right
  7333. 2002-11-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7334. * a few WD2793 updates (David please review):
  7335. MicrosolFDC partly works now: in BASIC the commands files load save
  7336. work, but starting a game from disk doesn't work.
  7337. * converted "deinterlace" from a command to a setting:
  7338. - you should now use "set deinterlace [on|off]" instead of just
  7339. "deinterlace [on|off]"
  7340. * converted "accuracy" from a command to a setting:
  7341. - you should now use "set accuracy [line|pixel|screen]" instead of
  7342. just "accuracy [line|pixel|screen]"
  7343. 2002-11-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7344. * renamed BrazilFDC to MicorsolFDC:
  7345. doesn't work yet, I'm investigating...
  7346. * cleanups, small fixes in WD2793
  7347. 2002-11-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7348. * Implemented 'PUT KANJI acceleration' of S1985:
  7349. This fixes the font printing problem of the FS-4600F internal
  7350. software. AFAIK the FS-4600F now works completely (or at least
  7351. as good as NMS8250).
  7352. You need to add this to the FS-4600F config file:
  7353. <device id="S1985">
  7354. <type>S1985</type>
  7355. <device>
  7356. 2002-11-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7357. * National mapper type fixes:
  7358. - FS-4600F internal software seems to work, but I'm not certain
  7359. the 1st and 2nd menu option work as they should. Can someone
  7360. verify this?
  7361. * Fixed National FDC
  7362. 2002-11-11 David Heremans <david.heremans@gnu-linux.net>
  7363. * completed timing in WD for writeTrack command:
  7364. Timing still needs some fine tunning, but not much
  7365. * implemented writetrackdata in DSK backend:
  7366. Formatting with _format in BASIC seems to work
  7367. Need to compare with some real disks just to be sure.
  7368. 2002-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7369. * fixed PhilipsFDC: IDEFDISK doesn't coredump anymore
  7370. * use old style file functions: should work with both old and new gcc
  7371. 2002-11-08 Maarten ter Huurne <mth@stack.nl>
  7372. * Improved scanline emulation: the dark line is now an interpolation of
  7373. the visible lines above and below.
  7374. * Added horizontal blur: emulates the fact that MSX monitors and TVs
  7375. are not as sharp as typical PC monitors. Many game graphics are drawn
  7376. with this blurring in mind and look poor on a sharp display.
  7377. Note: scanlines and blur are implemented only in the GL renderer.
  7378. 2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7379. * added VDP reset() methods (not finished)
  7380. 2002-11-03 Maarten ter Huurne <mth@stack.nl>
  7381. * Initial version of generic settings is working now.
  7382. Currently there is only 1 setting: scanline alpha.
  7383. 2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7384. * minor cleanups
  7385. * fixed a few uninitialized variables:
  7386. - discoverd with valgrind
  7387. - some were harmless, fixed anyway to keep valgrind quiet
  7388. 2002-11-02 David Heremans <david.heremans@gnu-linux.net>
  7389. * Added two calls to the FDC backend:
  7390. These should later be used to enable the writeTrack command
  7391. 2002-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7392. * Basic TC8566AF disk controller support (TurboR):
  7393. - Based on code from NLMSX written by Frits Hilderink
  7394. - TurboR boots now! It still has a lot of missing features though.
  7395. 2002-11-01 Maarten ter Huurne <mth@stack.nl>
  7396. * Scanline emulation in SDLGLRenderer.
  7397. Very rudimentary in this stage, but it works.
  7398. 2002-10-31 Maarten ter Huurne <mth@stack.nl>
  7399. * Changed SDLGLRenderer to make it a subclass of PixelRenderer.
  7400. * Minor cleanups in SDLHiRenderer.
  7401. 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7402. * rewrite of FDC infrastructure:
  7403. - the existing diskroms are too different to handle them all
  7404. in one class -> made FDCFactory that instantiates the right
  7405. object
  7406. - Implemented support for:
  7407. - Philips based diskroms: were already supported
  7408. - Brazil based diskroms (needs better name?): IO-based
  7409. were already supported, but I never tested them
  7410. I also didn't test the new implementation
  7411. - National based diskroms (needs better name?):
  7412. also untested
  7413. The three diskroms above are all build around the WD2793 (or
  7414. compatible) controller.
  7415. - Configuration format changed slightly, see msxconfigFDC.xml
  7416. for details
  7417. 2002-10-29 Maarten ter Huurne <mth@stack.nl>
  7418. * Minor cleanups in PixelRenderer and SDLHiRenderer.
  7419. 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7420. * Implemented mapper type "NATIONAL":
  7421. completely untested, will have to wait till this weekend
  7422. 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7423. * Replaced all file reading related classes with a new class
  7424. structure. This structure:
  7425. - has a simpler and more robust interface
  7426. - is easier to port(?)
  7427. a large part of the WIN32 patch deals with file reading stuff
  7428. - has real filetype separation: rom, disk, tape, config files have
  7429. their own searchpaths
  7430. 2002-10-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7431. * Implemented "CartridgeSlotManager"
  7432. 2002-10-25 David Heremans <david.heremans@gnu-linux.net>
  7433. * "frameskip auto" completed
  7434. 2002-10-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7435. * Cartridges are only inserted after configuration is parsed, this
  7436. allows in the future to have configurable cartridge slots
  7437. * Added PANASONIC mapper type (for example used in Turbo-R for
  7438. MSX-VIEW ROM). Untested!!
  7439. 2002-10-23 Maarten ter Huurne <mth@stack.nl>
  7440. * Fixed bug in sprite drawing of SDLLo.
  7441. * Fixed bug in initialisation of horizontal adjust.
  7442. * PixelRenderer now offers left border calculation to its subclasses.
  7443. * Bug fixes and cleanups in coordinate calculation of
  7444. SDLHiRenderer::drawDisplay; SCREEN0 no longer fails the asserts.
  7445. * Cleanups in SDLHiRenderer::drawSprites.
  7446. Should be applied to other Renderers as well.
  7447. 2002-10-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7448. * Rewrite of "CommandLineParser":
  7449. - CLI options and CLI file types must be registered now, this allows
  7450. to move the implementation of, for example the "-fmpac" option, to
  7451. the MSXFmPac class where it belongs.
  7452. - This should keep the CLI more up to date with code changes and
  7453. make it easier to support new CLI options / file types.
  7454. 2002-10-21 David Heremans <david.heremans@gnu-linux.net>
  7455. * "frameskip auto" implementation started
  7456. 2002-10-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7457. * Replaced "Simple64Kb" device with "RAM" device. This device also
  7458. supports random sizes, so it is possible to make 8Kb machines.
  7459. 2002-10-20 Maarten ter Huurne <mth@stack.nl>
  7460. * Moved subdivision of area-to-be-rendered from SDLHiRenderer to
  7461. PixelRenderer. Also changed subdivision approach: before, displayPhase
  7462. would draw display area and the borders; while the new drawDisplay only
  7463. draws the display area and all the border colour drawing is done by
  7464. drawBorder.
  7465. 2002-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7466. * Implemented frameskip command:
  7467. TODO "frameskip auto", skip frames depending on CPU speed
  7468. 2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7469. * Some IDE fixes:
  7470. Harddisk works now! Following is still hardcoded:
  7471. master: harddisk, size 1GB filename "hd.dsk"
  7472. slave : not connected
  7473. I'll change this in the next couple of days
  7474. 2002-10-16 Joost Yervante Damad <joost@lumatec.be>
  7475. * removed compile-time disables for now
  7476. 2002-10-13 Maarten ter Huurne <mth@stack.nl>
  7477. * Moved absolute X coordinate to screen X coordinate translation from
  7478. PixelRenderer to SDLHiRenderer.
  7479. 2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7480. * Implemented Sunrise IDE interface:
  7481. only interface, no IDE devices yet
  7482. * Implemented very simple IDE harddisk:
  7483. IDE-BIOS detects the disk
  7484. IDE Master:LBA,Mode 4:OPEN MSX HARD DISK
  7485. IDE Slave :not detected.
  7486. but the disk can't be used. Probably because the HD isn't
  7487. partioned yet.
  7488. 2002-10-12 Maarten ter Huurne <mth@stack.nl>
  7489. * Split off some functionality from SDLHiRenderer into new PixelRenderer.
  7490. PixelRenderer will contain the common code of the pixel-based
  7491. renderers (SDLHi, SDLLo, SDLGL).
  7492. 2002-10-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7493. * Fixed sound on high endian machines (untested)
  7494. 2002-10-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7495. * Horizontal adjust is only updated the next scanline:
  7496. fixes some glitches in the "threedee rules" part of "relax"
  7497. 2002-10-05 Maarten ter Huurne <mth@stack.nl>
  7498. Last minute Bussum fixes:
  7499. * Temporarily reverted name table base fix.
  7500. This fix needs modifications in the renderers as well and I don't have
  7501. time right now to find out exactly where.
  7502. * Rewrote PhaseHandlers to specify rectangles in VDP absolute coordinates
  7503. and using exclusive limits.
  7504. Fixes crashes on MSX1 and excessive draws, maybe more.
  7505. Unknown Reality shows only minor glitches, so we can demo with pride!
  7506. 2002-10-03 Maarten ter Huurne <mth@stack.nl>
  7507. * Fixed bug in VDP: name table base was not adjusted for planar modes.
  7508. This caused wrong rendering in SCREEN7/8.
  7509. * Disabled "inside window" check for now.
  7510. Parts of the code are not ready yet to use the VRAM windows properly.
  7511. 2002-10-02 Maarten ter Huurne <mth@stack.nl>
  7512. * Updated C-BIOS to version 0.13.
  7513. 2002-09-30 Maarten ter Huurne <mth@stack.nl>
  7514. * The Great VRAM Rewrite, part 4:
  7515. Introduction of VRAMObserver interface. Not used yet.
  7516. * Minor VRAM cleanups.
  7517. 2002-09-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7518. * Read/Write memory cache for SCC+
  7519. * Unified Xanadu and Royal Blood mapper types
  7520. 2002-09-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7521. * SCC+ didn't work at all, fixed it.
  7522. Fixes Snatcher and SDSnatcher.
  7523. * Fixed RoyalBlood mapper type (not sure about Xanadu)
  7524. * Fixed Majutsushi, bad sound quality (DAC) though
  7525. * Implemented CrossBlaim mapper type (untested)
  7526. 2002-09-28 Maarten ter Huurne <mth@stack.nl>
  7527. * Updated C-BIOS to version 0.12.
  7528. * I forgot that the cbios.xml used TMS99x8A.
  7529. With a V9938, C-BIOS can run many MSX2 ROMs as well.
  7530. I created two separate config files: cbios-msx1.xml and cbios-msx2.xml.
  7531. 2002-09-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7532. * GLFont uses 16x16 character texture instead of 256x1
  7533. 2002-09-22 Maarten ter Huurne <mth@stack.nl>
  7534. * Updated C-BIOS to version 0.11.
  7535. Boukichi sure understands "release early; release often". :)
  7536. 2002-09-20 Maarten ter Huurne <mth@stack.nl>
  7537. * Updated C-BIOS to version 0.10.
  7538. 2002-09-17 Maarten ter Huurne <mth@stack.nl>
  7539. * Updated C-BIOS to version 0.08.
  7540. 2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7541. * Added "deinterlace" command:
  7542. switch at-run-time between stable and unstable interlace
  7543. only SDLHiRenderer and SDLGLRenderer
  7544. 2002-09-08 Maarten ter Huurne <mth@stack.nl>
  7545. * Updated C-BIOS to version 0.07.
  7546. 2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7547. * Enabled pixel accurate rendering in SDLHiRenderer:
  7548. - for some reason the NOTONLYSNESCANDOTHIS part in Unknown Reality
  7549. is not extremely slow (it is when using SDLGLRenderer)
  7550. - remember you have to manually enable pixel accurate rendering
  7551. with the command "accuracy pixel"
  7552. * Enabled pixel accurate rendering in SDLLoRenderer
  7553. 2002-09-08 Joost Yervante Damad <joost@lumatec.be>
  7554. * mv configure.in -> configure.ac [autotools recommendation]
  7555. * configure exits on failure to find SDL_image library
  7556. 2002-09-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7557. * Correct blending in all non-paletted modes, no blending in
  7558. paletted modes
  7559. * Implemented "accuracy" command. This allows to switch at-run-time
  7560. between pixel/line/screen accuracte rendering. For the moment
  7561. no screen accurate rendering and only for SDLGLRenderer.
  7562. 2002-09-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7563. * Dont't stop when sound device couldn't be opened, just continue
  7564. without sound.
  7565. 2002-09-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7566. * Added some Turbo-R specific devices:
  7567. - MSXTurboRPauze: without this BIOS gets stuck in pauze loop
  7568. - MSXS1990 (minimal): Needed to switch between Z80 / R800
  7569. - MSXF4Device (needs a better name): to distinguish between
  7570. cold/warm boot and Z80/R800 boot-pass
  7571. - MSXTurboRLeds
  7572. Turbo-R doesn't boot yet :-(
  7573. 2002-09-01 Maarten ter Huurne <mth@stack.nl>
  7574. * Updated C-BIOS to version 0.06.
  7575. 2002-08-31 Maarten ter Huurne <mth@stack.nl>
  7576. * The Great VRAM Rewrite, part 3:
  7577. SpriteChecker does all of its VRAM reading through VDPVRAM::Window.
  7578. Only CPU does non-windowed reads anymore.
  7579. All planar remapping occurs outside of VDPVRAM.
  7580. 2002-08-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7581. * Move common code from SDLConsole and GLConsole to a new parent class
  7582. * Added R800:
  7583. there is nothing implemented to switch from Z80 to R800, so for the
  7584. moment R800 is not yet usable
  7585. 2002-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7586. * SDLGLRenderer:
  7587. small cleanups
  7588. when interlaced, display odd fields half a line lower
  7589. 2002-08-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7590. * FDC supports 2 drives
  7591. 2002-08-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7592. * Implemented pixel-accurate rendering in SDLGLRenderer:
  7593. - scope part in Unknown Reality is correct now!
  7594. - some parts are _very_ slow now, implementation can still be
  7595. optimized a lot and speed should also improve when VDPVRAM
  7596. is finished.
  7597. * Implemented "vdpregs" command to help vdp debugging
  7598. 2002-08-26 Maarten ter Huurne <mth@stack.nl>
  7599. * Updated C-BIOS to version 0.05.
  7600. 2002-08-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7601. * Implemented partial character rendering for SDLGLRenderer:
  7602. - fixes top border while vertical scrolling in Space Manbow
  7603. - fixes Psycho World
  7604. * Implemented vertical scrolling in TextMode1 in SDLGLRenderer
  7605. 2002-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7606. * Use SDL_image to load images (.png .bmp .jpg ...)
  7607. * Implemented GLConsole for SDLGLRenderer
  7608. - old console didn't always work for SDLGLRenderer
  7609. - a lot faster
  7610. - per pixel alpha blending:
  7611. ConsoleBackground and ConsoleFont can be true RGBA images
  7612. (current pictures are .bmp, they don't have an alpha channel)
  7613. 2002-08-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7614. * Implemented R-Type mapper
  7615. * Fixed vertical scrolling in text modes
  7616. (except TextMode1 in SDLGLRenderer)
  7617. 2002-08-21 Maarten ter Huurne <mth@stack.nl>
  7618. * Added C-BIOS 0.04 to Contrib directory.
  7619. * Added config XML for using C-BIOS to src/cfg.
  7620. 2002-08-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7621. * VDP code:
  7622. - trivial fixes / cleanups
  7623. - low resolution (SDLLo) rendering improvements
  7624. try SCREEN 0 WIDTH 80
  7625. only 24bpp modes yet
  7626. * Z80 fix:
  7627. IFF2 should be reset while acknowledging an IRQ
  7628. this fixes music in "Break-In"
  7629. 2002-08-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7630. * major cleanups, minor tweaks / fixes
  7631. 2002-08-16 Maarten ter Huurne <mth@stack.nl>
  7632. * Fixed wrong use of sizeof(array): it returns #bytes, not #elements.
  7633. Caused a segfault on Sparc.
  7634. 2002-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7635. * Fixed SD-Snatcher loading bug:
  7636. - disk has a non-standard bootsector (sectors per track and number
  7637. of sides) is wrong. Updated heuristics to detect 9 sectors per
  7638. track and 2 sides in case disk image has 80*2*9 sectors.
  7639. How does the BDOS read this disk? Perhaps it uses the media
  7640. descriptor?
  7641. 2002-08-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7642. * Split MSXMotherBoard in:
  7643. - MSXCPUInterface: handles communication between a MSXDevice and CPU
  7644. - registration of IO- and memory-space
  7645. - slotselection mechanism
  7646. - MSXMotherboard: keeps a list of all MSXDevices
  7647. 2002-08-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7648. * more Z80 cleanups
  7649. * commands can now also be bound to key releases (was only keypresses)
  7650. example: unbind F9
  7651. bind F9 "throttle off"
  7652. bind f9,up "throttle on"
  7653. this disables throttling while you hold F9
  7654. 2002-08-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7655. * Z80 fixes:
  7656. V_FLAG was wrong with SUB/SBC/CP instructions
  7657. * Z80 fixes:
  7658. XF and YF flags where wrong with BIT n,r instruction
  7659. * major Z80 cleanup:
  7660. - greatly reduced code duplication in CPUCore.n2
  7661. 2002-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7662. * More robust Thread class
  7663. * cleanups, especially in JoyNet
  7664. * fix bug [592594] MSXFDC doesn't work with single sided disks
  7665. 2002-08-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7666. * Z80 cleanups / fixes:
  7667. especially fixes for the 2 undocumented flags (bit 3 and bit 5)
  7668. * New config file format for inserted disks / tapes
  7669. * Applied Manuel's patch [592591]:
  7670. romdb.xml is searched with FileOpener
  7671. 2002-08-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7672. * Full support for .XSA disk images
  7673. 2002-08-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7674. * Enabled SDLConsole in SDLGL renderer:
  7675. current code is only a temporary solution for the following reasons:
  7676. - use of SDL_OPENGLBLIT is heavily discouraged, see
  7677. http://www.libsdl.org/pipermail/sdl/2001-November/039852.html
  7678. - transparancy doesn't work in 16-bit video modes
  7679. (an SDL limitation)
  7680. in the future we should make a native GLConsole
  7681. 2002-08-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7682. * Allow multiple "md5" tags per "rom" tag
  7683. * Low level tape support (experimental)
  7684. 2002-08-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7685. * wrote doc/commands.txt
  7686. * cleanups, small fixes in RomTypes and MSXRom
  7687. * added some entries in romdb.xml
  7688. 2002-08-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7689. * EmuTime cleanups:
  7690. introduced EmuDuration class
  7691. - the subtraction of 2 EmuTimes results in an EmuDuration,
  7692. this used to result in another EmuTime
  7693. - an EmuDuration can be added to / subtracted from an EmuTime,
  7694. this results in another EmuTime
  7695. * DACSound:
  7696. - totally discarded old implementation
  7697. - new implementation is extremely simple, relatively slow, has
  7698. poor sound quality, but is bug free
  7699. 2002-07-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7700. * Made "check-db":
  7701. a primitive tool to compare a romtype database against the build-in
  7702. rom autodetection algorithm
  7703. * When console is up, keypresses are blocked for MSX-Keyboard:
  7704. this implementation should work in all cases (hopefully)
  7705. 2002-07-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7706. * cleanups
  7707. * Support for "ROM database"
  7708. 2002-07-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7709. * Experimental support for .xsa disk images
  7710. * Removed "automappertype" parameter, you can still explicitly specify
  7711. autodetection by setting "mappertype" to "auto"
  7712. * Added MD5 class:
  7713. will be used for mappertype detection of difficult ROMs
  7714. 2002-07-24 Maarten ter Huurne <mth@stack.nl>
  7715. * Added debug option NOTIME_EXECUTION, to make VDP command execute in
  7716. zero EmuTime. Useful for tracking "no/partial images" bugs.
  7717. 2002-07-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7718. * MSXDiskRomPatch supports 2 drives again
  7719. 2002-07-22 Maarten ter Huurne <mth@stack.nl>
  7720. * The Great VRAM Rewrite, part 2:
  7721. SpriteChecker does most of its VRAM reading through VDPVRAM::Window.
  7722. Updated doc/vram-addressing.txt with details of sprite indexing.
  7723. Proper support for planar modes is still missing.
  7724. 2002-07-21 Maarten ter Huurne <mth@stack.nl>
  7725. * The Great VRAM Rewrite, part 1:
  7726. Renderers do all their VRAM reading through VDPVRAM::Window now.
  7727. See doc/vram-addressing.txt for background info.
  7728. 2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7729. * Implemented "bind" and "unbind" command
  7730. 2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7731. * Moved event related files to new directory
  7732. * Added Keys class:
  7733. translates keyCodes to keyNames and vice versa
  7734. 2002-07-09 David Heremans <david.heremans@gnu-linux.net>
  7735. * Improved portbased interface to MSXFDC
  7736. 2002-07-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7737. * Enabled console in SDLLoRenderer
  7738. 2002-07-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7739. * Reenabled SDLLoRenderer:
  7740. - just a copy-paste from SDLHi and adjusted a few routines
  7741. - console is disabled in SDLLo
  7742. - not very well tested yet
  7743. 2002-07-07 David Heremans <david.heremans@gnu-linux.net>
  7744. * Added portbased interface to MSXFDC for Brazilian MSX's
  7745. 2002-07-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7746. * Moved cassette related code to its own directory
  7747. * Cleanups
  7748. 2002-06-30 David Heremans <david.heremans@gnu-linux.net>
  7749. * Added index mark to the FDC status register (not tested yet!)
  7750. 2002-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7751. * Initial version of DiskImageManager (WIP):
  7752. - insert disk from commandline doesn't work yet
  7753. - MSXFDC compiles, but not yet tested
  7754. - MSXDiskROMPatch only supports 1 drive
  7755. - FDC_DSK backend only supports double sided disks
  7756. * Insert disk from command line works again:
  7757. - just a hack, we need a better configuration format for this
  7758. * MSXFDC still seems to work:
  7759. - config file changed slightly, see msxconfigFDC.xml
  7760. - David please check my modifications, especially the error
  7761. handling code
  7762. 2002-06-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7763. * MSXRom fix:
  7764. map 32kb ROMs in the right place
  7765. 2002-06-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7766. * Small Mixer fix, cleanups
  7767. 2002-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7768. * Enabled console background
  7769. * Console font and background filename are read from config file
  7770. 2002-06-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7771. * Moved thread related code to its own subdirectory
  7772. * Added unregisterHotKey() and unregisterHotKeyCommand() methods
  7773. * Enabled "renderer" command
  7774. 2002-06-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7775. * Console commands and HotKeys are now executed by the main thread:
  7776. - this removes some (potential) races, so some bugs like
  7777. "This crashed once, but I can't reproduce it"
  7778. might be gone.
  7779. - this is a rather fundamental change, it might still contain some
  7780. glitches.
  7781. * Removed all registerAsync__() methods:
  7782. they aren't used anymore and they shouldn't be in the future
  7783. * Introduced condition variables (thread locking):
  7784. used in Scheduler to implement pause
  7785. * Added unregisterEventListener() method
  7786. 2002-06-18 David Heremans <david.heremans@gnu-linux.net>
  7787. * Basic timing for all FDC Type I commands
  7788. 2002-06-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7789. * Tab-completion now works for zero-length tokens
  7790. 2002-06-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7791. * Use exceptions for command error reporting
  7792. 2002-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7793. * Simplified MSXRomPatchInterface
  7794. 2002-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7795. * Scheduler fixes
  7796. * Removed MSX16KB device:
  7797. MSXGameCartridge can do everything what MSX16KB could
  7798. * Renamed:
  7799. MSXRom -> MSXRomDevice
  7800. MSXGameCartridge -> MSXRom
  7801. * Moved common code to MSXRomDevice
  7802. * "filesize 0" no longer means autodetection, instead use
  7803. "filesize auto" (or just don't mention filesize)
  7804. 2002-06-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7805. * ConsoleCommand parser now understands quoted tokens or tokens with
  7806. escaped characters. Examples:
  7807. diska a\ space.dsk
  7808. diska "a space.dsk"
  7809. diska a\"quote.dsk
  7810. It should now be possible to enter any string as a command token.
  7811. 2002-06-11 David Heremans <david.heremans@gnu-linux.net>
  7812. * basic FDC fully working:
  7813. Fixed minor bug (all my tested disks work now)
  7814. Implemented small speed up
  7815. 2002-06-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7816. * Commands can now be unregistered again
  7817. * cleanups
  7818. 2002-06-10 David Heremans <david.heremans@gnu-linux.net>
  7819. * basic FDC implemenation partialy working:
  7820. DSK backend working
  7821. All Type I functions working
  7822. Type II partial (readSector OK, writeSector doesn't check for write
  7823. protected images yet)
  7824. No Type III commands yet
  7825. 2002-06-06 David Heremans <david.heremans@gnu-linux.net>
  7826. * First step towards an FDC implemenation:
  7827. Basic structure is provided
  7828. MSXFDC as good as finalized.
  7829. 2002-06-05 Joost Yervante Damad <andete@worldcity.nl>
  7830. * preliminary auto* libpng support [David is learning auto* woowoo!]
  7831. 2002-06-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
  7832. * Implemented "speed" command, try "help speed" in console
  7833. 2002-06-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7834. * MSXGameCartridge cleanup
  7835. 2002-05-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7836. * Fixed PAINTER.ROM:
  7837. mappertype autodetection doesn't work, start with
  7838. ./openmsx roms/PAINTER.ROM,64kb
  7839. * Fixed MSXSCCPlusCart:
  7840. delete SCC in destructor
  7841. ignore reads/writes outside address space
  7842. 2002-05-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7843. * writing the same value twice to an (output) connector doesn't change
  7844. the status of that connector, so don't call the write method of that
  7845. connector twice (Joystick, PrinterPort, Y8950Keyboard)
  7846. 2002-05-23 Bas Wijnen <b.wijnen@student.rug.nl>
  7847. * Mutexes added around PRT_* macros
  7848. 2002-05-22 Maarten ter Huurne <mth@stack.nl>
  7849. * SDLGLRenderer uses block textures in Text1 (SCREEN0.40).
  7850. * SDLGLRenderer uses block textures in Graphics2 (SCREEN2).
  7851. * Rendering sprites in SDLGLRenderer is a lot faster now, because
  7852. textures aren't immediately destroyed after drawing.
  7853. 2002-05-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7854. * small sprite rendering optimizations
  7855. 2002-05-18 Bas Wijnen <b.wijnen@student.rug.nl>
  7856. * Added files for Xlib renderer. Mostly unimplemented.
  7857. 2002-05-15 Maarten ter Huurne <mth@stack.nl>
  7858. * SDLGLRenderer uses textures.
  7859. 2002-05-15 Bas Wijnen <b.wijnen@student.rug.nl>
  7860. * g++-3.0 fixes
  7861. 2002-05-15 David Heremans <david.heremans@gnu-linux.net>
  7862. * JoyNet cable using TCP/IP implemented
  7863. 2002-05-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7864. * converted some ints to unsingned ints
  7865. 2002-05-13 Joost Yervante Damad <andete@worldcity.nl>
  7866. * fixed some files mising in the Makefile.am
  7867. 2002-05-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7868. * made "diska" and "diskb" commands
  7869. 2002-05-09 Joost Yervante Damad <andete@worldcity.nl>
  7870. * File, HttpFile, LocalFile [work in progress]
  7871. 2002-05-08 Bas Wijnen <b.wijnen@student.rug.nl>
  7872. * fixed console-key-pass-bug and some minor things
  7873. 2002-05-06 David Heremans <david.heremans@gnu-linux.net>
  7874. * Skeleton files for JoyNet configuration
  7875. 2002-05-05 Bas Wijnen <b.wijnen@student.rug.nl>
  7876. * Game Master 2 is working with SRAM and guessing.
  7877. 2002-05-03 Bas Wijnen <b.wijnen@student.rug.nl>
  7878. * Created src/FileType.hh for g++-3.0 and some g++-3.0 fixes
  7879. 2002-05-02 Maarten ter Huurne <mth@stack.nl>
  7880. * Calculate pixel precision coordinates.
  7881. They are approximately right, but not exactly right yet.
  7882. 2002-05-02 Joost Yervante Damad <andete@worldcity.nl>
  7883. * File, HttpFile, LocalFile [work in progress]
  7884. 2002-05-01 David Heremans <david.heremans@gnu-linux.net>
  7885. * Skeleton files for JoyNet device
  7886. 2002-04-30 Joost Yervante Damad <andete@worldcity.nl>
  7887. * s/-fhuge-objects//g
  7888. * verious g++-3.0 fixes
  7889. 2002-04-29 Maarten ter Huurne <mth@stack.nl>
  7890. * SDLGLRenderer is working again.
  7891. * SDLGLRenderer now uses CharacterConverter and BitmapConverter.
  7892. * Removed double buffering from SDLHiRenderer. It didn't work and
  7893. without double buffering more optimisations are possible.
  7894. * Renderers use screen position instead of EmuTime for internal update
  7895. targets. It was like this before the VDPVRAM introduction and with
  7896. the cleaned up implementation it is possible again.
  7897. It also fixes a bug where too many lines were scanline converted.
  7898. This caused no glitches, but it did waste CPU cycles.
  7899. * Also made SpriteChecker use screen position rather than EmuTime.
  7900. 2002-04-29 Joost Yervante Damad <andete@worldcity.nl>
  7901. * small cleanup FilePath [sorry guys!]
  7902. * more proper cleanup
  7903. 2002-04-28 Maarten ter Huurne <mth@stack.nl>
  7904. * Some VDP cleanups.
  7905. 2002-04-28 Joost Yervante Damad <andete@worldcity.nl>
  7906. * FilePath stuff for future FileManager
  7907. 2002-04-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7908. * Tab-completion updates
  7909. 2002-04-28 Maarten ter Huurne <mth@stack.nl>
  7910. * Removed re-entering of SpriteChecker::sync and Renderer::sync.
  7911. Display enable/disable changes now go through VDPVRAM.
  7912. Various other cleanups.
  7913. Most sprite glitches are fixed now.
  7914. 2002-04-28 Bas Wijnen <b.wijnen@student.rug.nl>
  7915. * Added includes, std:: prefixes and unsigned char casts
  7916. to allow compile with g++-3
  7917. 2002-04-27 Maarten ter Huurne <mth@stack.nl>
  7918. * Display mode changes now go through VDPVRAM.
  7919. It also performs planar reorder on single-byte reads and writes.
  7920. 2002-04-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7921. * VDP Text2 dirty colour table check
  7922. 2002-04-24 Maarten ter Huurne <mth@stack.nl>
  7923. * Fixed a bug in SpriteChecker and also simplified it.
  7924. 2002-04-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7925. * more accurate VDP command timing:
  7926. 2002-04-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7927. * Enabled VDP command timing:
  7928. recalculated table, no difference 50/60Hz anymore
  7929. 2002-04-23 Maarten ter Huurne <mth@stack.nl>
  7930. * Re-enabled SDLGLRenderer.
  7931. 2002-04-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7932. * tuned relative volume Y8950-ADPCM / -FM (thanks Manuel)
  7933. 2002-04-18 Maarten ter Huurne <mth@stack.nl>
  7934. * Separated sprite checking into a separate class.
  7935. Works, but with glitches.
  7936. 2002-04-17 Joost Yervante Damad <andete@worldcity.nl>
  7937. * added tools/ dir and bin2c tool
  7938. * added --disable-SCC
  7939. * added --disable-FMPAC
  7940. * added --disable-MSXMUSIC
  7941. * more "--disable-XXX"'s to come ;-)
  7942. 2002-04-16 Maarten ter Huurne <mth@stack.nl>
  7943. * More VDPVRAM and related cleanups.
  7944. 2002-04-15 David Heremans <david.heremans@gnu-linux.net>
  7945. * Enhancements to the developpers FAQ
  7946. 2002-04-15 Joost Yervante Damad <andete@worldcity.nl>
  7947. * extended commandline parser to support keyinserter
  7948. 2002-04-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7949. * Extended KeyEventInserter so it can be used in Tilburg
  7950. * Fixed YM2413 drums: playing the same drum twice now works
  7951. 2002-04-13 Maarten ter Huurne <mth@stack.nl>
  7952. * VDPVRAM and related cleanups.
  7953. 2002-04-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7954. * DACSound cleanup (still has the same(?) bug)
  7955. * EventDistributor simplification:
  7956. use Scheduler for synchronous event delivery
  7957. thanks Maarten for the idea
  7958. * Made Scheduler thread safe
  7959. * #include cleanups
  7960. * Y8950 generates an IRQ on end-of-sample _in_EmuTime_ (was realtime)
  7961. * Implemented Y8950 keyboard connector:
  7962. just the connector, no keyboard yet
  7963. * More accurate ADPCM readback (thanks Maarten)
  7964. 2002-04-11 David Heremans <david.heremans@gnu-linux.net>
  7965. * Royal blood works, use type ASCII8SRAM2!
  7966. Xanadu resets to Basic, Hydlide2 hangs.
  7967. 2002-04-11 Maarten ter Huurne <mth@stack.nl>
  7968. * Introduced "renderer" command to print current renderer and switch
  7969. to another one. However, switching from SDLHi to SDLGL hangs SDL.
  7970. Well, at least the renderer destructors are finally implemented.
  7971. 2002-04-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7972. * Finally (?) fixed Y8950 samples:
  7973. "Arranger 4" sounds ok now
  7974. * Implemented ADPCM readback (untested)
  7975. 2002-04-11 David Heremans <david.heremans@gnu-linux.net>
  7976. * Royal blood works, use type ASCII8SRAM2!
  7977. Xanadu resets to Basic, Hydlide2 hangs.
  7978. 2002-04-11 David Heremans <david.heremans@gnu-linux.net>
  7979. * Added (not tested) support for ASCII8SRAM type to MSXGameCartridge.
  7980. 2002-04-08 David Heremans <david.heremans@gnu-linux.net>
  7981. * Added support for Hydlide2 type to MSXGameCartridge.
  7982. * Added generic support for SRAM to MSXGameCartridge.
  7983. * Enhanced CommandLineParser to support SRAM filenames
  7984. for games.
  7985. 2002-04-08 Maarten ter Huurne <mth@stack.nl>
  7986. * Took character scanline conversion out of SDLHiRenderer as well,
  7987. its new home is a class called CharacterConverter.
  7988. 2002-04-07 Maarten ter Huurne <mth@stack.nl>
  7989. * Took bitmap scanline conversion out of SDLHiRenderer and put it in
  7990. a separate class called BitmapConverter.
  7991. It is necessary to reduce the size of SDLHiRenderer, because its
  7992. source had become too large to manage (over 1250 lines).
  7993. 2002-04-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  7994. * small update to doc/developersFAQ.txt
  7995. 2002-04-05 Joost Yervante Damad <andete@worldcity.nl>
  7996. * added --enable-interlacing ./configure argument
  7997. see also ./configure --help and src/config.h.in
  7998. after rerunning ./autogen.sh
  7999. 2002-04-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8000. * Console cleanup
  8001. * Console is no longer a singleton, instead there is now a singleton
  8002. ConsoleManager. All Consoles must register with the ConsoleManager.
  8003. * Made InteractiveConsole subclass of Console:
  8004. SDLConsole inherit from InteractiveConsole
  8005. a logging-only console inherits from Console
  8006. * Bumped version number
  8007. * ConsoleFont.bmp can now be in any configured directory
  8008. 2002-04-04 David Heremans <david.heremans@gnu-linux.net>
  8009. * Added more debug info to MSXGameCartrdige.
  8010. * Fixed an error in SCCplus cartridge
  8011. * Addapted SCCplus cartridge to use FileOpener
  8012. 2002-04-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8013. * Moved ADPCM part of Y8950 to its own file
  8014. * Fixed ADPCM bug:
  8015. addresses where a factor 8 too low, only first sample was
  8016. played correctly
  8017. * Made console command "fullscreen", PrtScrn is bound to this command
  8018. * Console command "mute" takes on/off parameter
  8019. * Console command "pause" takes on/off parameter
  8020. * Made console command "console", F10 is bound to this command
  8021. 2002-04-01 Joost Yervante Damad <andete@worldcity.nl>
  8022. * FileManager sync [WIP]
  8023. * a first proposal for a FileManager API, I'll
  8024. implement it soon if noone objects [or at least
  8025. something like this!]
  8026. 2002-03-31 Maarten ter Huurne <mth@stack.nl>
  8027. * Cleaned up VRAM implementation a little.
  8028. Still plenty of work to be done.
  8029. 2002-03-30 Maarten ter Huurne <mth@stack.nl>
  8030. * Added new VDPVRAM class, which manages VRAM.
  8031. It is far from finished, but even in the current state it should be
  8032. no less accurate than what we had before.
  8033. 2002-03-30 Joost Yervante Damad <andete@worldcity.nl>
  8034. * made CommandlineParser xml entity safe
  8035. 2002-03-28 David Heremans <david.heremans@gnu-linux.net>
  8036. * Added MC6850 and sampleram to '-musmod' CLI option.
  8037. * Added article written for the Dutch MSX-infoblad.
  8038. The png's are ment to be printed and where not scaled for
  8039. webpurposes.
  8040. 2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8041. * Added dummy MC6850 (ACIA used in MSX Music Module for MIDI):
  8042. "FAC demo 3" now detects MSX Music Module
  8043. 2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8044. * amount of sample-ram is now configurable
  8045. 2002-03-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8046. * implemented Y8950 timers
  8047. * implemented "throttle" command
  8048. 2002-03-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8049. * fixed crash when a specified file did not exists:
  8050. for some reason C++ doesn't throw exception beyond the constructor,
  8051. even explicitly (re)throwing an exception in the constructor doesn't
  8052. work
  8053. 2002-03-25 Joost Yervante Damad <andete@worldcity.nl>
  8054. * made VPATH compiles work, fixes 'make distcheck' also
  8055. * bumped version no
  8056. 2002-03-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8057. * implemented RYTHM sounds for Y8950 (MSX-AUDIO): untested!
  8058. * reworked IRQ handling:
  8059. CPU keeps IRQStatus (was CPUInterface)
  8060. this way CPU can react directly on unannounced IRQs
  8061. (eg: Y8950 end-of-sample IRQ)
  8062. 2002-03-24 David Heremans <david.heremans@gnu-linux.net>
  8063. * Added more helptext to the CommandlineParser.
  8064. * Made the 64 kB roms Manuel send me working.
  8065. * Enhanced the autodection of MSXGameCartrdige.
  8066. 2002-03-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8067. * Y8950 and YM2413 cleanups
  8068. 2002-03-24 Joost Yervante Damad <andete@worldcity.nl>
  8069. * fixed configure.in
  8070. * continuation of <filepath>
  8071. 2002-03-23 Joost Yervante Damad <andete@worldcity.nl>
  8072. * more CustomConfig framework
  8073. * started on FilePath CustomConfig
  8074. * this is WIP, and is not finished yet!
  8075. 2002-03-21 David Heremans <david.heremans@gnu-linux.net>
  8076. * Again a (total) rewrite of CommandlineParser.
  8077. A simpler and cleaner design then the previous one, and
  8078. easy to extend for other CLI-options.
  8079. 2002-03-20 Joost Yervante Damad <andete@worldcity.nl>
  8080. * XML::Escape support added to libxmlx
  8081. * usage is explained in the header
  8082. * if you make xml that is feeded into libxmlx,
  8083. you need to escape it first, to allow entity
  8084. escaping for &, <, >, ...
  8085. * cleaned up libxmlx dir, libxmlx is now dual
  8086. licensed GPL and LGPL
  8087. 2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8088. * updated config files
  8089. 2002-03-19 Joost Yervante Damad <andete@worldcity.nl>
  8090. * started on CustomConfig
  8091. * added src/config/ dir, moved initial files
  8092. 2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8093. * various Y8950 improvements, not sure adpcm part is completely fixed
  8094. * fixed getName() for Schedulable (eg VDP)
  8095. * fixed virtual inheritance constructor invocations
  8096. 2002-03-18 Joost Yervante Damad <andete@worldcity.nl>
  8097. * small fix in src/Makefile.am, I hope this solves
  8098. David's compilation problems
  8099. 2002-03-17 Maarten ter Huurne <mth@stack.nl>
  8100. * Fixed graphical glitch when switching between PAL and NTSC timing.
  8101. * Minor clean-ups in SDLGLRenderer.
  8102. 2002-03-16 Maarten ter Huurne <mth@stack.nl>
  8103. * Implemented blanking in SDLGLRenderer.
  8104. * Implemented side borders in SDLGLRenderer.
  8105. * Implemented sprites in SDLGLRenderer.
  8106. * Only compile SDLGLRenderer if OpenGL was detected.
  8107. 2002-03-15 Maarten ter Huurne <mth@stack.nl>
  8108. * Improved line rounding in renderer sync.
  8109. * Fixed side border widths in text mode.
  8110. 2002-03-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8111. * Fixed SCC distortion (was unsigned->signed conversion bug)
  8112. * [Experimental] First order high-pass IIR filtering in Mixer
  8113. * Tab completion of filenames for "disk" and "tape" command
  8114. 2002-03-14 Maarten ter Huurne <mth@stack.nl>
  8115. * Fixed ASCII16K MegaROM mapper.
  8116. Eggerland 2 works now, but is still autodetected incorrectly.
  8117. 2002-03-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8118. * Fixed tab completion bug
  8119. * Fixed printed CPU T-States (only printed value was wrong)
  8120. * Fixed crash when RTC.SAVE or FMPAC.PAC where missing
  8121. 2002-03-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8122. * convert CassettePort to Connector-Pluggable structure
  8123. * MSXSimple:
  8124. - converted from MSXIODevice to PrinterPortDevice
  8125. - renamed to PrinterPortSimple
  8126. * MSXPrinterLogger:
  8127. - converted from MSXIODevice to PrinterPortDevice
  8128. - renamed to PrinterPortLogger
  8129. 2002-03-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8130. * made Connector-Pluggable aware of EmuTime
  8131. * convert PrinterPort to Connector-Pluggable structure
  8132. 2002-03-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8133. * Console cleanup
  8134. * Added console prompt
  8135. * Tab completion for help command
  8136. * Fixed uninitialized variable (enabledSCC) in MSXGameCartridge
  8137. * made MSXConfig::getParameterAsXXX() methods throw execptions again
  8138. 2002-03-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8139. * Split Console in Console and CommandController:
  8140. commands can now execute without a Console
  8141. * Implemented help command
  8142. * Re-implemented tab-completion:
  8143. - completion till longest common match
  8144. - if there is only one match left a ' ' is added
  8145. - option for context sensitive completion (not yet tested)
  8146. * Implemented tab completion for (un)plug command:
  8147. name of connector and pluggable gets completed
  8148. 2002-03-07 Maarten ter Huurne <mth@stack.nl>
  8149. * Fixed Generic16K MegaROM mapper. DOS2 works now.
  8150. 2002-03-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8151. * Added plug-connector infrastructure:
  8152. - only very basic support yet
  8153. - changed joystick stuff to use this
  8154. 2002-03-07 David Heremans <david.heremans@gnu-linux.net>
  8155. * New internal structure of CommandlineParser is working
  8156. This will make it possible to have extra parameters for
  8157. cartridges,disks, or in a more global context.
  8158. * Small fix to MSXGameCartridge
  8159. 2002-03-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8160. * split console commands in tokens
  8161. 2002-03-05 Joost Yervante Damad <andete@worldcity.nl>
  8162. * simplified auto* support for OpenGL
  8163. see src/config.h after running autogen.sh
  8164. to see which vars to use. For now it searches
  8165. for <gl.h> or <GL/gl.h> and for -lGL
  8166. This should allow easy conditional compile
  8167. of SDLGLRenderer.
  8168. 2002-03-04 Maarten ter Huurne <mth@stack.nl>
  8169. * Added SDLGLRenderer (work in progress).
  8170. * Added nms8250.xml to distributed files.
  8171. * Fixed compile warnings in VDPCmdEngine.
  8172. 2002-03-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8173. * SCC cleanups and tiny tweaks
  8174. 2002-03-04 Joost Yervante Damad <andete@worldcity.nl>
  8175. * added auto* support for OpenGL
  8176. 2002-03-03 Maarten ter Huurne <mth@stack.nl>
  8177. * Made sure unused bits in GRB palette value are zero.
  8178. 2002-03-02 Maarten ter Huurne <mth@stack.nl>
  8179. * Implemented fixed palette for sprites in Graphic 7 mode.
  8180. 2002-03-01 Joost Yervante Damad <andete@worldcity.nl>
  8181. * cleanup & documentation for libxmlx
  8182. * tightened interface in xmlx.hh
  8183. * tiny configure.in fixes
  8184. * bumped version number
  8185. 2002-02-28 Maarten ter Huurne <mth@stack.nl>
  8186. * Fixed enlarged sprites. (David, you can fly your heli now! ;)
  8187. 2002-02-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8188. * moved sound related files to new directory "sound"
  8189. * fixed MSX-MUSIC in CTNG products:
  8190. a real MSX-MUSIC is enabled on power-on
  8191. 2002-02-27 Joost Yervante Damad <andete@worldcity.nl>
  8192. * doxygen cleanups
  8193. * updated homepage
  8194. 2002-02-27 Maarten ter Huurne <mth@stack.nl>
  8195. * Fixed even/odd page flipping, it was overzealous.
  8196. 2002-02-27 Joost Yervante Damad <andete@worldcity.nl>
  8197. * simplified auto* setup for crosscompiling
  8198. * added atoll.c code for platforms that don't support that function
  8199. * crosscompiling now works, xmlxdump.exe works, openmsx.exe
  8200. doesn't work yet
  8201. * for instructions, see README.WIN32
  8202. * fixed faulty CHECK_FUNC in configure.in
  8203. * atoll.c is now only used when needed
  8204. 2002-02-25 Maarten ter Huurne <mth@stack.nl>
  8205. * Implemented even/odd and interlace display.
  8206. 2002-02-24 Maarten ter Huurne <mth@stack.nl>
  8207. * Fixed port C read bug in PPI.
  8208. Now keyboard works in SBB promo and CAPS is off at boot time.
  8209. * Implemented VDP name table masking (R#2) in bitmap modes.
  8210. The 12 scrolls part of the Source of Power works now.
  8211. * Implemented blinking in Text2 display mode.
  8212. * Disabled SDLLoRenderer for now; it is not actively maintained.
  8213. 2002-02-23 Maarten ter Huurne <mth@stack.nl>
  8214. * Fixed Graphic7 border colour.
  8215. 2002-02-22 Maarten ter Huurne <mth@stack.nl>
  8216. * Implemented VDP overscan.
  8217. Can use some more cleanup, but it works.
  8218. 2002-02-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8219. * PrinterPortDevice now receives EmuTime:
  8220. this is necessary for devices like Simple
  8221. 2002-02-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8222. * moved CPU related files to subdirectory
  8223. 2002-02-18 David Heremans <david.heremans@gnu-linux.net>
  8224. * added simple and a printerlogger.
  8225. Two devices that are connect to the printerport on a real MSX.
  8226. The first is a DAC to play samples, the other logs all the data
  8227. that a printer would normally print.
  8228. 2002-02-17 Joost Yervante Damad <j.damad@qahwah.net>
  8229. * added atoll support for platforms that don't have
  8230. that function [code taken from newlib, a libc for
  8231. embedded systems]
  8232. 2002-02-16 Maarten ter Huurne <mth@stack.nl>
  8233. * Moved "display or border" calculation from renderer to VDP.
  8234. This is a preparation for overscan and for accurate VRAM timing.
  8235. 2002-02-15 David Heremans <david.heremans@gnu-linux.net>
  8236. * Nicer mappertypes for the MSXGameCartridge:
  8237. As requested by Maarten you can now specify easier to remember
  8238. names (like ASCII8, SCC,KONAMI4,...) for the different mapper
  8239. types instead of the numbers.
  8240. 2002-02-15 Maarten ter Huurne <mth@stack.nl>
  8241. * Added "palette" console command.
  8242. 2002-02-15 David Heremans <david.heremans@gnu-linux.net>
  8243. * Nicer mappertypes for the MSXGameCartridge:
  8244. As requested by Maarten you can now specify easier to remember
  8245. names (like ASCII8, SCC,KONAMI4,...) for the different mapper
  8246. types instead of the numbers.
  8247. 2002-02-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8248. * CPU speedup:
  8249. CPU doesn't check the IRQ line after each instruction anymore, only
  8250. directly after synchronization points. This also means that all
  8251. irq.set() instruction must also set a synchronization point.
  8252. TODO: check this for VDP, Y8950 and document this
  8253. * VDP bug fix:
  8254. writes to register > 46 (non existing registers) overwrite other
  8255. variables
  8256. 2002-02-13 David Heremans <david.heremans@gnu-linux.net>
  8257. * MSX MUSIC/MSX AUDIO Stereo now possible:
  8258. The xml has an extra parameter allowing the Y8950 and YM2413
  8259. to be activated in mono, left or right channel mode
  8260. 2002-02-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8261. * Fixed FM-modulation error in both Y8950 as YM2413
  8262. 2002-02-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8263. * Fixed some bugs in Y8950:
  8264. it is usable now, both OPL part as ADPCM part
  8265. but there are a few bugs left (YM2413 has the same problems)
  8266. relative volume of opl vs adpcm might need some tuning
  8267. 2002-02-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8268. * Made "cpudebug" command:
  8269. must be enabled in CPU.hh (#define CPU_DEBUG)
  8270. * Y8950 (AUDIO) updates
  8271. * Implemented auto commands:
  8272. automatic joystick/mouse insertion is now possible
  8273. 2002-02-10 Maarten ter Huurne <mth@stack.nl>
  8274. * Moved SDL dependent code out of VDP:
  8275. - Renderer instantiation happens in PlatformFactory (new class)
  8276. - full screen toggle was moved to Renderer (not its final location)
  8277. 2002-02-08 Maarten ter Huurne <mth@stack.nl>
  8278. * Fixed secondary slot select bug for real now.
  8279. The cause was uninitialised variables, the previous "fix" turned
  8280. out to be no more than a workaround.
  8281. 2002-02-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8282. * Large Console cleanup:
  8283. convert code to C++
  8284. split code in SDL dependent and SDL independent part
  8285. moved all console code to directory ConsoleSource
  8286. * Support for 9 joysticks
  8287. * Stricter syntax checking for joyport command
  8288. 2002-02-07 Maarten ter Huurne <mth@stack.nl>
  8289. * Fixed ASCII 16K (type 5) mapper.
  8290. Re-engineered Zanac-Ex ROM works now.
  8291. * Made MSXMotherBoard console command inner classes private.
  8292. 2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8293. * More cleanups in ConsoleSource:
  8294. made SDLFont class, replaces DT_drawtext
  8295. 2002-02-06 Maarten ter Huurne <mth@stack.nl>
  8296. * A few small fixes in joystick implementation.
  8297. It works now. Thanks Wouter!
  8298. 2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8299. * Console cleanups
  8300. * ConsoleCommand inner classes for Scheduler, MSXMotherBoard
  8301. * Implemented "disk" command (similar as "tape" command):
  8302. works only for drive a:
  8303. 720kb disks
  8304. * Implemented "joyport" command:
  8305. joyport[a|b] [unplug|mouse|joystick[1|2]]
  8306. * First cleanup in ConsoleSource:
  8307. use hash_map in CON_consolecommand instead of self-made linked list
  8308. 2002-02-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8309. * Implemented "reset" console command.
  8310. 2002-02-05 Maarten ter Huurne <mth@stack.nl>
  8311. * Added MSXMotherBoard::IRQHelper class.
  8312. * Removed IRQ helper functionality from MSXDevice.
  8313. 2002-02-04 Maarten ter Huurne <mth@stack.nl>
  8314. * Took advantage of new raiseIRQ/lowerIRQ semantics in VDP.
  8315. 2002-02-04 Maarten ter Huurne <mth@stack.nl>
  8316. * Fixed bug where devices in non-expanded slots would only be
  8317. visible when subslot 0 was selected.
  8318. * Implemented "slotselect" console command.
  8319. 2002-02-03 Maarten ter Huurne <mth@stack.nl>
  8320. * Implemented "slotmap" console command.
  8321. * Console::printOnConsole now accepts multi-line texts.
  8322. * Fixed buffer overrun in CON_Out.
  8323. * Renamed DummyDevice's device name to "empty", which makes
  8324. more sense to the user (who sees it in the slotmap).
  8325. 2002-02-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8326. * Removed class LoadFile: it was only used by MSXRom and it was only
  8327. usefull for that class (two classes merged now)
  8328. 2002-02-02 Maarten ter Huurne <mth@stack.nl>
  8329. * Implemented memory overlay behaviour in SCC page (0x3F).
  8330. 2002-01-30 David Heremans <david.heremans@gnu-linux.net>
  8331. * MSXTapePatch uses console:
  8332. Now possible to change or eject tapes using the console
  8333. 2002-01-29 David Heremans <david.heremans@gnu-linux.net>
  8334. * Console enhancements:
  8335. -calls CommandHelp when tabcomplition has
  8336. already found a complete command
  8337. * DiskPatch can now reports problems with disks during
  8338. initialization:
  8339. This should help Maarten if he has a 'black screen' :-)
  8340. 2002-01-28 Joost Yervante Damad <j.damad@qahwah.net>
  8341. * made libxmlx an 'utility' library, this implies that
  8342. openmsx links this statically, which makes for easier
  8343. debugging, no more 'wrapper script' for now
  8344. 2002-01-27 Joost Yervante Damad <j.damad@qahwah.net>
  8345. * Made SDL console autotools enabled
  8346. 2002-01-26 David Heremans <david.heremans@gnu-linux.net>
  8347. * Console now usable:
  8348. - registered as ansynchron event listener
  8349. - Scheduler has now two commands registered
  8350. 2002-01-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8351. * Fixed double delivery of syncronous events
  8352. 2002-01-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8353. * Exception cleanups
  8354. * Y8950 adpcm support (untested)
  8355. 2002-01-24 Joost Yervante Damad <j.damad@qahwah.net>
  8356. * added support for streamstring xml config per
  8357. request of David
  8358. 2002-01-24 David Heremans <david.heremans@gnu-linux.net>
  8359. * Altered SDL_Console:
  8360. - C++-ed the code and files
  8361. - dumped unwanted function
  8362. - now registers objects from type ConsoleInterface
  8363. to use for callback instead of C-function pointers
  8364. * Scheduler has now one (1) registered command with console:
  8365. - press tab for autocomplete :-)
  8366. * Added cartridge to help debug ARC protection cartridge
  8367. * DummyDevice warns about unregistered I/O port calls
  8368. 2002-01-22 David Heremans <david.heremans@gnu-linux.net>
  8369. * Added an SDL_console:
  8370. Not usefull for the moment but you can toggle it with F10
  8371. No commands possible and double key registration but the
  8372. effect is "cool" :-)
  8373. 2002-01-20 David Heremans <david.heremans@gnu-linux.net>
  8374. * Added DSKFMT-implementationr:.
  8375. Formating of a 360kB dsk file doens't work. A 720kB dsk file
  8376. can be formated single or double sided.
  8377. * Autofill of empty,newly generated .dskfiles:
  8378. No auto formating however, maybe later.
  8379. 2002-01-19 Joost Yervante Damad <j.damad@qahwah.net>
  8380. * openmsx now uses new config code
  8381. * features:
  8382. - supports multiple config files
  8383. - it's possible to create alternative config backends
  8384. - no more libxml++ *yipee*
  8385. - uses libxmlx, right now still linked dynamically,
  8386. this means that ./openmsx is actually a libtool provided
  8387. script, soo for debugging use .libs/openmsx and alter
  8388. the LD_LIBRARY_PATH environment variable if needed
  8389. - support for save not yet added, but it will be easy
  8390. * xmlconfig raises exception on duplicate "id"
  8391. 2002-01-12 Maarten ter Huurne <mth@stack.nl>
  8392. * Compile fix for Thread class:
  8393. explicitly convert between Runnable pointer and void pointer.
  8394. 2002-01-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8395. * made a Thread class, interface is SDL independent,
  8396. implemenation uses SDL
  8397. * made a Mutex class, analog as Thread
  8398. * sync MSX-MUSIC and MSX-AUDIO on register write
  8399. * made all sound related classes (except Mixer) SDL independent
  8400. 2002-01-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8401. * Implemented RTC load/save on power on/off
  8402. (this is not the same as saveState)
  8403. * Implemented FMPAC-SRAM load/save on power on/off
  8404. 2002-01-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8405. * MSXMemoryMapper <-> MSXMapperIO cleanup (thanks Maarten)
  8406. 2002-01-10 David Heremans <david.heremans@gnu-linux.net>
  8407. * Added FileOpener. This implements the needed routines to
  8408. support "rompaths". It also provides easy to use functions
  8409. to open files in the other devices.
  8410. 2002-01-09 Maarten ter Huurne <mth@stack.nl>
  8411. * VR resets one line before start of display.
  8412. Fixes Almost Real Copper Bars part.
  8413. 2002-01-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8414. * Prepared CPU and Z80 class for inclusion of R800:
  8415. - moved as much code as possible from Z80 to CPU
  8416. - separated timimg dependent code from the rest of the code
  8417. - ugly "#inlude-hack" to avoid the overhead of virtual functions
  8418. 2002-01-09 Maarten ter Huurne <mth@stack.nl>
  8419. * Fixed MSXMemoryMapper so that it can handle over 64K of memory.
  8420. 2002-01-08 Maarten ter Huurne <mth@stack.nl>
  8421. * Red and green were swapped in Graphic7 rendering.
  8422. * Apply planar reorder also on CPU reading VRAM and sprite checking.
  8423. Fixes Hydefos intro, all Graphic6/7 rendering should be OK now.
  8424. 2002-01-08 Maarten ter Huurne <mth@stack.nl>
  8425. * Preliminary Graphic6/7 rendering.
  8426. Works somewhat, but not in all cases.
  8427. * Fixed transparency bug; Psycho World sky is blue again.
  8428. 2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8429. * DiskRomPatch cleanup: I wanted to fix the PHYDIO routine, but it
  8430. was already correct (the result in the B register). Maybe it is
  8431. now more obviously correct?
  8432. 2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8433. * Z80: fixed HALT instruction (rounding error)
  8434. * more #include cleanups
  8435. * getCPURegs() interface cleanup
  8436. 2002-01-06 Maarten ter Huurne <mth@stack.nl>
  8437. * Implemented rendered line caching in bitmap modes (SDLHi).
  8438. * Fixed GETDPB in MSXDiskRomPatch: uses static table based on passed
  8439. media descriptor instead using values from boot sector.
  8440. 2002-01-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8441. * Z80: reverted buggy optimization,
  8442. fixes undeadline, track&field, flickering in space manbow
  8443. 2002-01-06 Joost Yervante Damad <j.damad@qahwah.net>
  8444. * small fixes
  8445. * XMLConfig skeleton + some code
  8446. 2002-01-06 Maarten ter Huurne <mth@stack.nl>
  8447. * Text mode extra-wide border now drawn at once (SDLHi).
  8448. 2002-01-05 Maarten ter Huurne <mth@stack.nl>
  8449. * Implemented CC and IC bits of sprite mode 2.
  8450. Now OR-ed sprite patterns are rendered as they should.
  8451. 2002-01-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8452. * #include cleanup
  8453. * Changed PSG mute routine:
  8454. PSG-samples in "time curb" now work!
  8455. 2002-01-05 Joost Yervante Damad <j.damad@qahwah.net>
  8456. * small libxmlx improvements
  8457. - should handle comments and pcdata correctly
  8458. - started modifications of msxconfig code, first in
  8459. a seperate temporarely program cfgtest, to avoid
  8460. hindering the other coders
  8461. 2002-01-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8462. * Changed interaction Mixer-SoundDevice:
  8463. Mixer now calls the updateBuffer() method of each SoundDevice, even
  8464. if device is muted (device can update internal counter). If the
  8465. device was muted is must return a null-pointer.
  8466. 2002-01-03 Maarten ter Huurne <mth@stack.nl>
  8467. * SDLHiRenderer needs to sync on VRAM updates after all.
  8468. This solves the disappearing boss blocks of Knightmare stage 1.
  8469. * The VDP (sprite checking) needs to sync on VRAM updates as well.
  8470. Hopefully this will solve the Knightmare stage 2 boss problem.
  8471. 2002-01-03 Joost Yervante Damad <j.damad@qahwah.net>
  8472. * libxmlx sync
  8473. 2002-01-03 David Heremans <david.heremans@gnu-linux.net>
  8474. * Improved tape support, tested with Time_Curb.cas file
  8475. 2002-01-03 Maarten ter Huurne <mth@stack.nl>
  8476. * Changed pause implementation in Scheduler to make it thread safe.
  8477. * Fixed PAL timing in SDLHiRenderer.
  8478. 2002-01-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8479. * RealTime syncronizer improvements
  8480. 2002-01-02 David Heremans <david.heremans@gnu-linux.net>
  8481. * Added tape support, not yet tested
  8482. * Restored old filesize behaviour in gamecartridge
  8483. 2002-01-02 Maarten ter Huurne <mth@stack.nl>
  8484. * Improved VDP accuracy.
  8485. Space Manbow still flashes, but less than before.
  8486. 2001-12-31 Maarten ter Huurne <mth@stack.nl>
  8487. * SDLHiRenderer uses double buffering.
  8488. * Prepared SDLHiRenderer for RealTime sync, but if I enable it the
  8489. emulated MSX slows down (even though host CPU load remains low).
  8490. * Added FDC values as patches to nms8250.xml, fixes disk ROM hang.
  8491. 2001-12-31 Joost Yervante Damad <j.damad@qahwah.net>
  8492. * lots of small C++ standard compliancy fixes
  8493. * Z80Core.hh -> Z80Core.nn
  8494. * more disk support, still partially works only
  8495. * disk support now works completely, but not yet
  8496. for all programs [starquake, on mania036.dsk
  8497. works completely]
  8498. * fixes for slotselection [thanks Maarten]
  8499. 2001-12-31 Maarten ter Huurne <mth@stack.nl>
  8500. * Render accuracy is now one line instead of one frame.
  8501. * Implemented line interrupt (horizontal scanning interrupt).
  8502. Timing is still a bit off though.
  8503. * Implemented horizontal display adjust (vertical not yet).
  8504. * Implemented HR/VR status bits.
  8505. * Prepared for caching of rendered lines in bitmap modes.
  8506. * Command engine cleanups.
  8507. 2001-12-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8508. * Z80: correct inter-instruction timing for DDCB and FDCB instrcutions,
  8509. 2001-12-30 Joost Yervante Damad <j.damad@qahwah.net>
  8510. * more disk support, it already works a little bit,
  8511. but the slot switching still needs to be added
  8512. 2001-12-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8513. * Memory reads/writes can now be cached (if possible)
  8514. measured 10% - 20% performance gain
  8515. not completely finished, especially documentation
  8516. 2001-12-29 Joost Yervante Damad <j.damad@qahwah.net>
  8517. * synced in libxmlx skeleton [W.I.P.!]
  8518. * header file include cleanup, this should avoid alot
  8519. of useless recompilation
  8520. 2001-12-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8521. * Scheduler now uses a heap instead of sorted set
  8522. * SyncPoints can now be removed
  8523. * SyncPoints take an optional userData parameter, this parameter
  8524. is later passed to executeUntilEmuTime() method
  8525. * MSXDevice does not inherit from Schedulable anymore, devices that
  8526. still need to be Schedulable must inherit itself from Schedulable
  8527. (eg VDP)
  8528. 2001-12-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8529. * added getCPURegs() and setCPURegs() methods in class CPU
  8530. 2001-12-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8531. * small optimization in Scheduler:
  8532. no overhead when unpaused
  8533. 2001-12-25 Joost Yervante Damad <j.damad@qahwah.net>
  8534. * added --enable-profile and --enable-release to ./configure
  8535. * added "debug" and "nodebug" targets to Makefile in src dir [toggle]
  8536. usage: "make debug" turns on debug for this and next makes
  8537. "make nodebug" turns it of again
  8538. 2001-12-24 Maarten ter Huurne <mth@stack.nl>
  8539. * Added "unsigned" to uint64 definition in Scheduler.
  8540. Before, Scheduler::INFINITY was -1.
  8541. * Implemented PAL at 50Hz and NTSC at 60Hz.
  8542. * Restructured VDP timing routines.
  8543. 2001-12-24 Maarten ter Huurne <mth@stack.nl>
  8544. * Added render routine for Graphic4 mode.
  8545. * Added support for 212 lines display.
  8546. * Added partial sprite mode 2 implementation.
  8547. 2001-12-24 Maarten ter Huurne <mth@stack.nl>
  8548. * Added render routine for Graphic5 mode.
  8549. * Added support for transparency control (R#8 bit 5).
  8550. 2001-12-24 Maarten ter Huurne <mth@stack.nl>
  8551. * Finished integration of command engine.
  8552. It runs, but without render routines for the bitmap modes,
  8553. it is not possible to visually check the results.
  8554. 2001-12-23 Maarten ter Huurne <mth@stack.nl>
  8555. * Fixed a design flaw in the Renderer interface.
  8556. The update methods were called *after* the changed VDP state
  8557. became effective. That way, delayed rendering operations cannot
  8558. be completed because the old VDP state is no longer available.
  8559. In the new interface, update methods are called *before* the
  8560. new state becomes effective. So the old values can be retrieved
  8561. from the VDP, while the new values are passed as parameters
  8562. of the update method.
  8563. 2001-12-22 Maarten ter Huurne <mth@stack.nl>
  8564. * Fixed dirty check bugs.
  8565. The "inside name/colour/pattern table" checks were wrong:
  8566. too much was considered inside, therefore too many characters
  8567. were considered dirty.
  8568. Also the attempt to make Text2 use the same dirty checking code
  8569. as the MSX1 display modes failed, instead I wrote different
  8570. dirty checkers for different display modes. This was bound to
  8571. happen in the future anyway, because bitmap modes will require
  8572. different dirty checks than pattern modes.
  8573. 2001-12-22 Maarten ter Huurne <mth@stack.nl>
  8574. * Added VDP Command Engine 1.0 from Alex Wulms.
  8575. Adapted the code to C++ and to openMSX conventions.
  8576. Only functional change is SCREEN7/8 pixel lookups (two defines).
  8577. The command engine compiles and links, but cannot run yet.
  8578. 2001-12-21 Maarten ter Huurne <mth@stack.nl>
  8579. * Implemented Text2 display mode (SCREEN0.80).
  8580. * Prepared for blinking (not finished yet).
  8581. 2001-12-21 Maarten ter Huurne <mth@stack.nl>
  8582. * Applied gamma correction to V9938/58 palette.
  8583. My guess is that the gamma of MSX and PC monitors is slightly
  8584. different; the palette precalc now compensates for that.
  8585. 2001-12-21 Maarten ter Huurne <mth@stack.nl>
  8586. * Implemented palette feature of V9938/58.
  8587. Can be seen by running Nemesis 3 using NMS8250 config.
  8588. 2001-12-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8589. * Fixed uninitialized variable in RP5C01:
  8590. this caused a delay of several seconds at start-up
  8591. 2001-12-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8592. * added MSX-AUDIO: no ADPCM yet, not optimized
  8593. * LoadFile and MSXGameCartridge cleanup
  8594. 2001-12-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8595. * Removed more indirections from YM2413
  8596. 2001-12-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8597. * fixed CassettePort:
  8598. exceptions don't work if you compile with -fno-rtti, removed it
  8599. 2001-12-18 David Heremans <david.heremans@gnu-linux.net>
  8600. * MapperType guesser can be turned on/off
  8601. * MapperType now configurable in MSXGameCartrdige.
  8602. * Integrated MSXKonamiSynthesizer into MSXGameCartrdige.
  8603. 2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8604. * sound on/off (F11) and pause (PAUSE) now work together
  8605. * fixed "pure virtual function called" error
  8606. 2001-12-16 David Heremans <david.heremans@gnu-linux.net>
  8607. * Extende LoadFile to autodetermine file-size.
  8608. * Renamed MSXMegaRom to MSXGameCartrdige.
  8609. * MSXGameCartridge can now handle smaller game roms (<= 64kB)
  8610. 2001-12-15 David Heremans <david.heremans@gnu-linux.net>
  8611. * Added volume to the SCC.
  8612. * Used F11 as HotKey to sound on/off:
  8613. 2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8614. * Fixed DACSound, KeyClick now works
  8615. 2001-12-11 Maarten ter Huurne <mth@stack.nl>
  8616. * Optimised MSX-MUSIC mixing.
  8617. * Removed indirection on ch array ("Channel *" -> "Channel).
  8618. 2001-12-12 David Heremans <david.heremans@gnu-linux.net>
  8619. * Added the SCC+ cartridge
  8620. 2001-12-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8621. * Cleanup MSXMusic / MSXFmPac:
  8622. "CALL FMPAC" now works!
  8623. 2001-12-11 Maarten ter Huurne <mth@stack.nl>
  8624. * Compacted the SCC mixing and muting code.
  8625. * Added offset to lookups in SCC::getFreqVol.
  8626. * SCC::ch_enable is not masked upon write.
  8627. * Added "currentChipMode = chip" to SCC::setChipMode.
  8628. * Changed size of waveform array to 32 (was 64).
  8629. 2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8630. * Implemented Z80 inter-instruction-timing
  8631. (DD CB instructions not correct yet)
  8632. 2001-12-11 David Heremans
  8633. * uploaded SCC soundchip:
  8634. This chip can emulate the SCC hardware in the 3 know modes
  8635. - Real SCC
  8636. - SCC+ cartridge in SCC compatible mode
  8637. - SCC+ cartridge in SCC+ mode
  8638. * Changed MegaRom:
  8639. Megarom of type 2 know use the SCC soundchip.
  8640. 2001-12-10 Maarten ter Huurne <mth@stack.nl>
  8641. * Implemented indirect register write for V9938/58.
  8642. * V9938/58 can now have 16K, 64K or 128K of VRAM.
  8643. * Upgraded CPU interface to read/write more than 16K of VRAM.
  8644. * Changed video mode naming scheme to match V9938 data book.
  8645. 2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8646. * Cleanups in MSXMemoryMapper, requires config file change
  8647. * More config file changes:
  8648. PSG -> volume parameter
  8649. MUSIC -> volume parameter
  8650. PPI -> volume parameter
  8651. -> key_ghosting parameter
  8652. Mixer -> frequency parameter
  8653. -> samples parameter
  8654. * RealTime cleanups:
  8655. - MSXRealTime renamed to RealTime
  8656. - RealTime is no longer a MSXDevice
  8657. - moved parameters to config file
  8658. 2001-12-09 Maarten ter Huurne <mth@stack.nl>
  8659. * Faked enough V9938 features to make nms8250.xml boot.
  8660. 2001-12-09 Maarten ter Huurne <mth@stack.nl>
  8661. * Fixed compilation with Z80DEBUG enabled.
  8662. * Fixed single-width pixels in SCREEN0 in SDLHiRenderer.
  8663. * Re-enabled resetting of dirty flags at end-of-frame.
  8664. This was probably disabled during debugging and accidentally
  8665. commited to CVS.
  8666. 2001-12-09 Maarten ter Huurne <mth@stack.nl>
  8667. * Introduced VDP class, which will replace MSXTMS9928a.
  8668. 2001-12-09 Joost Yervante Damad <j.damad@qahwah.net>
  8669. * Rom Patching Code skeleton
  8670. * MSXDiskRomPatch skeleton
  8671. 2001-12-09 Maarten ter Huurne <mth@stack.nl>
  8672. * Fixed uninitialised struct field in SDLLoRenderer.
  8673. * SDLHiRenderer renders doubled pixels now.
  8674. 2001-12-09 Maarten ter Huurne <mth@stack.nl>
  8675. * Introduced SDLHiRenderer.
  8676. Opens 640x480 screen, although it still renders low-res.
  8677. * Changed configuration:
  8678. - new category: "renderer"
  8679. type selects renderer: "SDLLo" or "SDLHi"
  8680. - "fullscreen" moved to "renderer" and renamed "full_screen"
  8681. plus it's an actual boolean now
  8682. - new parameter: "limit_sprites" in "msx1vdp"
  8683. * Setting "limit_sprites" to false actually works now.
  8684. 2001-12-08 Maarten ter Huurne <mth@stack.nl>
  8685. * Improved Doxygen comments in MSXTMS9928a and Renderer.
  8686. * Small optimisations in sprite rendering.
  8687. * Renamed XPal to Pal: it hasn't been X for quite some time.
  8688. * Introduced sprite buffering: VDP stores sprite info for one
  8689. frame, so Renderer can retrieve it on demand. This removes
  8690. the need for the Renderer to call checkSprites, making the
  8691. VDP behaviour completely independant of the Renderer used.
  8692. 2001-12-08 Joost Yervante Damad <j.damad@qahwah.net>
  8693. * Loadfile now handles patching of files
  8694. 2001-12-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8695. * added several missing reset() calls
  8696. 2001-12-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8697. * MSXPPI is no longer a singleton
  8698. 2001-12-06 Maarten ter Huurne <mth@stack.nl>
  8699. * Small initialisation fix in MSXTMS9928a.
  8700. Thanks to Wouter for spotting the problem.
  8701. 2001-12-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8702. * removed init() method from MSXDevice:
  8703. initialization should be done in the constructor
  8704. * all MSXDevice constructors (former init() methods) now take an
  8705. EmuTime parameter
  8706. 2001-12-05 Joost Yervante Damad <j.damad@qahwah.net>
  8707. * MSXRom continued [reworked, no longer inherited from MSXDevice]
  8708. 2001-12-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8709. * Made MSXIODevice and MSXMemDevice both subclasses of MSXDevice:
  8710. these 2 classes take functionality away from MSXDevice and put it
  8711. in more specialized classes. They also offer things like automatic
  8712. slot-registration (and in the future automatic IO-registration)
  8713. * removed start() and stop() methods from MSXDevice
  8714. * reset() method in MSXDevice now takes an EmuTime argument
  8715. 2001-12-04 Joost Yervante Damad <j.damad@qahwah.net>
  8716. * added MSXRom subclass and LoadFile mixin, as first step
  8717. towards ROM patching support
  8718. 2001-12-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8719. * correct use of register 0x7ff6 for MSX-MUSIC
  8720. * MSXMotherBoard is no longer a MSXDevice
  8721. 2001-12-03 Joost Yervante Damad <j.damad@qahwah.net>
  8722. * fixed Config *getConfigById(const std::string &type)
  8723. * started on disk support "level 2" [not in CVS yet]
  8724. 2001-12-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8725. * Made a new EmuTime class (for details search mailarchives for
  8726. "[RFC] new EmuTiem class"). This gave a large performance gain,
  8727. more than I had hoped for.
  8728. * SoundDevices now unregister themself before destruction
  8729. 2001-12-02 Maarten ter Huurne <mth@stack.nl>
  8730. * Integrated name/pattern/colour table base addresses and mask
  8731. into a single mask. This is probably how the hardware does it.
  8732. * Fixed dirty checks.
  8733. King's Valley 2 is now actually fixed, blanking just happened
  8734. to make the problem go away without fixing the bug causing it.
  8735. * Moved to "pull" model for VDP - Renderer communication:
  8736. VDP sends update signals when parts of its state change,
  8737. Renderer can get current state from VDP at all times.
  8738. 2001-12-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8739. * fixed pause:
  8740. - <F12> now works when paused
  8741. - after pause emulation isn't too fast
  8742. * correct inline in Z80
  8743. * MSXMegaRom cleanup, minor speedup
  8744. 2001-12-01 Maarten ter Huurne <mth@stack.nl>
  8745. * Fixed compile error in CassettePlayer.cc:
  8746. PRT_ERROR contains exit(), which needs <stdlib.h>.
  8747. 2001-12-01 Maarten ter Huurne <mth@stack.nl>
  8748. * Fixed bug which caused Z80 to fail when methods were not inlined.
  8749. Problem was that ld_xix_byte() and ld_xiy_byte() called Z80_WRMEM
  8750. with two parameters, each of which read an opcode, an operation
  8751. which increases the program counter. This is wrong because the
  8752. evaluation order of parameters is not guaranteed.
  8753. 2001-12-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8754. * added FMPAC
  8755. * MSXMotherBoard is now also a CPUInterface, this eliminates one
  8756. indirection in readMem()-like methods but these get called a few
  8757. 100 000 times a second. I measured 10%-20% performance gain
  8758. 2001-11-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8759. * made a helper function registerSlots()
  8760. * made a helper function loadFile()
  8761. note: config file format changed!
  8762. 2001-11-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8763. * Added a CassettePlayer (no record function yet)
  8764. A CassettePlayer must be plugged into the CassettePort and
  8765. you must insert a tape (= .wav file) into the CassettePlayer
  8766. Currently you can't do either of these operations.
  8767. 2001-11-27 Maarten ter Huurne <mth@stack.nl>
  8768. * Added updateBlanking to Renderer interface.
  8769. Fixes redraw problem in King's Valley 2.
  8770. * Various cleanups in MSXTMS9928a and SDLLoRenderer.
  8771. 2001-11-26 Maarten ter Huurne <mth@stack.nl>
  8772. * Introduced SpriteInfo in MSXTMS9928a, this is a prelude to
  8773. sprite info buffering (separating calculation time from
  8774. rendering time).
  8775. * Introduced VdpVersion enum in MSXTMS9928a.
  8776. 2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8777. * Small CassettePort update, implemented very primitive filter
  8778. 2001-11-25 Maarten ter Huurne <mth@stack.nl>
  8779. * Sprites are now rendered in the screen buffer rather than in the
  8780. display cache (which replaced "canvas"). As a result, sprite drawing
  8781. code became simpler and the display cache needs less updates.
  8782. 2001-11-25 Maarten ter Huurne <mth@stack.nl>
  8783. * Render on demand:
  8784. New Renderer can render as many lines as requested.
  8785. Many lines at once has lower overhead, but if necessary it
  8786. can still render one line at a time.
  8787. This code can be converted to pixel-precision rendering that
  8788. has decent performance.
  8789. * All change tracking (dirty flags etc) is moved to Renderer.
  8790. * Interface between VDP and Renderer is much cleaner now.
  8791. (no more public fields)
  8792. * Got rid of "tms" struct.
  8793. 2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8794. * added basic support for CassettePort
  8795. - CassettePort has no filters yet
  8796. - no output (record) yet
  8797. - !! no CassttePlayer (must be plugged in a CassettePort) !!
  8798. 2001-11-18 Maarten ter Huurne <mth@stack.nl>
  8799. * The drawing area (now called "canvas") is now an off-screen SDL
  8800. surface instead of a pixel array. SDL calls are for blitting and
  8801. drawing empty lines (top and bottom border).
  8802. * Cleanup of change tracking in VDP.
  8803. * Cleanup of Renderer access to VDP state:
  8804. public fields replaced by inline methods.
  8805. * Cleanup of VDP fields: slowly getting rid of "tms" struct.
  8806. 2001-11-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8807. * updated KeyEventInserter, it works now but it is not yet useable,
  8808. needs to read text from config file or something
  8809. 2001-11-17 Maarten ter Huurne <mth@stack.nl>
  8810. * MSXTMS9928a and SDLLoRenderer respect SIZEOF_BOOL now.
  8811. * Introduced Renderer: pure abstract superclass to all renderers.
  8812. * Changed SDLLoRenderer into a template class.
  8813. All supported colour depths are compiled in.
  8814. A factory method selects a suitable colour depth automatically.
  8815. 2001-11-17 Joost Yervante Damad <j.damad@qahwah.net>
  8816. * added sizeof(bool) autoconf macro
  8817. * rearranged configure.in to avoid problems
  8818. with simple checks being confused by the extra
  8819. CXXFLAGS and libs
  8820. 2001-11-17 Maarten ter Huurne <mth@stack.nl>
  8821. * SDLRenderer is now SDLLoRenderer (low-res: 320x240) and
  8822. was given its own files.
  8823. Also removed MESS history comments from MSXTMS9928a.
  8824. 2001-11-16 Maarten ter Huurne <mth@stack.nl>
  8825. * Split off SDLRenderer from MSXTMS9928a.
  8826. This makes it easier to support different renderers
  8827. (320x240, 640x480, 8/16/32bpp).
  8828. In the near future SDLRenderer will get its own file.
  8829. 2001-11-16 Maarten ter Huurne <mth@stack.nl>
  8830. * Disabled 512K mapper in cfg/someconfig.xml because it conflicted
  8831. with the MegaROM.
  8832. 2001-11-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8833. * cleanup EventDistributor/HotKey
  8834. 2001-11-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8835. * Z80: interrupt state is only checked right after a sync point
  8836. halt now "burns" CPU cycles
  8837. --> large CPU speedup
  8838. 2001-11-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8839. * an MSXDevice is now associated with an MSXConfig object as soon as
  8840. it is instantiated. Before this change it was possible that a
  8841. MSXDevice (mostly singletons) was used before it could access its
  8842. parameters.
  8843. * AY8910: fixed uninitialized variables
  8844. 2001-11-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8845. * fixed HotKey: method find() returns a normal iterator, not an
  8846. iterator that goes over elements that match the search criteria
  8847. 2001-11-13 David Heremans
  8848. * openMSX now stops when using the WM close button:
  8849. * Correct close behaviour:
  8850. Set a sync point so that if the CPU is scheduled until
  8851. infinite we still can stop openMSX.
  8852. Wouter will look into the HotKey event distribution,
  8853. it is temporarly fixed using if comands.
  8854. 2001-11-09 David Heremans
  8855. * quickly add a fullscreen flag in the TMS code:
  8856. extra parameter in config.xml file
  8857. use PrintScreen key to togle
  8858. * openMSX now stops when pressing F12:
  8859. however make sure that openMSx is full screen when you press F12
  8860. 2001-11-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8861. * reworked CPU related classes:
  8862. much simpler structure
  8863. more optimizations possible in the future
  8864. * Z80: correct wait-state handling
  8865. 2001-11-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8866. * Z80: undocumented instructions like "res 4,(ix+5),b" implemented
  8867. * Z80: correct(?) timing for undocumented instructions
  8868. 2001-11-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8869. * Z80 cleanup/fixes:
  8870. fixed DAA instruction, bug in Penguin Adventure should be fixed now
  8871. correct 'undocumented-flag-handling' for most instruction
  8872. 2001-10-31 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8873. * fixed bug in Z80, some instruction had a negative T-State count!!
  8874. Road Fighter works again
  8875. 2001-10-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8876. * added MSX-MUSIC, code largly taken from Mitsutaka Okazaki
  8877. http://www.angel.ne.jp/~okazaki/ym2413/
  8878. no "suspend" function yet
  8879. 2001-10-29 Joost Yervante Damad <j.damad@qahwah.net>
  8880. * finished migration of CVS and mailinglists to sf.net
  8881. * thank you sourceforge team!!
  8882. * http://openmsx.sf.net
  8883. 2001-10-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8884. * fixes, improvements to DACSound (untested)
  8885. * updated KeyClick, the "click too short" problem should be solved now
  8886. KeyClick now uses a DACSound object to play sound, playing samples
  8887. on KeyClick should also be possible now (untested)
  8888. * pause sound while pause emulation
  8889. * SoundDevices default now to muted after creation, fixes a race in
  8890. Mixer::registerSound()
  8891. 2001-10-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8892. * SoundDevices can now mute themselves, mixer doesn't ask
  8893. for soundbuffer of muted devices
  8894. * added KeyClick support, PPI had to be made time aware for this
  8895. doesn't work very well yet because a typical key-click-spike
  8896. takes about 34us which is shorter than the duration of 1 sample
  8897. 2001-10-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8898. * make DACSound compile again (doesn't work yet)
  8899. * add HotKey service
  8900. * openMSX can be paused (pause key), added to demonstrate the
  8901. use of HotKey. Problems with current pause implementation:
  8902. - sound must also be paused
  8903. - realtime keeps running, so after unpausing openMSX
  8904. tries to catch up and runs too fast for a while
  8905. * MSXKanji now supports both class 1 as class 2 Kanji
  8906. * Added MSXPrinterPort and DummyPrinterPortDevice (= no device
  8907. connected)
  8908. 2001-10-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8909. * Changed Mixer and SoundDevice interface (David's request).
  8910. Now each SoundDevice must do its own buffer-managment, this gives
  8911. more flexibility to devices like DAC's
  8912. 2001-10-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8913. * small performance improvement in MSXZ80
  8914. 2001-10-21 Joost Yervante Damad <j.damad@qahwah.net>
  8915. * added some basic conversions to MSXConfig##Device
  8916. let me know when more are needed
  8917. * updated msxconfig.dtd to reflect soon te be added
  8918. non-device configuration entries
  8919. * added support for non-device configuration entries
  8920. this is not thoroughly tested, but should work
  8921. 2001-10-19 Joost Yervante Damad <j.damad@qahwah.net>
  8922. * started TODO file to collect ideas/things todo
  8923. 2001-10-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8924. * documented SoundDevice interface on David's request
  8925. * RP5C01 can now optionally sync with host-clock, but this
  8926. limitates some functionality
  8927. 2001-10-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8928. * implemented test register in RP5C01,
  8929. corrected 12/24 hour mode, month-wrap-bug fixed
  8930. * RP5C01 is now emutime synced instead of realtime
  8931. 2001-10-17 Joost Yervante Damad <j.damad@qahwah.net>
  8932. * added src/cfg dir for storing config file templates
  8933. * started in KeyEventInserter
  8934. 2001-10-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8935. * made improvements to MSXRealtime
  8936. * small fixes to MemoryMapper, E6Timer
  8937. * improvements to RP5C01 (RTC)
  8938. 2001-10-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8939. * fixed bug in Keyboard (uninitialized variable)
  8940. and made minor performance improvement in keyGhosting
  8941. * add 1 extra waitState after each instruction
  8942. * Corrected MSXRealTime, speed is now correct. Deviation was
  8943. caused by accumulation of rounding errors.
  8944. 2001-10-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8945. * Scheduler can now schedule "Schedulable" objects instead of
  8946. only MSXDevices, this is necessary for sub-device scheduling
  8947. (e.g. counters in I8254
  8948. 2001-10-15 Marcel Harkema <marcel@qahwah.net>
  8949. * * Set the MAINTAINERCLEANFILES variable in Makefile.am files
  8950. (for make maintainer-clean)
  8951. * * EventDistributor.hh should include <map> and not <multimap.h>
  8952. (which is an internal header file)
  8953. * * Add {XML,SDL}_CFLAGS, {XML,SDL}_LIBS, etc. to CXXFLAGS and
  8954. LIBS in configure.in (and remove openmsx_LDADD line from
  8955. src/Makefile.am)
  8956. * Include <cassert>, <cstdio>, etc. instead of <assert.h>,
  8957. <stdio.h>, .. [I might have missed some... please check your
  8958. code]
  8959. * [patch applied by joost]
  8960. 2001-10-14 Joost Yervante Damad <j.damad@qahwah.net>
  8961. * Made EmuTime printable [read streamable] for David
  8962. 2001-10-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8963. * Simplified MSXRealTime implementation
  8964. 2001-10-11 David Heremans <david.heremans@gnu-linux.net>
  8965. * MSXTMS9928a and MSXRealTime updates
  8966. 2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8967. * update parts of audio-buffer when registers have changed
  8968. * fixed tone generation in AY8910 (overflow in calculation)
  8969. 2001-10-09 Joost Yervante Damad <j.damad@qahwah.net>
  8970. * removed all automake/autoconf utility files,
  8971. use autogen.sh to install them locally
  8972. 2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8973. * added a real time synchronizer (MSXRealTime)
  8974. * fixed keyGhosting bugs in Keyboard
  8975. 2001-10-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8976. * renamed Inputs --> Keyboard
  8977. * forgot to initialize keyboard matrix
  8978. * moved method keyGhosting() from MSXPPI to Keyboard
  8979. --> method is now only called when
  8980. * keymatrix has changed and
  8981. * keymatrix is read
  8982. * extended Mixer to support (pseudo)stereo
  8983. 2001-10-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8984. * Made a very simple mixer, made AY8910 register itself as
  8985. sound generator.
  8986. 2001-10-03 Joost Yervante Damad <j.damad@qahwah.net>
  8987. * updated automake utility files
  8988. 2001-10-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8989. * "static const int -> enum" cleanup
  8990. * Reworked EventDistributor, it is now possible to deliver events
  8991. synchronously and asynchronously. This makes the EventDistributor
  8992. more complex, but it eliminates locking problems in synchronous
  8993. ( = almost all) client code.
  8994. 2001-10-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  8995. * made Philips mapper-IO behaviour
  8996. * read mapper behaviour from config file, this needed some
  8997. restructuring in MapperIO and related classes
  8998. * Fixed TurboR ST mapperIO
  8999. 2001-10-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9000. * Z80 converted to a C++ class, still needs cleanups
  9001. * IRQ handling cleanup
  9002. 2001-09-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9003. * second part of Z80 cleanup
  9004. 2001-09-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9005. * #define -> static const int cleanup
  9006. * first part of Z80 cleanup
  9007. 2001-09-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9008. * reimplemented Scheduler, total new algorithm
  9009. * made some changes to cpu-device's
  9010. these need some cleanup, especially the c/c++ mix (Z80)
  9011. 2001-09-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9012. * added locking to class EventDistributor (maybe std::multimap is
  9013. thread-safe and no locking is necessary)
  9014. * added locking to class Mouse, there was a small race that could cause
  9015. some mouse-movement-glitches
  9016. 2001-09-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9017. * implemented Real Time Clock device
  9018. * implemented joystick support. Cannot be used yet since there is no
  9019. mechanism to plug a Joystick in a joystickPort yet (dynamically nor
  9020. statically)
  9021. * implemented mouse support. Cannot be used yet, same reason as above
  9022. 2001-09-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9023. * made sperate thread for event handler
  9024. other classes can ask EventDistributor to receive specific events
  9025. * adapted Inputs for new event model
  9026. * respond to SDL_QUIT event
  9027. 2001-09-23 Joost Yervante Damad <j.damad@qahwah.net>
  9028. * various small fixes
  9029. * started working on making the code work with gcc-3.0
  9030. * added autogen.sh: use to regenerate build files
  9031. * added m4/ dir for own autoconf m4 macros
  9032. * added fstream_templ.m4, since in gcc-3.0 ifstream
  9033. is templatized on type, and .read() returns char,
  9034. not unsigned char, soo this needs ifstream<byte> in
  9035. openmsx, but in gcc-2.95 ifstream is not a template.
  9036. * added -fno-rtti to compile-flags since we don't use
  9037. runtime type inspection anyway, and it increases binary size
  9038. see also: http://gcc.gnu.org/ml/gcc-help/2000-03/msg00064.html
  9039. 2001-09-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9040. * cleanups in most devices
  9041. * small bug fixes in some devices
  9042. * Implemented memory mapper
  9043. all mappers share one MapperIO device
  9044. reading from mapper ports can be customized
  9045. 2001-09-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9046. * Z80/R800 separation cleaned up:
  9047. only the class MSXCPU knows there are 2 CPU's, all other devices
  9048. should talk to MSXCPU instead of MSXZ80 or MSXR800 (nor ask
  9049. MSXMotherBoard which CPU to talk to)
  9050. Removed some code marked as "ugly hack"
  9051. * added support for Kanji ROM
  9052. * cleanups in MSXRom16KB
  9053. 2001-09-19 Joost Yervante Damad <j.damad@qahwah.net>
  9054. * various small fixes around the code
  9055. * the 16k rom still needs a C++ makeover
  9056. 2001-09-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9057. * implemented kana/code led
  9058. * implemented joystick-ports. This is only the port, not the devices
  9059. that can be plugged into the port (joystick, mouse, ...)
  9060. * interupt handling was seriously broken (CPU jumped to 0x38 at every
  9061. di->ei transition even when there was no device that had raised an IRQ)
  9062. Fixed now (I think). Also moved interrupt related methods from class
  9063. Scheduler to class MSXMotherBoard.
  9064. 2001-09-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9065. * implemented sound generation for PSG (code taken from xmame-0.37b)
  9066. mixer is not finished, so you won't hear anything yet
  9067. 2001-09-16 Joost Yervante Damad <j.damad@qahwah.net>
  9068. * added endian-ness check to configure.in
  9069. * removed -DLDB_FIRST, and made it dependant on
  9070. configure result
  9071. * added sizeof long autoconf check, to make Z80.cc
  9072. also work correctly on 64 bit and 128 bit cpu's [untested]
  9073. 2001-09-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9074. * started implemention of MSXPSG (no sound generation yet)
  9075. 2001-09-15 Joost Yervante Damad <j.damad@qahwah.net>
  9076. * reworked msxconfig.cc by using the xmlhelper
  9077. * xmlhelper is a simplified xml interface
  9078. 2001-09-13 Joost Yervante Damad <j.damad@qahwah.net>
  9079. * added xmlhelper class, which I will start using
  9080. to make xmlconfig code cleaner
  9081. * made msxconfig more standards-compliant
  9082. 2001-09-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9083. * removed double initialization
  9084. * CPU is no longer a special case with initialization
  9085. * fixed various bugs
  9086. * made Inputs independent from MSXPPI
  9087. * implemented CAPS LED + support for all other LEDs
  9088. 2001-09-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9089. * print more usefull debug messages
  9090. * use DummyDevice instead of the general MSXDevice for all the
  9091. emptyDevice's
  9092. * registering SP must be done by Scheduler, not Motherboard
  9093. 2001-09-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9094. * some fixes (yesterday discussed with Davy)
  9095. 2001-09-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9096. * fixed a few classes to make them compile again
  9097. * made some minor addition to emutime
  9098. 2001-09-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9099. * print debug information only if compiled for debugging
  9100. 2001-09-05 David Heremans <david.heremans@gnu-linux.net>
  9101. * sync : PPI, Z80, ...
  9102. * Z80 should be completely correct now
  9103. * started integrating SDL keys
  9104. * VDP integration Sean's code started
  9105. * subslot selecting and mainslot selecting imped
  9106. * MSXMotherboard slotlayout filled with dummy
  9107. empty devices to avoid 0-pointers
  9108. 2001-09-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9109. * In class Scheduler, use "set" instead of "list" or "sortedlist"
  9110. * Split MSXPPI in a MSX depended part and a reuseable 8255 part
  9111. 2001-08-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9112. * made a more complete PPI implementation
  9113. * made new device: E6Timer (TurboR)
  9114. 2001-08-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9115. * removed linkedlist.hh and use stl list instead
  9116. * made template SortedList and use it in Scheduler
  9117. this compiles, but does not link yet
  9118. 2001-08-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9119. * updated class Emutime
  9120. * make use of emutime
  9121. 2001-08-23 Joost Yervante Damad <j.damad@qahwah.net>
  9122. * msxconfig: added <desc> and <rem>
  9123. * msxconfig.hh: externalized nested classes
  9124. * msxconfig: started saveFile support
  9125. 2001-08-10 David Heremans <david.heremans@gnu-linux.net>
  9126. * sync : PPI, Z80, ...
  9127. 2001-08-09 Joost Yervante Damad <j.damad@qahwah.net>
  9128. * reworked msxconfig code, now more C++
  9129. * added support for multiple slotted's
  9130. 2001-07-07 Joost Yervante Damad <j.damad@qahwah.net>
  9131. * added class property to <parameter> tag in msxconfig
  9132. * also slightly reworked that code
  9133. * bumbed version to 0.1.1
  9134. * added SDL auto* support
  9135. 2001-07-06 Joost Yervante Damad <j.damad@qahwah.net>
  9136. * merge David's code in CVS
  9137. this includes: PPI, Z80, RomDevice, Motherboard, ...
  9138. 2001-06-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9139. * more updates tex docu file
  9140. 2001-06-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9141. * more updates tex docu file
  9142. 2001-06-23 Joost Yervante Damad <j.damad@qahwah.net>
  9143. * finished readonly MSXConfig interface
  9144. 2001-06-22 Joost Yervante Damad <j.damad@qahwah.net>
  9145. * added MSXException exception base class.
  9146. * created MSXConfig exceptions
  9147. * started using them.
  9148. * make distcheck now works
  9149. * openmsx.tex is part of the dist
  9150. 2001-06-21 Joost Yervante Damad <j.damad@qahwah.net>
  9151. * made MSXConfig code -> this code needs serious cleaning
  9152. later ! :)
  9153. 2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9154. * updated tex docu file
  9155. 2001-06-20 Joost Yervante Damad <j.damad@qahwah.net>
  9156. * initial MSXConfig interface/singleton skeleton
  9157. * first touch with libxml++
  9158. * links smoothly now with libxml++ and libxml
  9159. * !!warning!! needs libxml++ version 0.13 (debian ships with 0.10)
  9160. * see also http://lusis.org/~ari/xml++/
  9161. 2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
  9162. * created tex docu file
  9163. 2001-06-19 Joost Yervante Damad <j.damad@qahwah.net>
  9164. * added autoconf support for libxml
  9165. * added some $Id magic tags
  9166. 2001-06-18 Joost Yervante Damad <j.damad@qahwah.net>
  9167. * Emutime tweaks as per Wouter and David
  9168. 2001-06-16 Joost Yervante Damad <j.damad@qahwah.net>
  9169. * added autoconf support for libxml++
  9170. * various small tweaks
  9171. 2001-05-06 Joost Yervante Damad <j.damad@qahwah.net>
  9172. * made a nice and clean CVS/automake/autoconf/libtool
  9173. * restructured source
  9174. * versioned files
  9175. 2001-05-04 David Heremans <david.heremans@gnu-linux.net>
  9176. * openmsx: initial version.