123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273327432753276327732783279328032813282328332843285328632873288328932903291329232933294329532963297329832993300330133023303330433053306330733083309331033113312331333143315331633173318331933203321332233233324332533263327332833293330333133323333333433353336333733383339334033413342334333443345334633473348334933503351335233533354335533563357335833593360336133623363336433653366336733683369337033713372337333743375337633773378337933803381338233833384338533863387338833893390339133923393339433953396339733983399340034013402340334043405340634073408340934103411341234133414341534163417341834193420342134223423342434253426342734283429343034313432343334343435343634373438343934403441344234433444344534463447344834493450345134523453345434553456345734583459346034613462346334643465346634673468346934703471347234733474347534763477347834793480348134823483348434853486348734883489349034913492349334943495349634973498349935003501350235033504350535063507350835093510351135123513351435153516351735183519352035213522352335243525352635273528352935303531353235333534353535363537353835393540354135423543354435453546354735483549355035513552355335543555355635573558355935603561356235633564356535663567356835693570357135723573357435753576357735783579358035813582358335843585358635873588358935903591359235933594359535963597359835993600360136023603360436053606360736083609361036113612361336143615361636173618361936203621362236233624362536263627362836293630363136323633363436353636363736383639364036413642364336443645364636473648364936503651365236533654365536563657365836593660366136623663366436653666366736683669367036713672367336743675367636773678367936803681368236833684368536863687368836893690369136923693369436953696369736983699370037013702370337043705370637073708370937103711371237133714371537163717371837193720372137223723372437253726372737283729373037313732373337343735373637373738373937403741374237433744374537463747374837493750375137523753375437553756375737583759376037613762376337643765376637673768376937703771377237733774377537763777377837793780378137823783378437853786378737883789379037913792379337943795379637973798379938003801380238033804380538063807380838093810381138123813381438153816381738183819382038213822382338243825382638273828382938303831383238333834383538363837383838393840384138423843384438453846384738483849385038513852385338543855385638573858385938603861386238633864386538663867386838693870387138723873387438753876387738783879388038813882388338843885388638873888388938903891389238933894389538963897389838993900390139023903390439053906390739083909391039113912391339143915391639173918391939203921392239233924392539263927392839293930393139323933393439353936393739383939394039413942394339443945394639473948394939503951395239533954395539563957395839593960396139623963396439653966396739683969397039713972397339743975397639773978397939803981398239833984398539863987398839893990399139923993399439953996399739983999400040014002400340044005400640074008400940104011401240134014401540164017401840194020402140224023402440254026402740284029403040314032403340344035403640374038403940404041404240434044404540464047404840494050405140524053405440554056405740584059406040614062406340644065406640674068406940704071407240734074407540764077407840794080408140824083408440854086408740884089409040914092409340944095409640974098409941004101410241034104410541064107410841094110411141124113411441154116411741184119412041214122412341244125412641274128412941304131413241334134413541364137413841394140414141424143414441454146414741484149415041514152415341544155415641574158415941604161416241634164416541664167416841694170417141724173417441754176417741784179418041814182418341844185418641874188418941904191419241934194419541964197419841994200420142024203420442054206420742084209421042114212421342144215421642174218421942204221422242234224422542264227422842294230423142324233423442354236423742384239424042414242424342444245424642474248424942504251425242534254425542564257425842594260426142624263426442654266426742684269427042714272427342744275427642774278427942804281428242834284428542864287428842894290429142924293429442954296429742984299430043014302430343044305430643074308430943104311431243134314431543164317431843194320432143224323432443254326432743284329433043314332433343344335433643374338433943404341434243434344434543464347434843494350435143524353435443554356435743584359436043614362436343644365436643674368436943704371437243734374437543764377437843794380438143824383438443854386438743884389439043914392439343944395439643974398439944004401440244034404440544064407440844094410441144124413441444154416441744184419442044214422442344244425442644274428442944304431443244334434443544364437443844394440444144424443444444454446444744484449445044514452445344544455445644574458445944604461446244634464446544664467446844694470447144724473447444754476447744784479448044814482448344844485448644874488448944904491449244934494449544964497449844994500450145024503450445054506450745084509451045114512451345144515451645174518451945204521452245234524452545264527452845294530453145324533453445354536453745384539454045414542454345444545454645474548454945504551455245534554455545564557455845594560456145624563456445654566456745684569457045714572457345744575457645774578457945804581458245834584458545864587458845894590459145924593459445954596459745984599460046014602460346044605460646074608460946104611461246134614461546164617461846194620462146224623462446254626462746284629463046314632463346344635463646374638463946404641464246434644464546464647464846494650465146524653465446554656465746584659466046614662466346644665466646674668466946704671467246734674467546764677467846794680468146824683468446854686468746884689469046914692469346944695469646974698469947004701470247034704470547064707470847094710471147124713471447154716471747184719472047214722472347244725472647274728472947304731473247334734473547364737473847394740474147424743474447454746474747484749475047514752475347544755475647574758475947604761476247634764476547664767476847694770477147724773477447754776477747784779478047814782478347844785478647874788478947904791479247934794479547964797479847994800480148024803480448054806480748084809481048114812481348144815481648174818481948204821482248234824482548264827482848294830483148324833483448354836483748384839484048414842484348444845484648474848484948504851485248534854485548564857485848594860486148624863486448654866486748684869487048714872487348744875487648774878487948804881488248834884488548864887488848894890489148924893489448954896489748984899490049014902490349044905490649074908490949104911491249134914491549164917491849194920492149224923492449254926492749284929493049314932493349344935493649374938493949404941494249434944494549464947494849494950495149524953495449554956495749584959496049614962496349644965496649674968496949704971497249734974497549764977497849794980498149824983498449854986498749884989499049914992499349944995499649974998499950005001500250035004500550065007500850095010501150125013501450155016501750185019502050215022502350245025502650275028502950305031503250335034503550365037503850395040504150425043504450455046504750485049505050515052505350545055505650575058505950605061506250635064506550665067506850695070507150725073507450755076507750785079508050815082508350845085508650875088508950905091509250935094509550965097509850995100510151025103510451055106510751085109511051115112511351145115511651175118511951205121512251235124512551265127512851295130513151325133513451355136513751385139514051415142514351445145514651475148514951505151515251535154515551565157515851595160516151625163516451655166516751685169517051715172517351745175517651775178517951805181518251835184518551865187518851895190519151925193519451955196519751985199520052015202520352045205520652075208520952105211521252135214521552165217521852195220522152225223522452255226522752285229523052315232523352345235523652375238523952405241524252435244524552465247524852495250525152525253525452555256525752585259526052615262526352645265526652675268526952705271527252735274527552765277527852795280528152825283528452855286528752885289529052915292529352945295529652975298529953005301530253035304530553065307530853095310531153125313531453155316531753185319532053215322532353245325532653275328532953305331533253335334533553365337533853395340534153425343534453455346534753485349535053515352535353545355535653575358535953605361536253635364536553665367536853695370537153725373537453755376537753785379538053815382538353845385538653875388538953905391539253935394539553965397539853995400540154025403540454055406540754085409541054115412541354145415541654175418541954205421542254235424542554265427542854295430543154325433543454355436543754385439544054415442544354445445544654475448544954505451545254535454545554565457545854595460546154625463546454655466546754685469547054715472547354745475547654775478547954805481548254835484548554865487548854895490549154925493549454955496549754985499550055015502550355045505550655075508550955105511551255135514551555165517551855195520552155225523552455255526552755285529553055315532553355345535553655375538553955405541554255435544554555465547554855495550555155525553555455555556555755585559556055615562556355645565556655675568556955705571557255735574557555765577557855795580558155825583558455855586558755885589559055915592559355945595559655975598559956005601560256035604560556065607560856095610561156125613561456155616561756185619562056215622562356245625562656275628562956305631563256335634563556365637563856395640564156425643564456455646564756485649565056515652565356545655565656575658565956605661566256635664566556665667566856695670567156725673567456755676567756785679568056815682568356845685568656875688568956905691569256935694569556965697569856995700570157025703570457055706570757085709571057115712571357145715571657175718571957205721572257235724572557265727572857295730573157325733573457355736573757385739574057415742574357445745574657475748574957505751575257535754575557565757575857595760576157625763576457655766576757685769577057715772577357745775577657775778577957805781578257835784578557865787578857895790579157925793579457955796579757985799580058015802580358045805580658075808580958105811581258135814581558165817581858195820582158225823582458255826582758285829583058315832583358345835583658375838583958405841584258435844584558465847584858495850585158525853585458555856585758585859586058615862586358645865586658675868586958705871587258735874587558765877587858795880588158825883588458855886588758885889589058915892589358945895589658975898589959005901590259035904590559065907590859095910591159125913591459155916591759185919592059215922592359245925592659275928592959305931593259335934593559365937593859395940594159425943594459455946594759485949595059515952595359545955595659575958595959605961596259635964596559665967596859695970597159725973597459755976597759785979598059815982598359845985598659875988598959905991599259935994599559965997599859996000600160026003600460056006600760086009601060116012601360146015601660176018601960206021602260236024602560266027602860296030603160326033603460356036603760386039604060416042604360446045604660476048604960506051605260536054605560566057605860596060606160626063606460656066606760686069607060716072607360746075607660776078607960806081608260836084608560866087608860896090609160926093609460956096609760986099610061016102610361046105610661076108610961106111611261136114611561166117611861196120612161226123612461256126612761286129613061316132613361346135613661376138613961406141614261436144614561466147614861496150615161526153615461556156615761586159616061616162616361646165616661676168616961706171617261736174617561766177617861796180618161826183618461856186618761886189619061916192619361946195619661976198619962006201620262036204620562066207620862096210621162126213621462156216621762186219622062216222622362246225622662276228622962306231623262336234623562366237623862396240624162426243624462456246624762486249625062516252625362546255625662576258625962606261626262636264626562666267626862696270627162726273627462756276627762786279628062816282628362846285628662876288628962906291629262936294629562966297629862996300630163026303630463056306630763086309631063116312631363146315631663176318631963206321632263236324632563266327632863296330633163326333633463356336633763386339634063416342634363446345634663476348634963506351635263536354635563566357635863596360636163626363636463656366636763686369637063716372637363746375637663776378637963806381638263836384638563866387638863896390639163926393639463956396639763986399640064016402640364046405640664076408640964106411641264136414641564166417641864196420642164226423642464256426642764286429643064316432643364346435643664376438643964406441644264436444644564466447644864496450645164526453645464556456645764586459646064616462646364646465646664676468646964706471647264736474647564766477647864796480648164826483648464856486648764886489649064916492649364946495649664976498649965006501650265036504650565066507650865096510651165126513651465156516651765186519652065216522652365246525652665276528652965306531653265336534653565366537653865396540654165426543654465456546654765486549655065516552655365546555655665576558655965606561656265636564656565666567656865696570657165726573657465756576657765786579658065816582658365846585658665876588658965906591659265936594659565966597659865996600660166026603660466056606660766086609661066116612661366146615661666176618661966206621662266236624662566266627662866296630663166326633663466356636663766386639664066416642664366446645664666476648664966506651665266536654665566566657665866596660666166626663666466656666666766686669667066716672667366746675667666776678667966806681668266836684668566866687668866896690669166926693669466956696669766986699670067016702670367046705670667076708670967106711671267136714671567166717671867196720672167226723672467256726672767286729673067316732673367346735673667376738673967406741674267436744674567466747674867496750675167526753675467556756675767586759676067616762676367646765676667676768676967706771677267736774677567766777677867796780678167826783678467856786678767886789679067916792679367946795679667976798679968006801680268036804680568066807680868096810681168126813681468156816681768186819682068216822682368246825682668276828682968306831683268336834683568366837683868396840684168426843684468456846684768486849685068516852685368546855685668576858685968606861686268636864686568666867686868696870687168726873687468756876687768786879688068816882688368846885688668876888688968906891689268936894689568966897689868996900690169026903690469056906690769086909691069116912691369146915691669176918691969206921692269236924692569266927692869296930693169326933693469356936693769386939694069416942694369446945694669476948694969506951695269536954695569566957695869596960696169626963696469656966696769686969697069716972697369746975697669776978697969806981698269836984698569866987698869896990699169926993699469956996699769986999700070017002700370047005700670077008700970107011701270137014701570167017701870197020702170227023702470257026702770287029703070317032703370347035703670377038703970407041704270437044704570467047704870497050705170527053705470557056705770587059706070617062706370647065706670677068706970707071707270737074707570767077707870797080708170827083708470857086708770887089709070917092709370947095709670977098709971007101710271037104710571067107710871097110711171127113711471157116711771187119712071217122712371247125712671277128712971307131713271337134713571367137713871397140714171427143714471457146714771487149715071517152715371547155715671577158715971607161716271637164716571667167716871697170717171727173717471757176717771787179718071817182718371847185718671877188718971907191719271937194719571967197719871997200720172027203720472057206720772087209721072117212721372147215721672177218721972207221722272237224722572267227722872297230723172327233723472357236723772387239724072417242724372447245724672477248724972507251725272537254725572567257725872597260726172627263726472657266726772687269727072717272727372747275727672777278727972807281728272837284728572867287728872897290729172927293729472957296729772987299730073017302730373047305730673077308730973107311731273137314731573167317731873197320732173227323732473257326732773287329733073317332733373347335733673377338733973407341734273437344734573467347734873497350735173527353735473557356735773587359736073617362736373647365736673677368736973707371737273737374737573767377737873797380738173827383738473857386738773887389739073917392739373947395739673977398739974007401740274037404740574067407740874097410741174127413741474157416741774187419742074217422742374247425742674277428742974307431743274337434743574367437743874397440744174427443744474457446744774487449745074517452745374547455745674577458745974607461746274637464746574667467746874697470747174727473747474757476747774787479748074817482748374847485748674877488748974907491749274937494749574967497749874997500750175027503750475057506750775087509751075117512751375147515751675177518751975207521752275237524752575267527752875297530753175327533753475357536753775387539754075417542754375447545754675477548754975507551755275537554755575567557755875597560756175627563756475657566756775687569757075717572757375747575757675777578757975807581758275837584758575867587758875897590759175927593759475957596759775987599760076017602760376047605760676077608760976107611761276137614761576167617761876197620762176227623762476257626762776287629763076317632763376347635763676377638763976407641764276437644764576467647764876497650765176527653765476557656765776587659766076617662766376647665766676677668766976707671767276737674767576767677767876797680768176827683768476857686768776887689769076917692769376947695769676977698769977007701770277037704770577067707770877097710771177127713771477157716771777187719772077217722772377247725772677277728772977307731773277337734773577367737773877397740774177427743774477457746774777487749775077517752775377547755775677577758775977607761776277637764776577667767776877697770777177727773777477757776777777787779778077817782778377847785778677877788778977907791779277937794779577967797779877997800780178027803780478057806780778087809781078117812781378147815781678177818781978207821782278237824782578267827782878297830783178327833783478357836783778387839784078417842784378447845784678477848784978507851785278537854785578567857785878597860786178627863786478657866786778687869787078717872787378747875787678777878787978807881788278837884788578867887788878897890789178927893789478957896789778987899790079017902790379047905790679077908790979107911791279137914791579167917791879197920792179227923792479257926792779287929793079317932793379347935793679377938793979407941794279437944794579467947794879497950795179527953795479557956795779587959796079617962796379647965796679677968796979707971797279737974797579767977797879797980798179827983798479857986798779887989799079917992799379947995799679977998799980008001800280038004800580068007800880098010801180128013801480158016801780188019802080218022802380248025802680278028802980308031803280338034803580368037803880398040804180428043804480458046804780488049805080518052805380548055805680578058805980608061806280638064806580668067806880698070807180728073807480758076807780788079808080818082808380848085808680878088808980908091809280938094809580968097809880998100810181028103810481058106810781088109811081118112811381148115811681178118811981208121812281238124812581268127812881298130813181328133813481358136813781388139814081418142814381448145814681478148814981508151815281538154815581568157815881598160816181628163816481658166816781688169817081718172817381748175817681778178817981808181818281838184818581868187818881898190819181928193819481958196819781988199820082018202820382048205820682078208820982108211821282138214821582168217821882198220822182228223822482258226822782288229823082318232823382348235823682378238823982408241824282438244824582468247824882498250825182528253825482558256825782588259826082618262826382648265826682678268826982708271827282738274827582768277827882798280828182828283828482858286828782888289829082918292829382948295829682978298829983008301830283038304830583068307830883098310831183128313831483158316831783188319832083218322832383248325832683278328832983308331833283338334833583368337833883398340834183428343834483458346834783488349835083518352835383548355835683578358835983608361836283638364836583668367836883698370837183728373837483758376837783788379838083818382838383848385838683878388838983908391839283938394839583968397839883998400840184028403840484058406840784088409841084118412841384148415841684178418841984208421842284238424842584268427842884298430843184328433843484358436843784388439844084418442844384448445844684478448844984508451845284538454845584568457845884598460846184628463846484658466846784688469847084718472847384748475847684778478847984808481848284838484848584868487848884898490849184928493849484958496849784988499850085018502850385048505850685078508850985108511851285138514851585168517851885198520852185228523852485258526852785288529853085318532853385348535853685378538853985408541854285438544854585468547854885498550855185528553855485558556855785588559856085618562856385648565856685678568856985708571857285738574857585768577857885798580858185828583858485858586858785888589859085918592859385948595859685978598859986008601860286038604860586068607860886098610861186128613861486158616861786188619862086218622862386248625862686278628862986308631863286338634863586368637863886398640864186428643864486458646864786488649865086518652865386548655865686578658865986608661866286638664866586668667866886698670867186728673867486758676867786788679868086818682868386848685868686878688868986908691869286938694869586968697869886998700870187028703870487058706870787088709871087118712871387148715871687178718871987208721872287238724872587268727872887298730873187328733873487358736873787388739874087418742874387448745874687478748874987508751875287538754875587568757875887598760876187628763876487658766876787688769877087718772877387748775877687778778877987808781878287838784878587868787878887898790879187928793879487958796879787988799880088018802880388048805880688078808880988108811881288138814881588168817881888198820882188228823882488258826882788288829883088318832883388348835883688378838883988408841884288438844884588468847884888498850885188528853885488558856885788588859886088618862886388648865886688678868886988708871887288738874887588768877887888798880888188828883888488858886888788888889889088918892889388948895889688978898889989008901890289038904890589068907890889098910891189128913891489158916891789188919892089218922892389248925892689278928892989308931893289338934893589368937893889398940894189428943894489458946894789488949895089518952895389548955895689578958895989608961896289638964896589668967896889698970897189728973897489758976897789788979898089818982898389848985898689878988898989908991899289938994899589968997899889999000900190029003900490059006900790089009901090119012901390149015901690179018901990209021902290239024902590269027902890299030903190329033903490359036903790389039904090419042904390449045904690479048904990509051905290539054905590569057905890599060906190629063906490659066906790689069907090719072907390749075907690779078907990809081908290839084908590869087908890899090909190929093909490959096909790989099910091019102910391049105910691079108910991109111911291139114911591169117911891199120912191229123912491259126912791289129913091319132913391349135913691379138913991409141914291439144914591469147914891499150915191529153915491559156915791589159916091619162916391649165916691679168916991709171917291739174917591769177917891799180918191829183918491859186918791889189919091919192919391949195919691979198919992009201920292039204920592069207920892099210921192129213921492159216921792189219922092219222922392249225922692279228922992309231923292339234923592369237923892399240924192429243924492459246924792489249925092519252925392549255925692579258925992609261926292639264926592669267926892699270927192729273927492759276927792789279928092819282928392849285928692879288928992909291929292939294929592969297929892999300930193029303930493059306930793089309931093119312931393149315931693179318931993209321932293239324932593269327932893299330933193329333933493359336933793389339934093419342934393449345934693479348934993509351935293539354935593569357935893599360936193629363936493659366936793689369937093719372937393749375937693779378937993809381938293839384938593869387938893899390939193929393939493959396939793989399940094019402940394049405940694079408940994109411941294139414941594169417941894199420942194229423942494259426942794289429943094319432943394349435943694379438943994409441944294439444944594469447944894499450945194529453945494559456945794589459946094619462946394649465946694679468946994709471947294739474947594769477947894799480948194829483948494859486948794889489949094919492949394949495949694979498949995009501950295039504950595069507950895099510951195129513951495159516951795189519952095219522952395249525952695279528952995309531953295339534953595369537953895399540954195429543954495459546954795489549955095519552955395549555955695579558955995609561956295639564956595669567956895699570957195729573957495759576957795789579958095819582958395849585958695879588958995909591959295939594959595969597959895999600960196029603960496059606960796089609961096119612961396149615961696179618961996209621962296239624962596269627962896299630963196329633963496359636963796389639964096419642964396449645964696479648964996509651965296539654965596569657965896599660966196629663966496659666966796689669967096719672967396749675967696779678967996809681968296839684968596869687968896899690969196929693969496959696969796989699970097019702970397049705970697079708970997109711971297139714971597169717971897199720972197229723972497259726972797289729973097319732973397349735973697379738973997409741974297439744974597469747974897499750975197529753975497559756975797589759976097619762976397649765976697679768976997709771977297739774977597769777977897799780978197829783978497859786978797889789979097919792979397949795979697979798979998009801980298039804980598069807980898099810981198129813981498159816981798189819982098219822982398249825982698279828982998309831983298339834983598369837983898399840984198429843984498459846984798489849985098519852985398549855985698579858985998609861986298639864986598669867986898699870987198729873987498759876987798789879988098819882988398849885988698879888988998909891989298939894989598969897989898999900990199029903990499059906990799089909991099119912991399149915991699179918991999209921992299239924992599269927992899299930993199329933993499359936993799389939994099419942994399449945994699479948994999509951995299539954995599569957995899599960996199629963996499659966996799689969997099719972997399749975997699779978997999809981998299839984998599869987998899899990999199929993999499959996999799989999100001000110002100031000410005100061000710008100091001010011100121001310014100151001610017100181001910020100211002210023100241002510026100271002810029100301003110032100331003410035100361003710038100391004010041100421004310044100451004610047100481004910050100511005210053100541005510056100571005810059100601006110062100631006410065100661006710068100691007010071100721007310074100751007610077100781007910080100811008210083100841008510086100871008810089100901009110092100931009410095100961009710098100991010010101101021010310104101051010610107101081010910110101111011210113101141011510116101171011810119101201012110122101231012410125101261012710128101291013010131101321013310134101351013610137101381013910140101411014210143101441014510146101471014810149101501015110152101531015410155101561015710158101591016010161101621016310164101651016610167101681016910170101711017210173101741017510176101771017810179101801018110182101831018410185101861018710188101891019010191101921019310194101951019610197101981019910200102011020210203102041020510206102071020810209102101021110212102131021410215102161021710218102191022010221102221022310224102251022610227102281022910230102311023210233102341023510236102371023810239102401024110242102431024410245102461024710248102491025010251102521025310254102551025610257102581025910260102611026210263102641026510266102671026810269102701027110272102731027410275102761027710278102791028010281102821028310284102851028610287102881028910290102911029210293102941029510296102971029810299103001030110302103031030410305103061030710308103091031010311103121031310314103151031610317103181031910320103211032210323103241032510326103271032810329103301033110332103331033410335103361033710338103391034010341103421034310344103451034610347103481034910350103511035210353103541035510356103571035810359103601036110362103631036410365103661036710368103691037010371103721037310374103751037610377103781037910380103811038210383103841038510386103871038810389103901039110392103931039410395103961039710398103991040010401104021040310404104051040610407104081040910410104111041210413104141041510416104171041810419104201042110422104231042410425104261042710428104291043010431104321043310434104351043610437104381043910440104411044210443104441044510446104471044810449104501045110452104531045410455104561045710458104591046010461104621046310464104651046610467104681046910470104711047210473104741047510476104771047810479104801048110482104831048410485104861048710488104891049010491104921049310494104951049610497104981049910500105011050210503105041050510506105071050810509105101051110512105131051410515105161051710518105191052010521105221052310524105251052610527105281052910530105311053210533105341053510536105371053810539105401054110542105431054410545105461054710548105491055010551105521055310554105551055610557105581055910560105611056210563105641056510566105671056810569105701057110572105731057410575105761057710578105791058010581105821058310584105851058610587105881058910590105911059210593105941059510596105971059810599106001060110602106031060410605106061060710608106091061010611106121061310614106151061610617106181061910620106211062210623106241062510626106271062810629106301063110632106331063410635106361063710638106391064010641106421064310644106451064610647106481064910650106511065210653106541065510656106571065810659106601066110662106631066410665106661066710668106691067010671106721067310674106751067610677106781067910680106811068210683106841068510686106871068810689106901069110692106931069410695106961069710698106991070010701107021070310704107051070610707107081070910710107111071210713107141071510716107171071810719107201072110722107231072410725107261072710728107291073010731107321073310734107351073610737107381073910740107411074210743107441074510746107471074810749107501075110752107531075410755107561075710758107591076010761107621076310764107651076610767107681076910770107711077210773107741077510776107771077810779107801078110782107831078410785107861078710788107891079010791107921079310794107951079610797107981079910800108011080210803108041080510806108071080810809108101081110812108131081410815108161081710818108191082010821108221082310824108251082610827108281082910830108311083210833108341083510836108371083810839108401084110842108431084410845108461084710848108491085010851108521085310854108551085610857108581085910860108611086210863108641086510866108671086810869108701087110872108731087410875108761087710878108791088010881108821088310884108851088610887108881088910890108911089210893108941089510896108971089810899109001090110902109031090410905109061090710908109091091010911109121091310914109151091610917109181091910920109211092210923109241092510926109271092810929109301093110932109331093410935109361093710938109391094010941109421094310944109451094610947109481094910950109511095210953109541095510956109571095810959109601096110962109631096410965109661096710968109691097010971109721097310974109751097610977109781097910980109811098210983109841098510986109871098810989109901099110992109931099410995109961099710998109991100011001110021100311004110051100611007110081100911010110111101211013110141101511016110171101811019110201102111022110231102411025110261102711028110291103011031110321103311034110351103611037110381103911040110411104211043110441104511046110471104811049110501105111052110531105411055110561105711058110591106011061110621106311064110651106611067110681106911070110711107211073110741107511076110771107811079110801108111082110831108411085110861108711088 |
- !!!
- !!! This file is no longer updated (and hasn't been for a while).
- !!! Instead we prefer to put changelog messages in the git commit
- !!! messages. The only reason to keep this file around is that in
- !!! the old days the messages in this file were more detailed than
- !!! the commit messages, so this file may still contain useful info
- !!! when you're investigating old changes.
- !!!
- 2010-06-06 Manuel Bilderbeek <manuel@msxnet.org>
- * Released openMSX 0.8.0.
- * NOTE: this is probably the last entry in this ChangeLog. From now
- on, just use the SVN commit log to keep track of changes.
- 2010-01-10 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Generation MSX id to software info topic. Use this to link
- openMSX games to the Generation MSX web site.
- 2009-12-20 Manuel Bilderbeek <manuel@msxnet.org>
- * Made softwaredb information available from Tcl, using sha1sum as
- key. First step in making better use of the softwaredb, but mostly
- meant to make it possible to replace the automatic ROM info printing
- with a command to query that information on demand.
- 2009-11-08 Manuel Bilderbeek <manuel@msxnet.org>
- * Added saving and loading of replays (in reverse feature). Thanks to
- Wouter for doing the difficult work.
- 2009-09-27 Maarten ter Huurne <maarten@treewalker.org>
- * Corrected palette colors on V9958:
- The V9958 uses 5-bit DACs for R/G/B, shared by the YJK colors and
- the V9938-compatible palette colors. The R/G/B palette colors are
- converted from 3 bits to 5 bits in the same way the V9990 does.
- Thanks to n_n for capturing the output of my test program a real
- turbo R.
- 2009-08-02 Patrick van Arkel vampiermsx@gmail.com
- * Made some major changes to the ROM database
- and added <text> tags to the <remark> field.
- Included are also Generation MSX-ids to have
- a common 'key' to bind databases.
- 2009-07-16 Manuel Bilderbeek <manuel@msxnet.org>
- * Added session management script. When you do:
- set enable_session_management true
- your session (all machines) will be saved when exiting openMSX and
- loaded again when starting openMSX (ignoring the machine/extensions
- you put on the command line). You can also save, load, list and
- delete sessions manually from the console. Default, this whole
- feature is disabled.
- 2009-07-15 Sean Young <sean@mess.org>
- * First commit of Laserdisc code. Some of the outstanding issues
- are listed in doc/laserdisc-todo.txt.
- 2009-07-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Added tabbed_machine_view script, visualizing multiply running
- machines in a kind of tab widget.
- 2009-07-08 Manuel Bilderbeek <manuel@msxnet.org>
- * Renamed 'msxonly' option to 'raw', which fits much better to what it
- does.
- 2009-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Major reductions in executable size for serialization code:
- See the commit messages for details, here I'll only list one line
- per commit and the size of the executable in each step (stripped
- devel flavour on linux x86_64 gcc-4.3):
- 7200kB [initial version]
- 7140kB MemBuffer iso std::vector
- 7060kB made serialize without ID default
- 6920kB string="" -> string*=NULL
- 6918kB XXX::serialize() tweaks
- 6899kB outline OutputBuffer::insert()
- 6861kB __builtin_constant_p
- 6590kB beginTag(const char*)
- 6292kB move error handling outline
- 6171kB moved more of loadVersion() outline
- 6120kB use const char* in PolymorphicSaver
- 6109kB moved more of PolymorphicXXXRegistry outline
- 5781kB give ArchiveXXX classes a non-templatized base
- 5780kB moved ArchiveXXX::load/save() methods outline
- 5726kB pass attrbute names as const char*
- 5710kB outline attribute(...) calls
- So combined this is an executable size reduction of over 1.4MB.
- Apart from this, compilation is also noticeably faster: went from
- 8'00" to 6'23" on my machine (user time).
- 2009-06-07 Manuel Bilderbeek <manuel@msxnet.org>
- * Apart from full screen (which was already implemented), also hide
- the mouse pointer always when input grab is enabled.
- 2009-06-04 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Sanyo MPC-25FD, MSX2 with diskdrive and one cartridge slot
- only. Thanks to jltursan!
- 2009-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed IE0 related VDP bug:
- When there is a pending VBLANK IRQ (bit 7 in S#00 is set) and you
- switch IE0 (bit 5 in R#1) on, there is immediately a IRQ send to
- the Z80. Before this fix openMSX would only generate one on the
- next VBLANK.
- This fixes several long-standing bugs:
- - [1849488] Game "Adonis" plays sound way too slowly
- - [ 739150] Zanac: title corrupted
- - [1847275] Penguin Adventure doesn't work on some machines
- - [ 658430] Galaga/Bosconian slows down when you die
- Thanks a lot to 'n_n' for providing a z80 trace of a Adonis run in
- meisei. Comparing this trace with a openMSX trace allowed to
- pin-point this bug.
- 2009-05-23 Maarten ter Huurne <maarten@treewalker.org>
- * Always build application folder on Mac OS X.
- This is the way we release and supporting both app folder and
- systemwide installation only adds to the maintaince effort.
- 2009-05-05 Max Feingold <maf6@cornell.edu>
- * Added a Win32 implementation of LocalFile:mmap().
- This should make file handling on Windows imperceptibly faster.
- * Implemented correct shutdown logic for PipeConnection thread
- using async I/O and events.
- 2009-04-24 Manuel Bilderbeek <manuel@msxnet.org>
- * Final step in un-uglifying Tcl scripts using Tcl namespaces :)
- 2009-04-19 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Sharp-Epcom HB-3600 dual 5.25" external disk drives, thanks to
- FRS for contributing it.
- 2009-04-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added support for taking screenshots without OSD elements:
- Restructured OutputSurface and child classes to make it possible
- to render to an off-screen surface, so that it becomes possible
- to re-render the current frame without the OSD layers.
- 2009-04-04 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented enough of the Arkanoid pad to make it work. Use the
- mouse to control it.
- 2009-04-03 Manuel Bilderbeek <manuel@msxnet.org>
- * Added pointer_hide_delay setting to control visibility of the mouse
- pointer. If you set it to -1, it will be always shown. 0 (the default)
- means it is never shown. Positive values is the amount of milliseconds
- it takes before it will be automatically hidden after it got shown due
- to mouse activity. Docs are TODO.
- 2009-03-30 Manuel Bilderbeek <manuel@msxnet.org>
- * Added a fun OSD VU-meter script, see script for details.
- Thanks to Wouter and BiFi for their support.
- 2009-03-26 Max Feingold <maf6@cornell.edu>
- * Secured sockets used by CliServer on Windows by requiring authentication
- and authorizing only the user that launches the openMSX process.
- 2009-03-24 David Heremans <david.heremans@gnu-linux.net>
- * Added new emu-state icons for set1 and replaced the default
- ones in share/skins.
- 2009-03-20 Manuel Bilderbeek <manuel@msxnet.org>
- * Added throttle setting to the new OSD icons (thanks Wouter).
- 2009-03-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Convert ancient history_size and remove_doubles settings to modern
- settings. They influence how openMSX handles console history.
- 2009-03-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Added pause_on_lost_focus setting. After enabling it, openMSX will
- pause when your cursor leaves the openMSX window. Useful in some
- cases. This was default in fMSX, but in openMSX it is off by default.
- 2009-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split Y8950Adpcm sample generation part in two:
- - There is now an emulation and an audio part. See comments in
- Y8950Adpcm.cc for details. The emulation state is now no longer
- dependant on the audio-thread. So in UR, the scope part keeps
- on working when the audio is muted.
- - Also made some minor adjustments to the rest of the adpcm code.
- 2009-02-24 Max Feingold <maf6@cornell.edu>
- * Updated VC++ projects with a Python-based script that builds config
- headers using mth's Python scripts. This automates one of the more
- annoying manual steps in the VC++ build process.
- 2009-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * ZMBVEncoder motion vector search heuristic tweaks:
- - try vectors with smallest euclidean size first (was Chebyshev size)
- also give preference to purely horizontal/vertical motions and to a
- lesser degree purely diagonal motions
- - start search at best motion vector of previous block (before we
- always started from the center)
- - use different set of possible motion vectors, search further in
- pure hor/ver/diag directions, less far in other (random) directions
- Combined these tweaks give measurable smaller video files (5% - 25%)
- and also run faster (2% - 6%). The 2nd tweak (start from previous
- best) has the largest effect.
- 2009-02-23 Max Feingold <maf6@cornell.edu>
- * Created a WiX-based installer for openMSX on Windows. The output is
- an MSI file with the usual wizard-based installation UI.
- 2009-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored disk classes:
- - simplified class hierarchy:
- - removed virtual inheritance
- - merged WriteProtectableDisk into SectorAccessibleDisk
- - Disk now inherits from SectorAccessibleDisk,
- ATM we don't support disk image formats that are lower level
- than sector level. But even for those images it makes sense
- to support reading/writing sectors.
- - moved patch functionality up in the class hierarchy,
- to SectorAccessibleDisk
- * Added syntax to insert a partition of a hard disk image:
- <hd-image>:<num>
- This is a preparartion to support disk partitions in the nowind
- interface.
- * Implemented hard disk support for nowind interface
- 2009-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Initial nowind implementation:
- still need to work on the nowind openmsx commands
- 2009-02-09 Max Feingold <maf6@cornell.edu>
- * Ported most significant inline assembly code to VC++ format,
- where significance is defined as 'being noticeable in kernrate'.
- * VC++ binaries now benchmark 15% faster than mingw32 binaries on my system
- openMSX svn VC++ x64 - 10.72 seconds
- openMSX svn VC++ x86 - 11.19 seconds
- openMSX svn mingw x86 - 12.62 seconds
- openMSX 0.7.0 mingw x86 - 13.96 seconds
- 2009-02-07 Max Feingold <maf6@cornell.edu>
- * Reduced VC++ W3 warning load to ~250, with help from Vampier and Wouter
- 2009-02-05 Max Feingold <maf6@cornell.edu>
- * Rationalized the following definitions throughout the codebase:
- - ASM_X86 = build assembly code on x86 and x64 platforms
- (gcc's inline asm can target both; VC++ doesn't support x64 inline asm)
- - ASM_X86_32 = build assembly code on x86 platforms (assumes ASM_X86)
- - ASM_X86_64 = build assembly code on x64 platforms (assumes ASM_X86)
- - __x86_64 = x64 target is specified
- - _WIN64 = Windows x64 target is specified (same as _WIN32 && __x86_64)
- * These definitions should act that same for both mingw32 and VC++.
- 2009-02-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'ld a,i' Z80 quirk:
- See comments in CPUCore.cc for details. Thanks to n_n for reporting
- this issue (first discovered by GuyveR800) and writing a test
- program for it.
- 2009-01-29 Max Feingold <maf6@cornell.edu>
- * Unicode filename support on Windows platforms
- - On Windows, standard CRT functions and 'ANSI' Win32 API calls
- expect and return ANSI encodings, not UTF8. Unicode support on
- Windows is generally achieved by calling CRT functions that accept
- wchar_t and 'wide char' xxxW Win32 API calls.
- - openMSX uses std::string and UTF8-encoded strings throughout.
- Consequently, on Windows we wrap all system calls that might
- touch the filesystem in UTF8-to-UTF16 conversions before calling
- the 'wide char' API and (if necessary) converting back to UTF8.
- * As a side effect, this checkin also deprecates openMSX support for
- Windows 95-based platforms, as well as for Windows NT 4.0.
- At the time of writing, only Windows 2000 and above are supported.
- 2009-01-25 Maarten ter Huurne <maarten@treewalker.org>
- * Use Python to generate "Version.ii".
- * Use Python to generate "build-info.hh".
- 2009-01-18 Max Feingold <maf6@cornell.edu>
- * Fixed bug [ 1206036 ] Windows Control Menu while using ALT
- With this fix in place, the ALT+SPACE combination no longer
- pops up an annoying context menu on Windows.
- * The solution was to register our own winproc, filter out the
- offending WM_SYSCOMMAND events, and delegate the rest to SDL.
- 2009-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Console refactoring:
- - Share much more code between SDL and GL console variant
- - Use TTF fonts instead of a .png file with the ASCII symbols:
- console can now also show unicode chars (if the ttf font has them)
- - Added new setting: consolefontsize
- - Removed (now unused) classes:
- Font, DummyFont, SDLFont, GLFont, SDLConsole, GLConsole
- * Reverted part of last CPU refactoring (2008-01-15):
- - Omitting needExit() check on some instructions can causes
- acceptance of an IRQ to be a couple of instructions late,
- see comments in src/cpu/CPUCore.cc for details.
- - But even without this part, the threaded interpreter model is a
- big win (more than 10% faster) over the old model.
- 2009-01-23 Max Feingold <maf6@cornell.edu>
- * Checked in VC++ project files that build dependencies and openMSX itself.
- The project files are in VC9 (Visual C++ 2008) format and should be usable
- with the Windows SDK's msbuild tool, as well as with the free (as in beer)
- Visual C++ 2008 Express Edition.
- * This checkin also brings the first 64-bit Windows build of openMSX.
- x64 binaries are fully functional and I'm pleased to note that I found no
- significant 64-bit portability issues in the codebase (inline asm aside).
- 2009-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Initial implementation of the VDP sprite collision coordinate status
- registers:
- Not yet 100% correct (see top of src/video/SpriteChecker.cc for some
- TODOs). But at least 'Ace in Space level 3' works now. So far this
- seems to be the only game that actually uses this feature.
- Fixes [2510696].
- 2009-01-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Major changes in CPU emulation core:
- I've worked on this patch on a local (private) branch for several
- weeks. Actually it are several related patches and ideally I should
- also commit it as seperate patches. However developing on a private
- branch means (at least for me) do a couple of commits, detect a
- mistake in one of the earlier commits, make a new commit that
- corrects that mistake and so on. Usually I do the extra effort to
- extract a clean patch-series from my local branches before committing
- them. However this time that would require quite some extra time, and
- as you guessed already I was too lazy to spend that time. Though as
- compensation I wrote some extra doc about the inner workings of our
- CPU emulation (see src/cpu/CPUCore.cc)
- These are more or less the steps that are combined in this commit:
- * Put instruction selection into one big function:
- this allows to 'goto' between all part of this code (required
- in later steps)
- * Move opcode fetching (initial byte) and time accounting into
- this function (preparation for next step)
- * Allow to execute multiple instructions inside this function
- * Use gcc extension 'computed goto' to implement faster dispatch
- * Added fallback for compilers that don't have this extension (VC++)
- * Simplified 'exit-test', see doc in CPUCore.cc for details
- * Some smaller time bookkeeping optimizations:
- - IX/IY instructions updated clock in two steps -> merged into one
- step
- - Some helper routines took a 'extra-cycles' function parameter.
- Turned this into a template parameter to force the compiler to
- treat it as a compile-time-constant. (Actually gcc already did
- this optimization by itself most of the time when the function
- got inlined, but now the optimization is guaranteed.)
- 2009-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented difference between AY8910/YM2149 reading of registers:
- - thanks to enen for doing most of the investigation on real MSX
- machines
- 2009-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Merged (part of) mfeingol's work to make openMSX compile with VC++:
- - code still compiles with gcc, but i couldn't test myself with VC++,
- so probably this work is not finished yet ;)
- - build system is still TODO, these are only changed in the C++
- source files
- 2009-01-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Released openmsx-0.7.0
- 2008-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Updated to cbios 0.22
- 2008-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * For carta command, check for errors (rom and ips files)
- before removing the currently inserted cartridge.
- 2008-11-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added '-repeat' option to 'bind' command:
- - When the '-repeat' options is given and the key remains pressed,
- the command will be repeat (just like regular key repeat while
- typing).
- - Used this feature in the OSD menu.
- 2008-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added possibility to take screenshots of only the msx screen (so no
- OSD stuff and console):
- For the moment this is done by passing the option -msx to the
- screenshot command, this will take a screenshot of size 640x480.
- There will also be no scaler or any other effects in the screenshot.
- You can use -msxsmall to take a screenshot of size 320x240 (-msxbig
- is a synonym for -msx).
- TODO is the syntax of this command ok? Also still need to document
- it.
- 2008-10-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized VDPCmdEngine:
- The core of most VDP commands goes like this:
- 1 transform x,y coordinate(s) to vram address(es)
- 2 do some operation on that address(es)
- 3 increase (or decrease) coordinates to loop over the whole
- rectangle (mostly only the x-coordinate changes)
- 4 repeat if there is still time left
- The coordinate to address transformation requires quite some shift
- and logical operations. In the next iteration all these operations
- are repeated.
- In this patch the vram address is calculated incrementally: we
- calculate it once at the beginning of the loop and then adjust the
- address when the x-coordinate changes. We have to take care of vram
- interleaving (screen 7 and 8) and that several pixels map to the same
- address (screen 5, 6, 7).
- A second optimization is to simplify the stop-condition for the
- innermost loop. Before we broke out of this loop either when
- destination time was reached or when we reached the end of a
- horizontal line (implemented as two seperate tests). Now we calculate
- up-front which of these two condition will occur first and iterate
- that many times (with only one test).
- I measured between 4% and 8% speedup on total emulation time for the
- Space Manbow intro demo (renderer=none, sounddriver=null).
- 2008-10-25 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Sony HB-10P and Sony HB-55P, thanks to Rudi Westerhof. Also
- added Sony HB-20P a few days ago, thanks to MSXKun.
- 2008-10-16 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented rough, but measurement-based timing for V9990 for
- commands LMMV, LMMM, BMXL, BMLX and BMLL. Code by Wouter. Original
- measurement programs by Peter Mastijn. Measurements by Wouter and
- me, using Wouter's more generic measurement program. Fixes [421861]!
- 2008-09-25 David Heremans <david.heremans@gnu-linux.net>
- * Vram debuggable changed:
- First step towards creating a debuggable that provides a logical
- view upon the VRAM based upon the current videomode. This is the
- behavior an ML-coder expects when dealing with the VDP.
- The old chipbased view upon the vram is now called "physical VRAM"
- instead.
- 2008-09-21 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Brazillian OPL3Cartridge (MoonSound without wavetable).
- Still mostly untested, although MSX-Audio games (e.g. from Compile)
- seem to work with it. See RFE tracker item 1815450.
- 2008-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'probe' debug infrastructure:
- see 'help debug probe' or (doc/manual/command.html)
- 2008-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made Disk and SectorAccessibleDisk write-protectable:
- Added WriteProtectable interface and refactor code so that really
- all write methods check this write protected flag.
- 2008-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split MSXtar class into two parts:
- - DiskImageUtils: this part knows about partitions and format
- - MSXtar: this part knows about files and directories
- Rational: before this change, the interface of the MSXtar class was
- a bit confusing, especially the usePartition() method. Depending on
- which MSXtar functionality you plan to use, you either must call it,
- were not allowed to call it or must call it but ignore exceptions
- thrown by it.
- To simplify this, I split the functionality of the MSXtar class in
- two parts. Now MSXtar doesn't know anything anymore about partitions
- and formatting (of course it's still possible to work on partitions,
- but that's now abstracted via the new DiskPartition class).
- 2008-08-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed some UMRs triggered during savestate:
- Before savestates this was not a problem because those value _are_
- initialized before they are used in actual msx emulation code. Though
- savestates can read these values earlier. And if the variable was an
- enum, it could even lead to an assert.
- Thanks to Vampier for reporting this bug.
- 2008-08-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Diskmanipulator changes:
- - Teach diskmanipulator about multiple active msx machines.
- Before this change 'diska' always refered to the 1st drive of
- the oldest machine. Now it refers to the active machine. It's
- also possible to explicitly qualify the wanted machine with
- syntax like 'machine2::diska'.
- - Improved check on whether the specified partition exists or
- not.
- 2008-07-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Changed our Unicode code with UTF8-CPP code:
- http://utfcpp.sourceforge.net/
- This fixes the TODO's left in our Unicode code. But it's mainly
- dome as preparation to serialize the Keyboard class (because a
- 'type' command in progress doesn't survive a savestate ATM). The
- old code in the Keyboard class contained a UTF16 encoded string,
- but the serialization framework can't (directly) serialize that.
- 2008-07-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized de-serialization of arrays:
- Directly deserialize the elements in the correct position in
- memory. Before the element was loaded in a local variable and
- then copied to the correct position in the array.
- This also fixes a bug in AY8910 when detune/vibrato was used,
- because copying a AY8910::ToneGenerator object is not allowed.
- 2008-07-20 Manuel Bilderbeek <manuel@msxnet.org>
- * Renamed Midi{In,Out}Native to Midi{In,Out}Windows (untested!)
- * Made save/loadstate commands a bit more comfortable, so we can
- easier test this stuff :)
- 2008-07-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Enabled savestates to memory (as opposed to XML files):
- - Currently available via the 'mem_savestate' and 'mem_loadstate'
- commands, but this will still certainly change.
- - Speed seems to be quite good:
- savestate MSX1: 125us
- MSX2: 310us
- TurboR: 734us
- boosted MSX2: 3770us
- This between 200 and 400 times faster than the XML savestates!
- So it seems to be fast enough to implement a 'reverse-time'
- feature.
- 2008-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Serialize pluggables (WIP):
- Current code serializes all pluggables even those that are not
- plugged in. The available pluggables depends on the platform (e.g.
- the Midi{In,Out}Native pluggables on windows), the openmsx
- configure options (e.g. CassetteJack), the openmsx version (more
- pluggables in newer versions) and even the state of the host
- machine (connected a USB joystick). ATM loading a savestate only
- works when the exact same list of pluggables is available.
- Maybe we should only serialize those pluggables that are actually
- plugged in in the emulated machine (TODO verify that pluggables
- don't keep state over unplug-plug cycle).
- ATM only the state of the pluggables itself is serialized. We don't
- yet restore the actual plug state (which pluggable is plugged in
- which connector).
- 2008-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Merged Rom{4,8,16}kBBlocks classes into one templatized class
- 2008-07-01 David Heremans <david.heremans@gnu-linux.net>
- * Fixed two bugs in the diskmanipulator:
- - one preventing correct 360KB disk creation on some machines
- - one valgrind warning about variable initialization
- 2008-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More serialization work:
- - Philips_NMS_8250 can be serialized now, but still very
- few other machines or extensions are supported
- 2008-06-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added HIGHLY EXPERIMENTAL savestates:
- - Only very few things work yet, but I was able to resume
- 'Road Fighter' running in a MSX1 (actually that's about the
- most complex setup that already works).
- - There are two new commands (still VERY primitive)
- savestate <machineID>
- loadstate
- 'savestate' will create a openmsx.xml.gz file in the current
- directory. 'loadstate' will read this file and create a new
- machine based on this state. You can use 'activate_machine
- <machineID>' to switch to that machine.
- 2008-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Require extension hardwareconfig.xml files to list devices inside a
- <devices> tag. We already updated all our device configs for this
- over two years ago.
- 2008-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented TMS99x8 VRAM remapping (reg#1, bit 7):
- thanks to: - enen for providing the technical info
- - Quibus for testing it on both real and emulated
- machines
- 2008-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'tabbed' machines:
- It's now possible to have multiple msx machines in memory and freely
- switch between them. This is done with the already existing
- 'activate_machine' command. Only the active machine is running, the
- other machines are paused.
- This may not be the most useful feature, but we already had the
- 'activate_machine' command for other reasons (e.g. machine
- switching) and you could argue that it's a bug that it didn't
- already work like it does now. Basically we already had all the
- infrastructure in place. Actually enabling session support required
- relatively few changes (mostly mechanical). Also having this feature
- working gives more confidence that the design is right.
- 2008-06-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Simplified machine handling stuff in Reactor:
- Before we had some (complicated) logic in the Reactor class to
- postpone the actually machine switch till the main reactor loop has
- had a chance to run. The reason for this was that the 'machine'
- command (or other related commands) can get executed via a code path
- that runs through the current machine, meaning there are stackframes
- active that refer to the current machine. Only in the main reactor
- loop we're sure there are no such stackframes. A consequence of this
- approach is that for example in this sequence of Tcl commands:
- machine turbor ; diska mydisk.dsk
- The 'diska' command is still executed in the old machine, because
- the reactor loop has not run yet. If there is 'some pause' inbetween
- the two commands, the 'diska' command is executed in the new
- machine. At the very least this is not very intuitive.
- Taking a step back, switching the active machine (which has active
- stackframes) was not the problem, but deletion of that machine is.
- So instead of postponing the whole switch, we now only postpone the
- deletion of the old machine. The Tcl commands now work as expected.
- Also did some other refactoring to make the code easier to
- understand.
- 2008-06-12 David Heremans <david.heremans@gnu-linux.net>
- * Fixed a small bug in DirAsDisk:
- Read-only host-OS files became truncated in the MSX dsk image.
- 2008-06-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed compilation of CPU code with gcc-3.4:
- Compilation with gcc-3.4 was broken because of a compiler bug,
- gcc-4.x works just fine. Worked around it. Though I still like
- to demote gcc-3.4 support to second class.
- 2008-06-04 Alex Wulms
- * Added French version of VG8010/VG8020 and corresponding unicodemap files
- 2008-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed V9990 vertical scroll behaviour:
- Based on MRC forum post by GhostwriterP (page 3, post 12)
- http://www.msx.org/forumtopicl8574.html
- 1) Writing to high byte of scroll register only takes effect at the
- start of the next frame. This is for both scroll A and B
- registers.
- 2) Writing to low byte has effect the next line. The next line that
- will be displayed is the line number just written to the register
- 3) point 2) has no effect on the sprite vertical sprite position
- (this was wrong in the initial openmsx implementation)
- 2008-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added -clip option to OSD widgets:
- - If this option is true, then child widgets are clipped to the
- bounding box of this widget.
- - Used in the OSD menu script to make sure (long) text lines don't
- gun over the end of the menu window.
- * V9990 display enable only takes effect at the next frame
- 2008-05-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reduced code duplication in CPUCore by templatizing various stuff:
- - For example, a lot of instruction methods only differ in the
- registers they act upon (e.g. inc_hl() vs inc_de). By making
- templatized helper functions to read/write registers, a lot of
- these instruction methods can be combined into a single
- templatized instruction method.
- - This reduced code size by almost 2000(!) lines.
- - The generated code is also about 100kB smaller. I'm not sure
- why exactly, but I think because it doesn't need to keep a
- non-inlined version of the templatized instruction methods in
- the final executable.
- - Speed of the CPU code has not changed.
- 2008-05-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Tuned R800 refresh (still WIP)
- 2008-05-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented dynamic IO port allocation for Panasonic MSX-AUDIO:
- fixes: [1231256] Panasonic MSX-AUDIO not detected for games
- 2008-05-24 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed AVI recording (ZMBV encoding, to be exact) on big endian CPUs.
- 2008-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed R800 page-break behaviour:
- - did a lot of measurements on a real turbor, see
- doc/r800test.txt
- - refactored CPU code to match this (WIP)
- 2008-05-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reading sectors from a disk image via the SectorAccessibleDisk
- interface didn't apply the IPS patches:
- This had as effect that accessing the disk in the emulated
- machine did show the effect of the IPS patches, but using
- the diskmanipulator on the same disk ignored the IPS patches.
- 2008-05-19 Manuel Bilderbeek <manuel@msxnet.org>
- * Final fixes on Nettou Yakyuu mapper, including enhanced sample
- player.
- 2008-05-17 Manuel Bilderbeek <manuel@msxnet.org>
- * Added WIP version of Nettou Yakyuu mapper, used by the game "Moero!!
- Nettou Yakyuu '88". Thanks to hap/enen for the research and blueMSX
- implementation and Wouter for teaching me about this stuff.
- 2008-05-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed crash in DirAsDsk / DiskManipulator:
- Occured when a diskimage used a different end-of-fat marker than
- 0xFFF. In fact the whole range 0xFF8-0xFFF should be interpreted
- as EOF. See:
- http://en.wikipedia.org/wiki/File_Allocation_Table#File_Allocation_Table
- 2008-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * CPU time keeping speedup:
- - We want to have cycle-accurate bus transactions (memory or IO-port
- read/writes). So for example if in one instruction there are
- multiple transactions, they should happen at slightly different
- moments in time. Also the time of the first transaction is not
- necessarily the same time as the start of the instruction.
- Initially we implemented this by incrementing the 'current time' by
- very small steps at each sub-instruction.
- We actually only need this time for very few transactions. The vast
- majority of the transactions goes to ROM or RAM (IOW to 'cachable'
- memory regions), and there the exact time is not important at all.
- To speedup this time keeping, we now only increment the 'current
- time' with the whole instruction cycle count. In case we do
- perform a transaction to non-cachable memory we still first have
- to calculate the current time. To be able to do this all
- transactions have been annotated with 'cycles since start of the
- instruction' information.
- I measured between 5% and 10% speedup on the ZEXALL benchmark with
- this change.
- 2008-04-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized check for pause in CPU code
- 2008-04-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use switch statement instead of jump table in CPUCore:
- - Is about 10%(!) faster when using gcc-4.2, more when using
- recent gcc snapshot. With gcc-4.1 it's performance neutral,
- gcc-3.4 was a big slowdown (but we care less about such old
- compilers).
- - Some history:
- I had already tried this before, but at that time it wasn't a
- win. Recent gcc versions are able to eliminate the check for the
- 'default' case when it can prove all cases are enumerated in the
- switch statement (here we switch on a byte type and provide all
- 256 cases). With this optimization the switch approach gave a
- small speed gain. Then I tried some additional tweaking (force
- inlining some core functions). And this gave a much bigger gain,
- even on older compilers.
- - Because we no longer use a jumptable there is no advantage anymore
- in using static functions (with an explicit 'this' argument) over
- regular member functions. This makes the code more readable again.
- 2008-04-08 David Heremans <david.heremans@gnu-linux.net>
- * Fixed a bug in the load_icons script
- 2008-04-07 David Heremans <david.heremans@gnu-linux.net>
- * Added a new 'fancy' skin
- 2008-04-06 Alex Wulms
- * Review unicodemaps for MSX models with 'international' font:
- - There were some errors in the maps. Especially for
- graph and shift-graph key combinations.
- 2008-04-06 David Heremans <david.heremans@gnu-linux.net>
- * New load_icons script:
- - Added suport for frame.png
- - Added time-before-fade-starts
- * Some extra comments in the DirAsDisk
- 2008-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added share/skins/Vera.ttf.gz:
- - also added support for compressed font files
- 2008-03-30 Alex Wulms
- * Add support for Philips VG8010:
- - Add new unicodemap unicode.proto_int; the VG8010 has a keyboard
- matrix that differs completely from all other MSX models. It seems
- to be some kind of prototype of the keyboard matrix
- - Add 'GRAPH locks' processing logic to the copy&paste routine in
- the keyboard driver (GRAPH has a locking behaviour on VG8010)
- * Fix DEAD key behaviour in keyboard driver in KEY mapping mode:
- - In KEY mapping mode, RCTRL key must be mapped to row 5 col 2 in the
- keyboard matrix (DEAD key on 'international' MSX keyboard) or to
- whatever other position if user has loaded another KeyToKey mapping
- file. Either way, it has to follow the 'Key to Key' mapping logic
- - In CHARACTER mapping mode, RCTRL key must be mapped according to
- the DEADKEY position in the unicode map files (for the MSX models
- that do have a DEAD key)
- 2008-03-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed Z80 timing of accepting a IRQ:
- - Accepting a IRQ in IM0 or IM1 should take 13 cycles, there is no
- extra wait cycle. For IM2 it takes 19 cycles (also no extra wait
- cycle).
- - Thanks to enen for testing this
- 2008-03-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added -fadeTarget and -fadePeriod properties for OSD widgets:
- - This allows to smoothly fade the alpha value of a widget without
- further interaction with this widget. (I mean you don't have to
- manually change the alpha value in small steps.)
- - Allows to greatly speedup the OSD icons Tcl script. (In the GP2X
- port, it took a lot a time)
- 2008-03-16 Manuel Bilderbeek <manuel@msxnet.org>
- * Some small improvements in the cassette player:
- - clearer errors when both a wav and a cas image fail to work
- - properly flush the recording when switching to play mode
- Still needs more work to properly handle 'zero-recordings' after
- switching to play mode, see comments in the class.
- 2008-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Replaced C++ IconLayer with a Tcl script
- 2008-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'user_setting' command:
- This allows to create openMSX settings from Tcl scripts. The main
- advantage of settings over regular Tcl variables is that their
- value is preserved over different openMSX sessions.
- See 'help user_setting' for more details.
- 2008-03-08 Manuel Bilderbeek <manuel@msxnet.org>
- * Added -doublesize switch to the 'record start' command, to record at a
- size of 640x480. Note: this is usually a lot slower...
- 2008-03-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in OSD rectangle drawing:
- As an optimization rectangles with alpha=0 (completely
- transparent), were not allocated in memory. This caused problems
- when we needed the dimensions of this rectangle to calculate the
- position of child widgets. Fixed by refactoring the transformation
- code.
- 2008-03-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'openmsx_info realtime':
- It was already possible to query the emutime of a machine in
- Tcl, now it's also possible to query the realtime.
- * Added '-scaled' OSD property:
- OSD widgets with this property (or child widgets whose parent has
- this property) are automatically scaled according to the
- 'scale_factor' setting. This makes it possible to design a GUI
- independent of the host window resolution.
- 2008-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Extended OSD stuff:
- - widgets are now hierarchically structured (the 'osd create'
- subcommand has been changed to allow this)
- - child widgets are placed relative to their parent widget
- - there can be an offset relative to parent in pixels (in the
- future probably also in 'scaled' pixels)
- - or offset can be as a percentage of the bounding box of the
- parent widget
- 2008-03-02 Alex Wulms
- * Several updates to keyboard driver:
- - Rename all keyboard settings to start with kbd_ so that they
- are grouped together when listed in alphabetic order, like in
- the documents.html file and in the tab expansion of the
- various commands in the console
- - Add support for a few keys that are specific to the jp106
- keyboard model (the most used keyboard in Japan)
- 2008-02-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'MatraShockware' mapper type:
- This is a non-bankswitched mapper that uses a AMD flash ROM. The
- flash is wired-up in such a way that writes end up in a different
- region as reads. The effect is that the flash' autoselect function
- tells you that a region is not write-protected, but when you
- actually try to reprogram that region it has no effect. The game
- 'INK' actually uses this as a sort of copy protection (if this
- check fails, stage 2 goes back to stage 1).
- See also this forum thread:
- http://www.msx.org/forumtopic8329.html
- 2008-02-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added new mapper type: plainflash
- It's plain mapper type (no bankswitching), but implemented
- with a Flash Rom, so it reacts to certain write-sequences.
- According to this forum topic
- http://www.msx.org/forumtopicl8329.html
- the Matra INK game uses this as a sort of copy protection.
- 2008-02-25 Alex Wulms
- * Several updates to keyboard driver:
- - Implemented auto-toggle of KANA-lock (and CODE-lock on VG8010)
- based on the character that the user enters. This is only done on
- MSX models on which CODE/KANA has a locking behaviour. Though,
- user can switch it off via auto_toggle_code_kana_lock setting.
- - Implemented auto-toggle of CODE/KANA-lock when pasting characters
- (either through catapult or via the type command in the console).
- This is always done on MSX models on which the CODE/KANA locks.
- - Implemented auto-toggle of CAPSLOCK when pasting characters. This
- is especially required for japanese models, which use CAPSLOCK to
- differentiate between hiragana and katakana entry mode when
- CANALOCK is on.
- - Added a mnemomic DEADKEY to the unicode maps, to indicate the
- position of the dead key in the MSX matrix (it is different on
- german MSX models)
- - Added setting keyboard_mapping_mode, so that user can select
- between KEY to key mapping mode and CHARACTER to key-combination
- mapping mode.
- - Refactored keyboard driver; unicode mapping data is now in its own
- class and it uses a std::map to store the mapping data in stead of
- a (sparse) 64k entries matrix.
- 2008-02-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added low level OSD Tcl commands:
- - It's now possible to draw OnScreen filled-rectangles, images
- and text. See 'help osd' for more details.
- - Font rendering is done with SDL_ttf. This is a new library
- dependency.
- - This is still very much work in progress.
- 2008-02-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'horizontal_stretch' setting:
- - amount of horizontal stretch can now be configured (some
- users repeatedly asked for this ;-)
- - removed horizontal_stretch enum from display_deform setting
- - as a bonus horizontal stretch can now also be used in
- combination with the 3D deform mode
- 2008-01-28 Alex Wulms
- * Initialized key_ghosting_sgc_protected parameter in all
- hardwareconfig.xml file:
- Initial value of the parameter is derived from keyboard
- code at ROM BIOS address 0x2c; for Japanese machines,
- it is set to false and for all others to true (this is based
- on tests with some real machines)
- 2008-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Introduced PLATFORM_GP2X #define,
- don't call getpwuid() if this #define is set
- 2008-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Conditionally compile 16/32bpp and scaler code:
- GP2X port only needs 16bpp and scale factor 1
- 2008-01-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed workaround for pre gcc-3.4 compilers
- 2008-01-18 Alex Wulms
- * Added key-ghost protection for SHIFT, GRAPH and CODE keys:
- This exists on several real models; these three keys are connected
- to row 6 via a diode (one diode per key)
- Have made it configurable through hardware.xml. Default is that
- the protection is on
- 2008-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored OutputSurface class:
- - Made all members private (was protected) and added protected
- getter/setters. This makes the interface between base and sub
- classes explicit.
- - Renamed getFormat() to getSDLFormat() to make it clear that this
- method still works dircetly on SDL data structures.
- - Added lock(), unlock() and isLocked() methods. These wrap the
- SDL_LockSurface() and SDL_UnlockSurface() functions. It for
- example allows to check that getLinePtrDirect() is only called on
- a locked surface.
- The first two changes allow for easier refactorings. The last change
- is a step towards enabling the use of HW accelerated SDL-blit
- functions on the GP2X port.
- * Move calls to OutputSurface::lock() / unlock() to a lower level:
- Every function that wants to access pixels directly should now make
- sure the surface is locked. Similarly a function that wants to use
- blit operations must unlock the surface. This allows for the
- minimal amount of locked<->unlocked transitions. (Locking while
- already locked or unlocking while already unlocked is very fast.)
- 2008-01-16 Alex Wulms
- * Added German keyboard map (unicodemap.de):
- It is needed for Sony HB-F700D. Please note that currently it gives
- a key-ghosting effect when entering { character; on german MSX this
- character must be entered by pressing SHIFT, CODE and ( keys
- SHIFT and CODE are on same ROW
- SHIFT and ( are on same COLUMN
- Hence the < character gets 'ghost pressed' (in same column as CODE)
- Need to figure out how this works on the real machine. Does it contain
- hardware to prevent key ghosting?
- 2008-01-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized SCC::generateChannels()
- 2008-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized CheckedRam for the case there is no umrcallback set:
- In some cases (e.g. in manbow2) it still caused some overhead:
- Internally openMSX divides memory in 256 byte chunks (see
- ChacheLine.hh) as soon as all 256 bytes in a chunk have been
- written to, read/writes to this chunk happen without overhead.
- Usually this happens early in the MSX boot process or startup code
- of a game. However manbow2 has 2 or 3 chunks that are read very
- frequently but only partly initialized.
- Solved by treating the memory completely initialized in case the
- 'umrcallback' settings is empty (no callback function registered).
- 2008-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed reading of wav cassette images on Windows:
- Some versions of(?) windows can't open the same file multiple
- times in read-write mode. But this is exactly what happened by
- using the (now removed) File::getLocalFile() method combined with
- SDL_LoadWav(). In the past (2007-08-29) we already solved a similar
- problem with IMG_Load(). We solved this by deleting the File object
- before using the path returned by getLocalFile(). This works for
- regular files, but not for compressed files. I like to gzip my wav
- images so we need a different solution.
- To solve this I removed the old getLocalFile() method and created a
- new class LocalFileReference. This class makes sure there is no
- open file reference anymore after its constructor finishes and that
- there is a local uncompressed version of the file for at least as
- long as the lifetime of the corresponding objects this class.
- 2008-01-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * in CPUCore prefer to use 'unsigned int' over 'word' datatype:
- Results in smaller and faster code. On x86, instructions that work
- on 32-bit are shorter than those for 16-bit. Code size reduced
- about 10kB, code is slighter faster (depends a lot on compiler
- version and optimization options). ARM CPUs don't even have 16-bit
- operations, only (limited) 16-bit load/store instructions. Here code
- size reduced about 20kB and is about 4% faster.
- 2008-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * changed SoundDevice::updateBuffer() method:
- As parameters this method (still) receives a number of buffers,
- each buffer should be filled with the audio-output of one channel.
- Before this change the existing data in the buffer should simply be
- overwritten. Now the new data should be added to the existing data
- in the buffer.
- This new approach allows to let several channel buffers actually
- point to the same underlying buffer (in fact only a muted or
- recorded channel will still get it's own private buffer). This
- allows to (mostly) skip the mix-channels step.
- I measured on my core2duo CPU and this new approach is slightly
- slower (a few percent) than the old one. If I disable SSE2
- optimizations in mixChannels, it's about the same speed. However on
- older CPUs without SSE2 and with smaller caches (like ARM) it's
- definitely faster. I guess because this new approach is more
- cache-friendly.
- 2008-01-03 Maarten ter Huurne <maarten@treewalker.org>
- * Removed execution of ~/.openMSX/share/init.tcl on openMSX startup.
- We have a "scripts" dir which can be used instead.
- This avoids an infinite loop if the user copies the openMSX internal
- version of "init.tcl" into the user dir.
- 2008-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Created 5 new commands:
- - create_machine (returns machine ID)
- - delete_machine <machine-ID>
- - list_machines (return list of machine IDs)
- - activate_machine <machine-ID>
- - <machine-ID>::load_machine <config-name>
- - These commands allow to implement the existing commands 'machine'
- and 'test_machine' as Tcl procs (not yet done).
- - This also allows to test extensions with the existing 'ext'
- command.
- - It also allows to have multiple running msx machine in memory,
- though ATM we always show the video/sound of the oldest machine.
- 2008-01-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added DivModByConst and DivModBySame utility classes:
- - these allow to replace a 64-bit by 32-bit division or modulo
- operation by a multiplication/addition/shift. This helps if
- the divider is a constant, especially on CPUs without division
- instructions (like ARM)
- * Always use 512kb flash for Manbow2 and MegaFlashRomScc mapper types:
- Flash RAM saving now works in 'Lotus F3'.
- 2008-01-01 Patrick van Arkel (vampiermsx@gmail.com)
- * Added Original ROM tag to database and added tag handeling to
- RomInfo.cc.
- * Changed list.php on http://romdb.vampier.net to include original
- release tags.
- 2007-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixes for videosource setting:
- - after switching machines, the list of allowed values could be
- wrong
- - doing 'unset videosource' crashed while MSX was not powered on
- 2007-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Restructured MemoryOps::memset implementation:
- should make it easier to also add non-x86 asm routines
- 2007-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized sprite drawing in mode 2:
- I still like this code to be reviewed. I believe it's correct,
- but sprite mode 2 is tricky sometimes.
- * Fixed error handling while parsing setting files
- 2007-12-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More YM2413 stuff:
- One of the previous optimizations triggered an assert, so I had
- to revert (part of) it. Now I reimplemented it in a correct way,
- it's even slightly faster than the previous implementation.
- * Made some YM2413 methods ALWAYS_INLINE:
- Gcc already did this for x86, but not for ARM. And it is measurably
- faster (also on ARM) if they are inlined.
- 2007-12-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Send out an update event for newly created settings:
- - This way catapult is informed of value changes for
- destroyed/recreated setting (happens for some settings during a
- machine switch).
- 2007-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored BooleanSetting:
- Don't inherit from EnumSetting<bool> anymore. This requires
- slightly more code but allows to better tune the code:
- - openmsx_info setting now returns 'boolean' (was 'enumeration')
- - querying the value now returns true/false (was on/false)
- - as a bonus the new implementation has less #include dependencies
- 2007-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More YM2413 optimizations:
- - swapped inner/outer loop, now generate all samples for a channel
- before moving on the next channel.
- - made a special case for channels without AM or FM modulation
- 2007-12-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More YM2413 optimizations:
- - only update noise value in rhythm mode
- - made Channel::global a function parameter iso a member variable
- - moved 'fnum' and 'block' from Slot to Channel, merge them into one
- new 'freq' variable
- * General SoundDevice/MSXMixer optimization:
- - added SoundDevice::getAmplificationFactor(), this allows to move
- a multiplication (or shift) from the sounddevice to the mixer. In
- the mixer there already was a multiplication (for per device
- volume setting) so those two can be merged.
- 2007-12-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Various YM2413 optimizations:
- - made lfo_pm and lfo_am local variables iso member variables
- - we used to store the last two Slot output values, but actually
- one the last one was needed
- - inlined advance() and calcSample() methods, this allows the next
- two items:
- - calc_phase() and calc_envelope() are not required when channel is
- inactive (there is an exception for two rhythm channels)
- - moved calc_phase() and calc_envelope() into the different
- calc_slot_xxx() methods, this in turn enables the next two items
- - the egout member variable can become a local variable
- - rhythm channels don't use FM or AM, so we can use simpler
- calc_phase() and calc_envelope() variants
- - small simplifications, removed dead code
- * Made keyboard event parsing (for event recorder/replayer) slightly
- more robust
- 2007-12-10 Alex Wulms
- * Added unicode support to event recorder/replayer logic
- 2007-12-09 Aernold Metselaar <arnold.metselaar@planet.nl>
- * Fixed small bug in diskmanipulator:
- Extracted files timestamp had most signifiocant bit of minutes set
- to zero.
- 2007-12-09 David Heremans <david.heremans@gnu-linux.net>
- * Fixed small bug in diskmanipulator:
- Extracted files timestamp had an offset of one month.
- 2007-12-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Another YM2413 optimization:
- Before the Slot objects kept a pointer to a Patch object, possibly
- they can share the same Patch. One of the patches is used for the
- custom instrument, so this one can change.
- After this patch we keep the Patch object by value in Slot. A
- disadvantage is that if the custom instrument changes, we have to
- update it in every Slot that has this instrument selected (though
- we already had to check this for other reasons).
- This change removes one pointer indirection from frequently used
- code, in total I measured about 2% speedup.
- 2007-12-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Various optimizations in YM2413:
- Combined I could measure upto 10% speedup.
- 2007-12-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized BitmapConverter::renderGraphic4() and renderGraphic6():
- Created a 16x16 table to lookup two pixels at once. This helps
- a little on 64-bit machines in 32bpp mode. On 32-bit I couldn't
- measure a difference (positive nor negative). It also helps on
- 32-bit machines in 16bpp mode, as is the case for GP2X. There I
- could measure a clear speed gain.
- * Greatly simplified ResampleLQ:
- New implementation can only do downsampling, but that's good
- enough, even when output freq is 48kHz.
- 2007-12-01 Maarten ter Huurne <maarten@treewalker.org>
- * Dropped support for GCC 3.3.
- This was triggered by link errors when using std::basic_string<unsigned>
- in the new keyboard mapping code. Working around this would require a
- large amount of extra code to be written, which is not worth it.
- 2007-12-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed problem in BliBuffer:
- In some cases our mute-optimization kicked in too soon,
- (low frequency, low volume, short audio sync intervals triggers it
- more often). This was audible as low frequency, low volume noise.
- * Previous changes in keyboard handling turned OPENMSX_FOCUS_EVENT and
- OPENMSX_BOOT_EVENT (also) into msx events, this is wrong.
- Event recording/replaying is still wrong because the logs don't
- contain unicode information. Need to discuss this with Alex. Maybe
- we need to log msx keyboard matrix info instead?
- 2007-11-25 Alex Wulms
- * Initialized keyboard_type and has_keypad parameter in all
- hardwareconfig.xml file:
- Initial value of keyboard_type is derived from keyboard
- code at ROM BIOS address 0x2c.
- Initial value of has_keypad is guessed from MSX version via a
- simple heuristical rule; it is set to false for MSX1 and to
- true for MSX2 and higher.
- 2007-11-24 Manuel Bilderbeek <manuel@msxnet.org>
- * Added connector update events, to keep track of which connectors
- are available.
- 2007-11-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed EmuTime parameter from MSXDevice constructor (was not used).
- 2007-11-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimization in SpriteChecker::checkSprites1() and
- SpriteChecker::checkSprites2():
- Before we checked line-by-line which sprites are visible for that
- line. Now we check it for lines in a whole range at the same time.
- 2007-11-21 Alex Wulms
- * Added docs/keyboard.readme:
- This document explains which new parameters have been
- introduced in hardwareconfig.xml and in settings.xml
- 2007-11-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized MSXMixer::generate():
- see comments in that method for more details
- 2007-11-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Big optimization in AY8910::generateChannels():
- Because the PSG generates mostly square waves and because we
- emulate the PSG at a high frequency (224kHz), lots of consecutive
- output samples have the same value (typically 100 or more!). We
- used to emulate the PSG step-by-step, instead now we calculate the
- moment in time when the output will change and output with that
- many equal samples.
- Because of this change PSG emulation itself became 3x-4x faster. On
- total emulation time this is upto 10% faster.
- This change was actually done as a preparation to use BlipBuffer
- more directly in the PSG code (because BlipBuffer only needs to
- know about changes in the sample stream). But on it's own it was
- already a nice speedup. This also means there is still potential
- for another big speedup.
- 2007-11-19 Alex Wulms
- * Removed conversion program (CVP) marker from russian keymap and
- removed few duplicate entries from spanish keymap
- 2007-11-18 Alex Wulms
- * Fixed unicode map jp_jis, introduced jp_ansi, ru, es :
- - The unicode maps are now derived from the MSX key
- matrixes on the MAP. See following URL:
- http://map.tni.nl/articles/keymatrix.php
- - Updated harwareconfig.xml of Sony_HB-F9P_Russian and
- of Panasonic_FS-A1 to test maps ru and jp_ansi
- 2007-11-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimization in CPUClock:
- Before this change we had two member variables 'limit' and 'extra'.
- Now they are replaced by 'limit' and 'remaining'. The variable
- 'limit' still has the same meaning, the variable 'remaining' is equal
- to the old 'limit - extra'. So the same information is represented
- in a slightly different way. The advantage is that the expression
- 'limit <= extra' now becomes 'remaining <= 0'. This is slightly
- faster but it's used in the innermost CPU loop.
- 2007-11-14 Alex Wulms
- * Processed review comments of Wouter on Keyboard class
- and made several other small improvements
- 2007-11-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized cacheline handling in CPUCore:
- - before it was used like this:
- const byte* line = readCacheLine[address >> 8];
- byte result = line[address & 0xFF];
- now it's like this:
- const byte* line = readCacheLine[address >> 8];
- byte result = line[address];
- So the cacheline doesn't store directly the address of the
- buffer, but the buffer minus (address & 0xFF00).
- 2007-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * tiny speedup:
- Added non-virtual method RawFrame::getLinePtrDirect(), the base
- class already had a virtual method FrameSource::getLinePtr() that
- does the (on this level). In some places (like SDLRasterizer) we
- know we're working on a RawFrame, so using getLinePtrDirect is
- slightly faster.
- For consistency I also renamed the (non-virtual) method in
- OutputSurface to getLinePtrDirect().
- 2007-11-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized ResampleBlip:
- This is not the blip algorithm itself, but the preprocess step that
- transforms a sequence of samples into a sequence of 'sample value
- changed' events.
- 2007-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * In various places performed the following two optimizations:
- - Prefer to use int or unsigned int over shorter types (char,
- short). Results in both faster and shorter code (both on x86
- and ARM).
- - Prefer to use unsigned over signed types. Especially when the
- var is used in division or module operations (more important on
- ARM than on x86). But even a simple divide by 2 (or any power of
- 2) is slower on signed types! This is because divide rounds
- toward zero, while a shift-right operation rounds down.
- 2007-11-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'machine_info device [<devicename>]' info topic:
- - Allows to query the device type of a given devicename
- - Preparation to be able to query rom types
- * Extended 'machine_info device' to also return the romtype (only
- for roms of course)
- 2007-11-06 David Heremans <david.heremans@gnu-linux.net>
- * DirAsDisk has a new sector cache format:
- - Forced little endianess of numbers in the cache.
- - Made sure that files are mapped on the same sectors.
- - Invalidate the cache if files have changed size
- - New files are added afterwards and do not conflict with the cache.
- 2007-11-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed manbow2 mapper type:
- First 7 sectors (1 sector is a 64kb block) are write-protected,
- only the last sector is writable.
- Created a seperate mapper type 'MegaFlashRomScc' (existed already
- as an alias) which has the complete range writable.
- 2007-11-04 Alex Wulms
- * Introduced unicode character handling in Keyboard class:
- - Before, SDL key-presses where mapped to MSX key-presses.
- Now, unicode characters get mapped to MSX key-combinations
- when SDL returns a unicode character. Otherwise, SDL key
- still gets mapped to MSX key
- 2007-11-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized AY8910::generateChannels():
- Swapped inner/outer loop. Now the outer loop goes over all (=3)
- channels and the inner loop over the samples. We (potentially)
- duplicate the calculations for the 'shared resources' between the
- channels (envelope and noise), but the inner loops are much
- simpler. In the cases I measured there was a significant net gain:
- it only takes 60% of the original time.
- * Additional AY8910::generateChannels() optimization:
- - Also use the 'silent channel' optimization for channels that use
- envelope volume and envelope has reached zero (and stays there).
- - Simplified the initial tests in generateChannels()
- 2007-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized MSXCPUInterface::setPrimarySlot():
- more efficient way of updating the not-allowed-to-be-cached
- region information
- 2007-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Various CPUCore tweaks:
- - mostly to eliminate branches or to produce shorter code
- - I couldn't measure a speed difference, but the code is 2% shorter
- 2007-10-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made normal and '_fast' variant of Clock::getTicksTill() and
- Clock::advance(). Use the _fast variant on places where speed is
- important and where it's safe to use.
- (Since 2007-10-03 we always used the fast variant, but occasionally
- that's wrong).
- 2007-10-28 David Heremans <david.heremans@gnu-linux.net>
- * DirAsDisk now only saves 'CACHED' type sectors and the
- final sector of 'MIXED' file caches in the '.sector.cache'
- when the disk is ejected.
- 2007-10-26 David Heremans <david.heremans@gnu-linux.net>
- * DirAsDisk now dedects new files on the Host OS
- 2007-10-24 David Heremans <david.heremans@gnu-linux.net>
- * Fixed DirAsDisk detecting moved/erased files on the Host OS
- 2007-10-24 David Heremans <david.heremans@gnu-linux.net>
- * Extended the DirAsDisk functionality:
- Due to popular demand....
- Got sync from MSX disk to Host OS correct for create,
- delete, rename, grow and shrinking of files.
- Tested with Philips NMS 8250 and FS A1-GT who both have a
- completely different approach/sequence to handling these actions.
- Still a lot to do and test but we are getting somewhere at least.
- 2007-10-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed regression in SCC (introduced in 6430):
- update output after a freq register write
- 2007-10-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed detail in SCC rotation mode:
- if deform bits 7-6 are 10, wave form 4 rotates at freq5 speed
- see: http://www.msx.org/forumtopicl7875.html
- 2007-10-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Initial version of Manbow2 mapper:
- this is work in progress, possibly the way the flash is saved
- will still change
- * Added MegaFlashRomScc extension
- 2007-10-08 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Sony HB-F1XDJ config, thanks to msxrestarter. Function and use
- of the big firmware ROM is not clear yet, but it should work, as it
- uses the Halnote mapper.
- 2007-10-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized 64-bit divide-by 32-bit operations:
- - the x86 'divl' instruction already does a 64-bit by 32-bit
- division, though it generates a trap when the result does not
- fit in 32-bit. That's why it's not (directly) used by gcc.
- In certain (time critical) places in openmsx we know the result
- fits, so we can directly use this instruction.
- 2007-10-03 David Heremans <david.heremans@gnu-linux.net>
- * Extended the DiskManipulator:
- It is now possible to export a single file or subdir from the msx
- image
- 2007-09-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed Halnote mapper, based on info from blueMSX
- 2007-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in stereo blip resampler:
- in case only one of the two channels was active, we left the other
- channel undefined (now we fill it with zeros)
- * Fixed bug in CPU code (probably introduced by me on 2007-08-28):
- - limitReached() bookkeeping was wrong when the advanceTime()
- method was used. This only happens when switching between
- Z80/R800. Fixed now.
- - This new implementation is also faster. Before the CPU polled
- the scheduler for the earliest sync-point (after every IO and
- memory mapped access). Now the Scheduler pushes new sync-point
- data to the CPU.
- 2007-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed TR status bit in V9990 (was inverted):
- - TR=1 means ready for transfer, thus V9990 is *not* ready to
- execute (part of) the command, it's waiting for data
- - Apparently most SW doesn't bother to check this bit (since
- the V9990 is fast enough). However Symbos does check it!
- * Initial implementation of V9990 LMCM command:
- - maybe not correct yet, but certainly better than no
- implementation
- * Fixed odd/even pixel problem in LMMC and LMCM commands
- 2007-09-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Mute individual PSG channels:
- - already speeds up the PSG code itself (though i only added code)
- - also enables speedups in the following stages of the audio flow
- * In SoundDevice::mixChannels(), special case mixing of 0, 1, and
- odd or even number of channels, also unroll 2x
- * Added SSE2 optimized version of SoundDevice::mixChannels()
- 2007-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use resampler for SamplePlayer
- * Process samples per 4 in SoundDevice::mixChannels()
- On itself this is already faster, but it also paves the way for
- future SSE2 optimizations.
- 2007-09-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed harmless(?) UMR in Y8950Adpcm
- * Don't take sqrt() of negative numbers (in case of rounding errors)
- * Fixed crash while using breakpoints
- 2007-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * SpriteChecker improvements:
- - get rid of expensive division in SpriteChecker fast-path
- - duplicate SpriteChecker::checkSprites2() for planar and
- non-planar modes
- 2007-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * CPU code tweak:
- - slightly better signed overflow calculation
- - use RD_WORD_PC to read two consecutive opcode bytes
- 2007-09-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Big optimization in CPU code:
- - Before we used function-to-member-pointers, now we use
- function-pointers to static functions that take an explicit
- 'this' argument. This doesn't look as nice, but gcc can
- generate faster code for it.
- - In the 'zexall' test with renderer=none speed improved from about
- 106s to 85s on my system! In a 'Space Manbow' test (also with
- renderer=none) speed improved from 54s to 48s!
- 2007-08-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized YM2413 and YM2413_2 idle mode:
- After profiling we found that even a completely idle YM2413 was
- at the top of a CPU profile (while running PSG games). The only
- thing the YM2413 was doing was updating the internal noise
- generator and AM/PM/evelope counters.
- Because this is so expensive we disable that after some idle
- time (for now 200ms). This means the noise sequence and AM/PM
- phase will not be exactly the same as on real HW when the music
- resumes, but that's most likely not audible.
- 2007-08-29 Maarten ter Huurne <maarten@treewalker.org>
- * Destruct File object before loading a file with IMG_Load from
- SDL_image. This should fix sharing violations on Windows.
- 2007-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split CPUClock::setLimit() in inline/non-inline part:
- gives a nice speedup in IO-port intensive applications
- * Tweaked calculation of current CPU time
- 2007-08-27 Maarten ter Huurne <maarten@treewalker.org>
- * Do not cache the result of native system detection.
- This makes it easy to use the same source tree on different systems,
- for example when the sources are on a network drive or if you do
- both 32-bit and 64-bit builds on an x86_64 system.
- 2007-08-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Created release branch for openMSX 0.6.3.
- * Various optimizations in CPU:
- - wrote specialized (simpler) code for instructions like
- xor a / cp a / or a / add a,a / sbc hl,hl
- - split cpuTracePost in a small inlineable part and a non-inline
- rarely executed part
- - optimized time book-keeping in the read/write memory paths
- * Small optimization in SDLRasterizer (+ cleanup):
- - don't render the same VRAM line twice in case of (single page)
- hardware horizontal scroll
- 2007-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimization in SDLRasterizer:
- - if possible directly render to destination (instead of to local
- buffer followed by memcpy)
- 2007-08-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made diskmanipulator command also available on machines without
- disk drives
- 2007-08-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added -nopbo command line option to disable use of
- OpenGL Pixel Buffer Objects
- 2007-08-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Show build flavour in the version string (not for release builds)
- * Fixed crash on exit while removing an extension that created extra
- external slot(s) and occupied (some of) those itself.
- 2007-08-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Compiled with -Wpadded and changed the order of some members so that
- the enclosing struct/class requires less internal padding:
- - I did the same thing on 2007-04-24, however this time I'm
- compiling on x86_64, so pointers require 8 bytes (iso 4). There
- were also a few new classes that needed some shuffling.
- 2007-08-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Enable -Wold-style-cast warnings by default
- and fixed all warnings triggered by this
- * In CPUCore only do unaligned memory accesses if we know
- the host CPU supports it
- 2007-08-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added psg_profile Tcl script
- 2007-07-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized cassetteplayer audio part, also use resampler
- 2007-07-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Some fixes in ESE_SCC
- 2007-07-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Commented out win32 specific sleep/timer code, it gives problems on
- dual core CPUs
- 2007-07-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed [ 1622018 ] New persistant directories created for every
- run-time switch
- * Use resampler for YMF278 (MoonSound wave part):
- also added a trivial resample mode for the case that input and
- output sample rate are the same (as will often be the case for
- YMF278, as its native freq is 44100Hz)
- 2007-07-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Disabled OpenGL SaI shader, see comments in GLScalerFactory
- 2007-07-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed [ 1730148 ] config checker creates big HD images:
- image is now only create on first use (read/write), so
- not yet when the machine is instantiated (=config check)
- * Added experimental PSG detune option, similar to PSG vibrato:
- - control with the PSG_detune_frequency and PSG_detune_percent
- settings
- - next step: experiment with the PSG detune/vibrato and hopefully
- remove one of the two again. Maybe also remove the
- PSG_*_frequency setting(s).
- 2007-07-21 Patrick van Arkel (vampiermsx@gmail.com)
- * Updated to Version 2.1 of the cheat defenitions after
- adding a ton of new cheats provided by Mars2000you.
- 2007-07-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added proper MSXDOS2 mapper type (before we used generic16kb):
- - implemented by BiFiMSX, I only fixed some bugs
- 2007-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'Super Lode Runner' mapper:
- This mapper is special because it ignores the SLOT-SELECT signal;
- it reacts to writes to address 0x0000 in _any_ slot. This violates
- the MSX standard.
- For a long time we didn't implement this mapper because it would
- add a (small?) performance hit on all memory writes.
- However, now, since we implemented the watchpoint infrastructure,
- the mapper can be implemented without any performance impact (no
- performance impact if the mapper is not inserted).
- 2007-07-05 Maarten ter Huurne <maarten@treewalker.org>
- * Added vibrato effect for PSG.
- You can control it with the settings "PSG_vibrato_percent" and
- "PSG_vibrato_frequency". Good values are around 1.0% and 4.5Hz.
- By default "PSG_vibrato_percent" is 0, which turns off the effect.
- Thanks to Wolf for the idea and his feedback on experiments.
- 2007-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use pimple idiom to move implementation details from hh to cc for
- YM2413 YM2413_2 YMF262 YMF278
- * Fixed regression in YM2413_2 core:
- Was introduced in revision 6372. We used a 8.24 FixedPoint
- datatype, but this goes wrong because our FixedPoint types are
- signed. Solved by using much smaller resolution FixedPoint
- datatypes (this is even a simplification and a small speedup).
- 2007-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * allow to use bindings on joysticks that are not plugged in (into the
- emulated MSX)
- 2007-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Created new directory 'utils' and moved several files into it
- 2007-06-26 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Software and Creation Date info to AVI files.
- * Added Creation Time info to PNG files (Software was already there).
- 2007-06-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added experimental BlipBuffer support for DACSound based sound
- devices:
- - heavily based on
- http://slack.net/~ant/libs/audio.html#Blip_Buffer
- * Added BlipBuffer based resampler:
- - Selectable via 'set resampler blip'
- - I'm not sure we want to keep this global or if we want to make
- this resampler default for specific devices. But for now it's an
- easy way to experiment
- 2007-06-19 Manuel Bilderbeek <manuel@msxnet.org>
- * Voice ROM of Keyboard Master is now also searched in ROM pools (sha1
- is hardcoded).
- 2007-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in SCC peek:
- - peek of deform register also triggered a reset of that
- register (like a regular read does)
- * Implemented peekMem() for ESE_SCC / MSXSCCPlusCart
- * Implemented read/write cache line stuff for ESE_SCC
- 2007-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added (optimized) clipping routines in Math.hh and use them
- in several places:
- - idea for int->short clipping is taken from Blip_Buffer
- http://slack.net/~ant/libs/audio.html#Blip_Buffer
- 2007-06-09 Maarten ter Huurne <maarten@treewalker.org>
- * Use resampler for AY8910 (PSG).
- 2007-06-06 Manuel Bilderbeek <manuel@msxnet.org>
- * Added a dummy port of blueMSX's YM2148. TODO: actually fill in the
- code. It's harmless, so I checked it in to have a base for a real
- port.
- 2007-06-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Access all CPU registers via getter/setters:
- - as preparartion for performance experiments, this change on its
- own has very little impact on the generated code
- * Alternative implementation for CPURegs:
- - see comments in the code for details
- - this version is a few percent faster for me
- 2007-06-05 Maarten ter Huurne <maarten@treewalker.org>
- * Added support for DESTDIR in the build system:
- If you run "make install DESTDIR=/some/path", all installation
- paths will have that prefix prepended to them.
- For example, the default location of the executable would become:
- /some/path/opt/openMSX/bin/openmsx
- 2007-06-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Another CPUCore optimization:
- - Made optimized 16-bit read/write routines. Originally this gave a
- slowdown, caused by gcc no longer inlining some bigger routines.
- After forcing gcc to inline the memory read/write functions, there
- was a huge speedup: upto 15% in a CPU only benchmark!! Forced
- inlining is responsible for the largest part of this speedup (very
- roughly 3/4 by always inline, 1/4 by new 16-bit routines).
- * Experimental IM2 support for YamahaSfg05 (untested)
- 2007-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * CPUCore optimization:
- - in RDMEM / WRMEM routines, keep cache line address in local
- variable instead of reading it twice from an array. Apparently gcc
- was not able to prove that array didn't change during a call to
- T::POST_MEM().
- - Gave more than 10% speedup here in a CPU only benchmark (zexall
- with frameskip=99)
- 2007-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Sound recording (seperate channels or combined) now always records
- to sound, irregardless of the 'mute' setting
- 2007-06-02 Albert Beevendorp
- * Added Password Cartridge implementation.
- The value between the <password> tags in the hardwareconfig.xml
- may vary from 0x0000 to 0xffff. It's used by the BIOS to read the
- password from the cartridge if one is set. This implements feature
- request 1411507.
- 2007-06-01 Manuel Bilderbeek <manuel@msxnet.org>
- * Added an LS-120 SCSI device.
- - Mostly as demonstrator of a removable SCSI device.
- - Could be used to make a SCSICDROM easier to make.
- - Can also be used to determine common stuff between SCSI devices.
- - TODO: change 'lsX' commands to something better.
- - TODO: remove massive code duplication with SCSIHD/HDCommand.
- 2007-05-31 Manuel Bilderbeek <manuel@msxnet.org>
- * Removed all dead code from SCSIHD and attempted to move
- device-specific stuff inside the class. I'll try to make an
- LS-120 device soon, to demonstrate a removable device.
- * Note that yesterday we also added ESE SCC and WAVE-SCSI. The latter
- doesn't seem to work properly, though.
- 2007-05-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Added initial MEGA-SCSI emulation.
- It's not working completely OK yet... Please help debugging :)
- (Thanks a lot to Wouter and Albert for their help.)
- * It seems to work after all: make sure to do a physical format of the
- disk first (using SFORM-2.COM).
- * Lots of cleanups, also by Wouter.
- * Added ESE Ramdisk (a.k.a. ESE RAM). This is MEGA-SCSI without SCSI.
- 2007-05-26 Manuel Bilderbeek <manuel@msxnet.org>
- * Created common superclass for SCSIHD and IDEHD called... HD.
- This makes it possible to let HDCommand work with any kind of HD.
- Now you can use the hdx commands also for SCSIHD's.
- Note: (off-topic) diskmanipulator can't handle corrupt disks.
- Note 2: diskmanipulator doesn't support the partition table formats
- used on SCSI harddisks yet. So, until then, SCSI devices cannot be
- used from diskmanipulator.
- Note 3: implementation of HD class could be cleaner... (it's using a
- protected member "file" now...)
- 2007-05-24 Manuel Bilderbeek <manuel@msxnet.org>
- * Read initial size and file name from config XML and create disk
- image in the persistent directory.
- * GoudaSCSI is now usable!
- * Implemented LED events for SCSIHD.
- 2007-05-23 Manuel Bilderbeek <manuel@msxnet.org>
- * (GoudaSCSI is basically working, yay! But please do not use it yet.)
- * Introduced abstract base class for SCSIDevices and added
- DummySCSIDevice (and made use of it).
- 2007-05-21 Manuel Bilderbeek <manuel@msxnet.org>
- * Added initial GoudaSCSI support, ported from blueMSX.
- NOTE: DO NOT USE YET!
- This is very much WIP! It's not working yet and contains lots of
- shortcuts and hardcoded stuff. So, again: don't use it. But please
- help improve it! :) (You are warned!)
- 2007-05-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed old (unoptimized) implementation of the high-quality
- resampler: sound quality is the same
- 2007-05-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added fast/low-quality resample algorithm
- * Added 'resample' setting with possible values 'fast' and 'hq' to
- switch between the different resample algorithm
- 2007-05-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Moved int<->float conversion from sounddevices to Resampler:
- - preparation for fast/low-quality resampler
- 2007-05-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Share resample coeff table between Resample instances with the same
- resample ratio
- 2007-05-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Additional speedup for the Resampler:
- - unrolled the loop (+ break dependencies)
- - added SSE optimized routine (mono only for the moment)
- - also added SSE optimized stereo resampler
- * Fixed memset4_2_MMX():
- - we used to pass a pointer to a struct on the stack, but
- newer gcc versions optimize this struct away
- 2007-05-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Experimental speedup for the Resampler:
- - code is very quick-and-dirty
- - still contains both old and new implementation to make
- sound quality comparison between the two possible
- 2007-05-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use 'SCC' instead of rom-name as name for the SCC sounddevice
- 2007-05-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized Resampler a bit:
- - used 'x - trunc(x)' instead of 'fmod(x, 1.0)'
- - but it's not used in the innermost loop so the speed gain is not
- that big (it is measurable though)
- 2007-05-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added SSE2 optimized noise routine in FBPostProcessor
- * Restored parsing of the <volume> and <mode> tags in the
- soundsection of hardwareconfig files. There can also
- be a <balance> tag now (that overrules <mode>)
- * Removed volume handling from sounddevice code:
- - it's now handled (together with balance) inside MSXMixer
- 2007-05-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed <sounddevice>_mode setting:
- - will be replaced by a balance setting soon
- - TODO what about backwards compatibilty?
- * Added <sounddevice>_balance setting
- 2007-05-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added support for SSE2 in HostCPU
- * Added SSE2 optimized routine in ScanLine class
- 2007-05-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reworked internal sounddevice mute code:
- - As an optimization is was possible for a sounddevice to indicate
- that it won't produce sound in it's current state. In that case
- the mixer wouldn't bother to call the updateBuffer() method
- for such devices.
- It was also already possible for a sounddevice to indicate that
- a specific channel is completely silent.
- Now these two approaches are unified: sounddevice should only
- inidicate which individual channels are muted. If all of the
- channels are muted, the rest of the sound code detects this and
- the same optimization as before happens.
- In this new approach the updateBuffer() is called in any case,
- so it's now possible to both correctly update internal state and
- benefit from the muted optimization.
- - The glitches that happened after unmute on resampled devices are
- now gone. But that because muting is effectively disabled for
- these devices for now. Although this new approach does make it
- possible to solve it and have the mute optimization. It's just
- not implemeted yet.
- 2007-04-30 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed MSX reading from SCC: frequency and volume block is write-only.
- * Fixed SCC reset behaviour: only deform and channel enable are changed.
- 2007-04-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Compiled with -Wpadded and fixed some of the warnings:
- - only fixed the cases that were solvable by rearranging the
- order of the fields locally in one class
- * Fixed cassette input bit (PSG R#14 bit 7) on turboR (thanks BiFiMSX)
- 2007-04-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Extended mute_channel related procs:
- - mute_channels without any arguments lists which channels are
- currently muted
- - unmute_channels without arguments now unmutes all channels
- - new command 'solo' mutes everything except for the specified
- channels
- * Small optimization in SDLGL-PP simple scaler:
- - pack several scalar uniform variables in one uniform vector
- variable. Removes one MOV instruction from the compiled fragment
- shader.
- 2007-04-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Recording/muting of individual sound device channels works:
- - it's still quick-and-dirty, but i wanted to have something
- working soon
- - use either via the <sounddevice>_ch<n>_record and
- <sounddevice>_ch<n>_mute settings
- or via the record_channels Tcl script (no mute yet)
- examples: record_channels PSG
- record_channels SCC 1,3-5
- record_channels stop
- record_channels stop PSG 2
- record_channels list
- - TODO: documentation
- make recording stutterless
- record silence when complete sounddevice is muted
- (muted manually or implicitly by the device itself)
- * Improved channel recording:
- - Channel recording is now also stutterless.
- - Recording continues when sounddevice is internally muted.
- Unfortunately explicitly muting the device doesn't work now
- anymore when some channels of the device are beiing recorded.
- Fixing this requires some more work.
- * Added tabcompletion + help for the record_channels script
- * Extended script with (un)mute_channels procs
- 2007-04-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Converted sounddevices to generate output as seperate channels:
- - This is very much work in progress. There is no code yet to
- take advantage of this split. The code in the converted
- sounddevices should still be cleaned-up and optimized.
- * Refactored SoundDevice and ChannelMixer:
- - merged SoundDevice and ChannelMixer classes
- - made SoundDevice aware of input and output sample rates
- - added methods in SoundDevice to record and mute individual
- channels. Next step is to actually use these methods.
- 2007-04-18 Joost Yervante Damad <joost@teluna.org>
- * fix build with gcc snapshot 20070326
- 2007-04-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented SDLGL-PP RGBTriplet scaler
- * Implemented SDLGL-PP SaI scaler:
- This algorithm is not well suited for a HW implementation (it
- has a lot of branches). So this scaler will probably run a bit
- slower than the other HW scalers.
- 2007-04-15 Manuel Bilderbeek <manuel@msxnet.org>
- * Added emulation of Yamaha YM2151 and partly the Yamaha SFG-05
- sound module. For the latter, I included the config of the Yamaha
- CX5MII/128. TODO: MIDI and keyboard, so only few software titles
- for it work. Thanks to Daniel Vik for his support! The code is
- taken from blueMSX and MAME.
- * Added emulation of the VLM5030 sound device, which is used in the
- unreleased Konami game Keyboard Master. For now, the sample ROM
- should be located in share/keyboardmaster with the name voice.rom.
- Thanks to Daniel Vik for his support. Also here, the code is
- taken from blueMSX and MAME.
- 2007-04-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Extended resampler class for stereo devices
- * Speedup SDLGL-PP simple scaler
- * Use (stereo) resampler for YMF262 (FM-part of OPL4)
- * Use resampler for (both) YM2413 cores (MSX-MUSIC)
- * Use resampler for Y8950 (MSX-AUDIO)
- 2007-04-15 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.6.2.
- 2007-04-12 Manuel Bilderbeek <manuel@msxnet.org>
- * Fix for MSX1 VDP's: on these VDP's the VRAM pointer is always
- updated when writing to the VDP registers. Fixes some MSX1 demos
- like Planet of the Epas.
- 2007-03-23 Manuel Bilderbeek <manuel@msxnet.org>
- * Integrated David's new commands.html into the manuals. Thanks for
- converting it!
- * Removed commands.txt and references to it.
- * Get rid of in-manual revision history.
- 2007-03-22 Maarten ter Huurne <maarten@treewalker.org>
- * Universal binary support for Mac OS X:
- make staticbindist OPENMSX_TARGET_CPU=univ
- There are probably still some issues left, but the infrastructure for
- building universal binaries is now complete.
- Thanks a lot to BouKiCHi for providing the scripts on which this
- universal binary support is based.
- 2007-03-15 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Al-Alamiah AX170 (prevously added Yamaha AX350II).
- - NOTE: it is not certain if these configs are correct and I have
- not been able to verify the ROM dumps. They are added only to have
- some working Arabic machines, do not use them for compatibility
- testing or something. (Have fun!)
- 2007-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Force a FormFeed when a printer is unplugged
- * Better algorithm to calculate framerate for avi recording:
- - measure time between two recorded frames instead of two frames
- from before recording started.
- - old method could go wrong when minframeskip != maxframeskip
- 2007-02-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed a bug in the tabCompletion of the enable command.
- * Added a small help for the enable command, pointing to a new
- documentation file: doc/openmsx-control-xml.txt. This text explains
- the protocol used for external communication (CliComm).
- * Removed deprecated update types (deprecated in openMSX 0.6.1, but they
- were not used by any external application we know about): break and
- resume.
- 2007-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed(?) data corruption when using 'diskmanipulator import':
- - I had no idea were in the code the bug was, so i started
- doing clanups/simplifications till I understood the code
- again and found the bug.
- - Turned out the dirty status of the FAT chache was not set
- correctly by the writeFAT() method.
- - Another bug happened when a there is not enough free space
- left on the disk to completely import a file: the file was
- imported as far as ossible, the FAT was updated, but not the
- directory entry.
- 2007-02-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed hang in altparty demo:
- - Demo polls FH bit in VDP status reg S#1. but when line interrupt
- register has value 229 this went wrong. Reason is that for this
- line the duration of FH=1 is partly in the current and partly in
- the next frame. Old implementation only set FH=1 in the current
- frame.
- 2007-02-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed SDLGL-PP simple scaler factor=1 deinterlace mode:
- - in the previous implementation this caused a (floating-point)
- division by zero. This could give strange results.
- - Now we disable scanlines when there are more lines in the input
- than in the output. This is also how it works in the SDL renderer
- * Fixed bug in switching between Z80/R800:
- - switching _very_ fast (by OTIR) between Z80/R800 triggered an
- assert that time goes backwards!
- - problem was that we record the switch time at the moment the OUT
- is executed and then still finish the rest of the instruction. So
- there is a slight moment in emutime that both CPUs are executing.
- - solved by only switching between two instructions
- 2007-02-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed assert on exit when a (real) joystick was still plugged
- * Small Z80 fixes:
- - timing of LD DP,{HL,IX,IY} was two cycles too short
- - number of M-cycles (and thus also timing) of instructions with
- multiple prefixes (like DD CB xx xx or DD DD DD xx) was wrong
- - off by one error in high part of 16-bit port number in
- ini/ind/outi/outd instructions (complete bc register is put on
- the address bus) b register was decremented too soon or too late
- 2007-02-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * No longer include playball samples as data in the source code:
- - instead read them as 15 wav files in
- share/playball/playball_0.wav
- ...
- share/playball/playball_14.wav
- 2007-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Set version=0.6.2-pre1, release_flag=true
- 2007-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented proper resample algorithm for SCC:
- - does not introduce aliassing (graph+9 in solid snake sound test
- works properly now)
- - because there is no seperate filter anymore, those filter
- characteristics based on Sean's measurements are gone.
- Need to investigate this, because it was not clear whether this
- extra filter improved sound quality
- 2007-02-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * SCC filter fixes:
- - wasn't correct when there were multiple SCC cartridges
- - replaced FIR filter with a cheaper one that also matches Sean's
- measurements
- - it's still not alias free, but fixing this requires a whole new
- approach
- * Added interruptable sleep() method in EventDistributor:
- - sleeps for a given amount of time or till a event gets posted
- - used in the Reactor mainloop (e.g. when emulation is
- paused/breaked). Should improve response time in the debugger
- 2007-02-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Allow case insensitive tabcomplition in Tcl scripts:
- - requires a make install
- - changed newtrainers.tcl and cpuregs.tcl scripts to use this,
- maybe it's useful for others as well
- 2007-01-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Replaced filter in SCC code:
- - used 4x oversampling + low pass FIR filter
- - still WIP
- 2007-01-30 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Sony HBD-50 disk drive extension (with proper FDC mirroring)
- 2007-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed mirroring of FDC registers in NMS 8250/8255/8280:
- FDC registers are mirrored in all 4 pages, rom only in page 1
- * Added comment in NMS 8245 config:
- FDC registers are mirrored in page 1/2, rom only in page 1
- It was already implemented like this
- 2007-01-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented mirroring of subROM in all pages on Philips NMS 8250
- (and derivatives)... TODO: find out which other machines have this.
- 2007-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed enum setting info topics:
- code was already commented out (see 2006-11-04)
- 2007-01-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Make FilePool return a File object iso a filename:
- - (g)zipped files won't be decompressed twice this way
- 2007-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added FrameBufferObject utility class:
- - was part of an experiment to implement a fully shader based
- hq(lite) scaler (current one is still partly done by CPU). This
- needs some more work, but the FrameBufferObject part is already
- useable.
- 2007-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in SCC:
- volume of 5th SCC channel could be wrong right after waveform was
- updated (e.g. audible in Quarth)
- 2007-01-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed PSG noise frequency
- 2007-01-16 Arnold Metselaar <arnold.metselaar@planet.nl>
- * Print warning if bit 0 of VDP register 9 is set to one; on a
- real MSX2 this causes the screen to go black and the computer to
- freeze.
- - closes [ 1354347 ].
- 2007-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Synchronized TC8566AF code with blueMSX version:
- - seems to fix [ 1630933 ] "Formatting on turboR goes wrong when
- not booting with a disk".
- 2007-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reimplemented 'soundlog' command as a Tcl script
- 2007-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Extended the record command to optionally record only audio or video:
- - 'record start' accepts two new flags: -noaudio and -novideo
- - the soundlog command is obsolete now
- 2007-01-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Improved 'record' command:
- - syntax is very similar to the 'soundlog' command,
- see 'help record'
- - in the future the record and soundlog command might be merged,
- with an option to select recording audio/video/both
- * Implemented gfx9000 video recording:
- - active videosource ('videosource' setting) now gets recorded
- 2007-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Avi recording fixes:
- - no longer require that V9938 has the exact name "VDP" in machine
- hardwareconfig.xml file
- - print warning when a change in framerate/samplerate is detected
- during recording
- - fixed bug in conversion routine while recording in 16bpp mode
- - during recording frameskip is kept constant at minframeskip, thus
- for example with minframeskip=1 you can record movies with
- 25/30fps instead of the usual 50/60fps
- 2007-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented experimental video recording:
- - still very much work in progress, but for simple cases it should
- already work
- - user interface is still VERY primitive: the 'record' command
- starts recording to 'test.avi' and only stops when openmsx is
- exited
- - changing between PAL/NTSC during recording doesn't work yet
- - changing sound sample freq during recording doesn't work yet
- - recording is not possible (yet?) with SDLGL renderer
- - generated avi file uses the ZMBV codec (same as used in dosbox)
- this codec is well suited for video-game like gfx and allows
- real-time encoding on not too old machines. On my 3-year old
- system i can do real-time recording of simple games, but I can't
- record sphere in real-time (due to moonsound emulation??)
- - the ZMBV codec is not very common. In mplayer (linux/windows)
- can handle it, VLC version 0.8.6 not yet (development version
- can). For windows you need to install zmbv.dll, but note that
- there is a faulty zmbv.dll that can only play 8bpp (openMSX
- movies are 16bpp or 32bpp).
- - doesn't play well with frameskip yet, as a temporary workaround
- you can set maxframekip=0 for now
- 2007-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use PBO for faster texture upload in GLPostProcessor:
- - depending on the system this is only a small (1%) or a big (10%)
- speedup
- - when PBOs are not supported we still use the old code
- 2006-12-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use Pixel Buffer Objects (PBO) for faster texture upload in
- GLHQScaler and GLHQLiteScaler:
- - 'Space Manbow'-test is about 10% faster here, using hqlite2x
- 2006-12-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Various VDPCmdEngine related optimizations:
- - in VDPVRAM: only track time in DEBUG mode
- no need to notify bitmapCacheWindow and nameTable
- in VDPCmdEngine: use Clock::fastAdd
- - between 2% and 3% faster in vdp-copy-intensive MSX software (I
- tested Space Manbow intro demo)
- 2006-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized inner CPU emulation loop:
- - there were 3 tests per instruction, reduced that to just 1
- - total emulation is about 3% faster in Space Manbow test
- 2006-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Try to upload larger texture blocks at once in GLPostProcessor (was
- one line at a time):
- - I measured upto 15% speedup (scale_algo=simple scale_factor=2)
- * Use array arithmetic iso pointer arithmetic in BitmapConverter:
- - can be better optimized by gcc (and compilers in general)
- - though, impact on total emulation time is not that big. I
- measured about 1% speedup
- 2006-12-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed charDisplayCache and bitmapDisplayCache from SDLRasterizer:
- - I measured around 5% speedup in screen5,
- around 20%(!) in screen0/80
- * Make TC8566AF use the correct filler byte during format:
- fix copied from blueMSX
- 2006-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * The -Wparentheses warning is now also enabled in c++ mode in recent
- gcc versions (4.3 SVN version). This for example warns when
- parentheses are omitted in places were people often are mistaken
- about operator precedence. And guess what .. openMSX got it wrong in
- a couple of places. In other places I just added extra parentheses
- to silence the warnings.
- 2006-12-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * VDP code cleanup:
- Changed users of VDPVRAM::readArea() and VDPVRAM::readAreaIndex()
- to use VDPVRAM::getReadArea(). This method is safer to use, it also
- simplifies the code a bit (IMHO).
- 2006-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed VDP bug introduced at 2006-11-18, s#0 was completely cleared
- upon read, only bit 7 must be cleared:
- - fixes VDP detection in sudoku.rom
- * Added intro text in openMSX console
- * Removed dirty checks from CharacterConverter
- * Added VDPVRAM::getReadArea() and use it to optimize
- CharacterConverter
- * Optimized CharacterConverter::renderText2:
- see comments in code
- 2006-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored sound code:
- _ Should only affect SDL sound driver
- - Never generate samples from the audio thread:
- In case of buffer-underrun we used to still generate the missing
- samples from the audio thread. This helped sound quality a
- little bit when CPU usage is very irregular. Unfortunately
- this also introduces a lot of threading problems (race
- conditions). So removed this completely, it also simplifies the
- code quite a bit.
- - Fixed a potential out-of-boundary buffer access.
- - Fixed bug in sound-genration-timing to real-time tuning algorithm.
- On some systems this caused a floating point exception.
- 2006-12-11 Arnold Metselaar <arnold.metselaar@planet.nl>
- * src/sound/SDLSoundDriver.cc: ensure the left argument to % is
- positive, fixes distorted sound and floating point exceptions.
- 2006-12-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implmented end-of-tape detection:
- - was implemented by Manuel, I only fixed a remaining bug
- - when end of tape is reached, the CassettePlayer goes to STOP
- state
- - main motivation for this feature is to avaod staying in 'full
- throttle' mode after loading (in cases were the cassette motor is
- not automatically stopped)
- * Fixed crash related to proxy settings and machine switching:
- - e.g. 'openmsx_info setting <setting>' would still use the setting
- object that belonged to the destroyed machine
- 2006-12-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed explicit (global) namespace qualification on proxy settings:
- - proxy setting here means a machine specific setting that's
- for convenience mirrored in the global namespace
- - the toggle/cycle commands triggered this problem
- 2006-11-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Changed memset and memset2 from functions into functors:
- - Compilation was broken recently on system were GLuint !=
- unsigned. To fix this we need template specialization. But
- templatized functions cannot be specialized.
- 2006-11-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split Cassetteplayer in Cassetteplayer and CassetteplayerCLI
- 2006-11-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed auto-run-cas-file:
- - type command got executed twice when a cas file was inserted via
- the commandline. Could also happen when two cas insert commands
- were given when openmsx is paused.
- 2006-11-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * SDLGL-PP renderer speedup:
- - Upload textures in BGRA format (was RGBA). See this paper:
- http://download.nvidia.com/developer/Papers/2005/Fast_Texture_Transfers/Fast_Texture_Transfers.pdf
- On nvidia cards this is faster, most likely on ATI cards as well
- - I measured between 3% and 5% speedup (total simulation time)
- 2006-11-22 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Philips NMS 801 "MSX Compatible". Thanks to the blueMSX team.
- 2006-11-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Another SDLGL-PP hqlite optimization, OpenGL shader part this time:
- - Before this change we sampled the color texture three times (to
- get texels C4, C5 and C6) and blended these these three colors
- each with a certain weight. The weight for the outer two pixels
- is never non-zero for both at the same time. So we can as well
- sample the color texture only once and make use of the HW texture
- color interpolation.
- 2006-11-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added missing line width conversions in FrameSource:
- - fixes crash in Gfx9000 parts of calculus with SDLGL-PP renderer
- * Use optimized memset function in V99990P{1,2}Convertor:
- - only a little faster though
- 2006-11-19 Manuel Bilderbeek <manuel@msxnet.org>
- * Print originality status for ROM dumps in the database.
- Rationale: see e-mail on openmsx-devel of today.
- 2006-11-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * fixed [1188517] Dragon Quest II intro logo corrupted:
- - We had this comment in our code
- According to TMS9918.pdf 5th [or 9th] sprite detection
- is only active when F flag is zero.
- but there was a bug in the actual implementation.
- Dragon Quest 2 needs this.
- - Bug was caused by splitting storage of VDP status register 0
- over VDP and SpriteChecker class. Now S#0 is stored in VDP and
- SpriteChecker uses get/set methods to access the sprite related
- bits.
- 2006-11-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Speedup SDLGL-PP simple scaler:
- - taking the average of two pixels and multiplying that with a
- constant is the same as summing the two pixels and multiplying by
- that contant/2.
- - 7% faster here (in 4x)
- 2006-11-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized SDLGL-PP hq scaler:
- - used same tricks as the hqlite scaler (see 2006-11-14)
- - share more code between SDLGL-PP hq and hqlite scaler
- * Optimized hq edge calculation:
- - applies for both SDL and SDLGL-PP hq scaler
- - another 3% speedup for SDLGL-PP hq (only measured this one)
- 2006-11-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized SDLGL-PP hqlite scaler:
- - optimized edge-bits calculation:
- - change position of the bits so that it's easier (less shifts)
- to reuse bits from the left and top neighbour
- - calculate two pixels at once using 32-bit (iso 16-bit) bit
- manipulations
- - I measured 25% speedup on my system (for 2x and 3x because these
- are CPU limited, 4x is GPU limited here)
- - TODO: a similar optimization is possible for SDLGL-PP hq and
- SDL hq/hqlite. Although there the speed improvent might not be
- as big
- * Added 'test_machine' command (see 'help test_machine'):
- - initial version, details on how success/failure is reported
- can still change
- 2006-11-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Applied pimple-idiom to MSXMotherboard:
- - will require less recompilations in the future: no longer when
- there are changes to private member variables or functions
- 2006-11-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added machine add/remove/select clicomm update
- * Extended 'machine' command:
- - without parameters it returns the handle of the current machine
- - on a successful machine switch it also returns the handle
- * Added 'machine_info config_name':
- - returns the configuartion name for the specified machine, the
- config name is the name that should be used in the 'machine'
- command to switch machine
- 2006-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented watchpoint regions:
- see doc/commands.txt or 'help debug set_watchpoint'
- 2006-11-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split CliComm in machine specific and global part:
- - machine specific update events now have an extra 'machine'
- attribute (e.g. <update type="hardware" machine="machine3" name="diska">add</update>)
- * Manage disk/hd/cd names per machine iso globally
- 2006-11-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * TODO temporarily disabled enum setting info topics:
- see comment in EnumSetting.hh
- * Moved 'machines' and 'extensions' info topics from MSXMotherboard to
- Reactor
- * Shared MSXDevice state should be shared per MSX machine, not shared
- globally:
- for the moment only fixed MSXMemoryMapper and Printer
- * Renamed 'machine' setting to 'default_machine' and create a new
- 'machine' command to actually switch to a new MSX machine
- * While switching MSX machine, first create the new machine and only
- if that succeeded delete the old machine
- 2006-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Put machine specific commands and settings in a machine specific
- namespace. There is also a corresponding command/setting in the
- global namespace that delegates to the current machine:
- - preparation for cleaner run-time switchable machine and run-time
- machine checker
- - setting code should be refactored one day, it's rather
- complicated now
- 2006-11-01 Manuel Bilderbeek <manuel@msxnet.org>
- * Send CliComm events for CD and HD changes.
- * Report full name including path for CD and HD images.
- 2006-10-30 Joost Yervante Damad <joost@lumatec.be>
- * fix support for kfreebsd, "kfreebsd" was detected wrongly
- as "freebsd" causing build failure
- 2006-10-26 Arnold Metselaar <arnold.metselaar@planet.nl>
- * Unified advram-p and advram-s to a single advram,
- - use "?0" to specify: subslot "0" if expanded,
- - src/CartridgeSlotManager.cc: parse "?0",
- - src/MSXDevice.cc, src/config/HardwareConfig.cc:
- handle the case of "?0",
- - TODO: get rid of the special values for slot numbers.
- 2006-10-25 Manuel Bilderbeek <manuel@msxnet.org>
- * Restructured media-related commands:
- - basic idea: all media have the same command structure:
- + mediacommand subcommand arguments
- + default subcommand is 'insert', which can thus be omitted
- - if you want to insert a medium with the name of a subcommand,
- just use the insert subcommand first, e.g.:
- diska insert insert
- - Corrected help and documentation a bit and optimized completion a
- bit
- - TODO: completion can be made a lot tighter, still
- - commands are still (practically) 100% backwards compatible
- 2006-10-18 Joost Yervante Damad <joost@lumatec.be>
- * fix from BouKiCHi for install-recursive.sh
- * make MMX and SSE code also work on AMD64
- 2006-10-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split Mixer in a global Mixer part and a per machine MSXMixer part:
- - when there are (temporarily) multiple machines in memory, each
- machine has a MSXMixer while there is still only one Mixer (that
- loads the actual sound driver)
- 2006-10-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed JoyNet:
- - it didn't work (on practical speeds) anyway
- * Split CommandController in MSXCommandController (machine specfic)
- and GlobalCommandController (and an abstract base class):
- - changed code to use the approriate class, but ATM both still do
- exactly the same
- 2006-10-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split openmsx_info topics in two:
- - machine specific topics are moved to a new machine_info command
- - general topics remain in openmsx_info
- - for backwards compatibility the machine specific topics also
- remain in openmsx_info for one or two releases, but they generate
- a warning
- - openmsx_info <setting> is also deprecated, prefer to use
- openmsx_info setting <setting> (already existed)
- - adjusted Tcl scripts to use the new commands
- 2006-10-12 Maarten ter Huurne <maarten@treewalker.org>
- * Integrated Windows resource support:
- stores icon and version info in the executable
- patch was made by Albert and Manuel, based on wx Catapult build
- 2006-10-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Preparation to separate command registration from CommandController
- (is itself a preparation to allow multiple machines in memory):
- - moved tabcompletion code from CommandController to Completer
- * Print possibilities for tab completion in multiple columns,
- especially useful with all the trainer_** procs ;)
- 2006-10-10 Manuel Bilderbeek <manuel@msxnet.org>
- * Renamed FileManipulator to DiskManipulator (classes/filenames)
- 2006-10-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Fix crash when uninitialized disk image was used.
- TODO: check limits more accurately (now only checked for 0)
- TODO: separate partition selection from boot sector parsing
- 2006-10-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Various changes to reduce #include dependencies
- 2006-10-04 Joost Damad <joost@lumatec.be>
- * remove bashisms from build/install-recursive.sh
- * debian/ updates
- 2006-10-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Empty the sound buffer in the SDL sound driver after a mute/unmute
- * Make 'after' command part of Reactor iso MSXMotherboard:
- - after events are now kept over a machine switch
- - added two new after events: 'boot' and 'machine_switch'
- * Extended autoplug.tcl:
- - also auto plug the cassetteplayer after a machine switch
- 2006-10-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed race condition:
- - was easy to trigger on a dual core CPU
- - shared_ptr is not thread safe on it's own, see comments in
- EventDistributor
- 2006-09-30 Manuel Bilderbeek <manuel@msxnet.org>
- * Send an event when the cassetteplayer is added/removed.
- 2006-09-30 Joost Damad <joost@lumatec.be>
- * build on arm with optimizations again
- * add flavour opt-debug, useful when searching bugs that only
- occur on optimized binaries
- 2006-09-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized V9990 P1 mode rendering:
- - WIP sprite rendering can still be optimized a lot
- - also optimized sprite rendering
- * Optimized V9990 P2 mode rendering
- 2006-09-29 Maarten ter Huurne <maarten@treewalker.org>
- * Reset loading state if a disk drive or cassette player is destructed.
- 2006-09-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Added BOOT event to be able to do autoRun on cassettes at every
- boot. Also needed for Catapult (would otherwise only work once).
- 2006-09-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added support for (recursive) subdirectories in RomPool
- 2006-09-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented PlayBall mapper type
- * Only flush DiskManipulator FAT cache when there were actual writes:
- - fixes a strange error that doing
- 'diskmanipulator dir diska'
- on a read-only disk gives a write(!) error
- * Detect invalid PPI mode selection and print a warning when an
- unimplemted mode is selected:
- - those other modes are not that easy to implement and they anyway
- will just hang your MSX
- 2006-09-22 Manuel Bilderbeek <manuel@msxnet.org>
- * Save firmwareswitch position with persistent data
- 2006-09-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made Command's also Recordable (was only SimpleCommand's)
- * record 'debug write' commands:
- - record/replay now also works when trainers are used
- 2006-09-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made 'hda', 'cda', 'type', 'keymatrixup' and 'keymatrixdown'
- commands recorded
- * Changed format of event recorder to also allow ':' characters in
- recorded commands
- 2006-09-20 Manuel Bilderbeek <manuel@msxnet.org>
- * Removed SDLGL2 (superseded by SDLGL-PP), as requested by Wouter
- 2006-09-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added RecordedCommand class to make recording certian commands
- easier. TODO refactor previous recordable commands to use this
- mechanism
- * made 'reset', 'ext', 'cart', 'cart<x>' and 'remove_extension'
- commands recordable.
- * Reimplemented 'plug', 'unplug' and 'cassetteplayer' commands as
- RecordedCommand's
- 2006-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored (un)plug and media changed events to MSXCommandEvent
- * Use MSXCommandEvent for cassetteplayer command
- 2006-09-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use events for (un)plug command:
- makes (un)plug recordable
- * use events for disk changing:
- TODO: - do the same for cassetteplayer
- - use different string representation for events because at
- the moment the paths can't contain ':' characters
- 2006-09-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'extensions' and 'machines' info topics
- * Extended these two info topics to also return the meta info when a
- specific extension/machine is given as 3th argument
- 2006-09-16 Manuel Bilderbeek <manuel@msxnet.org>
- * Added MSXEventRecorder/Replayer:
- - you can record and replay with the command line options, which
- require a filename argument
- 2006-09-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed deinterlace for V9990:
- - force two consecutive frames (non-skipped frames) in deinterlace
- mode
- 2006-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed V9990 cursor Y position in overscan modes:
- - in overscan modes the cursor position is still specified with the
- same coordinate system as non-overscan modes (while the display
- line coord system has shifted up)
- 2006-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed Y8950 sample ram reads:
- - first 2 reads from sample RAM return bogus values. This behaviour
- was implemented, but it has a bug and returned only one bogus
- value :(
- - fixes sample RAM detection in 'Almost Real'
- 2006-09-11 Maarten ter Huurne <maarten@treewalker.org>
- * Send an event over the control connection when a disk drive is added
- or removed. Can be used by Catapult to update the list of drives.
- 2006-09-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed AUDIO in 'Thunderbirds are Go':
- - 'Thunderbirds are Go' sets the Music Module General Purpose pin 3
- as output without specifying a value for that pin. By luck(?) in
- that case on a real machine the value is '1' while in openMSX it
- was '0' before this fix.
- * Forgot to sync V9990CmdEngine:
- - fixes regression in blox
- 2006-09-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in removing IO watchpoints
- * Improved help-text / tabcompletion for the debug command
- * Changed checked_cast implementation so that it also works on older
- compilers (gcc-3.4 and below)
- 2006-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split UserInputEventDistributor in 3:
- EventTranslator, EventDelay and MSXEventDistributor
- * Automatically unpause after a power off/on cycle:
- solves a bug, but this behaviour also makes more sense
- * Made MSXEventDistributor EmuTime aware:
- needed later for event recording
- 2006-09-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added priorities to event listeners, higher priority listeners can
- block events for lower priority listeners:
- - fixes the problem that hotkey bindings are still visible in BASIC
- 2006-09-02 Joost Damad <joost@lumatec.be>
- * simplify arm CXXFLAGS; fix m68k build; override in cpu-xxx.mk doesn't
- work
- 2006-08-31 Joost Damad <joost@lumatec.be>
- * do not do -finline-functions on arm as current gcc generates
- faulty code
- 2006-08-31 Manuel Bilderbeek <manuel@msxnet.org>
- * Added MEDIA update event for cart-commands
- 2006-08-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added checked_cast and shared_ptr utility classes
- * Pass events around by shared_ptr (avoids making a polymorphic copy)
- * Added Event::toString() to print events and
- InputEventFactory::createInputEvent(string) to parse events
- * Added Event::operator<() (to store events in maps)
- * Extended HotKey class (name is not 100% accurate anymore) to also
- handle joystick/mouse-button and focus events:
- examples: bind focus:0 { set pause on }
- bind focus:1 { set pause off }
- bind mouse:button8:down { toggle throttle }
- bind mouse:button8:up { toggle throttle }
- 2006-08-23 Maarten ter Huurne <maarten@treewalker.org>
- * If default machine is broken (for example because of missing system
- ROMs), fall back to C-BIOS config. This makes sure openMSX will start
- up, allowing the user to select a different default machine on the
- openMSX console.
- 2006-08-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Enable detection of more OpenGL extensions with glew:
- - see comments in SDLGLVisibleSurface for details
- - might fix the problem PingPong is seeing:
- accoring to 'glewinfo' framebuffer_objects are support on his
- card, but not so according to openMSX
- 2006-08-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use 2D textures iso 3D to work around bug in ATI drivers
- 2006-08-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Transform texture coordinates from (N x N x 4096) to 32N x N x 128
- because some gfx cards can't handle that big dimensions
- 2006-08-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented hq as a OpenGL 2.0 shader
- * Use external data files in GLHQScaler and GLHQLiteScaler:
- - work around limitation in MSYS assembler(?):
- Assembler messages:
- Warning: .stabs: description field '11004' too big, try a
- different debug format
- 2006-08-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented hqlite as a OpenGL 2.0 shader:
- supports 2x 3x 4x
- only 256 pixel wide, non-interlaced MSX screens
- 2006-08-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed VDPCmdEngine status register 8 and 9:
- - implemented by Alex Wulms
- - status registers 8/9 are documented to return the result of
- a SRCH command. However they simply return the value of the
- internal 'ASX' register. In the end this register does
- contain the result of a SRCH command, but it is also updated
- during the SRCH command and even during completely different
- commands.
- 2006-08-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed indeterministic behaviour in CPU emulation:
- CPU could react one instruction too late to an IRQ,
- depending on which other sync points there are
- (see comments in CPUCore.cc for more details)
- 2006-08-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * write printed pages to "dot-matrix" director (like screenshots dir)
- * made printer image resolution a setting:
- between 150dpi and 1200dpi. Default (300dpi) is a compromise
- between quality and imagesize/speed
- 2006-08-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added Dot Matrix Printer Emulation:
- code mostly taken from blueMSX
- 2006-07-31 Joost Damad <joost@lumatec.be>
- * add support for powerpc64: ppc64 cpu and flavour
- * compile with -O1 on m68k by default
- 2006-07-30 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.6.1.
- 2006-07-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Escape strings before sending them to TCL's splitList, fixes
- diskmanipulator with spaces in file names
- * And reverted again. This breaks splitting completely. Needs a better
- fix, but it's not trivial.
- 2006-07-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed loading of keybindings
- 2006-07-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'Removable media status notification feature set' for
- IDECDROM, slightly improved 'request sense' command:
- reading from CDROM (also when switching ISO images) seems to work
- now, although there may still be a problem with the volume id
- * Set version_number=0.6.1, release_tag=true
- 2006-07-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reenabled saving of keybindings:
- on exit when save_settings_on_exit is enabled or when explicity
- requested
- * Fixed saving of 'renderer' setting:
- when save_settings_on_exit was enabled there were two problems:
- - after testconfig run, renderer=none was saved in settings.xml.
- Fixed by introducing 'unsaveable' values on Setting
- - every other run the value would fallback to 'SDL'. For the
- renderer setting we made the default value equal to the
- saved value (needed for the 'unset renderer' command executed
- by catapult) and settings with default value don't get saved.
- Fixed by having a seperate default and restore value.
- 2006-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Don't assert when multiple Panasonic MSX-Audio's are inserted
- 2006-07-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Exit the CliServer listener thread in a more portable way
- 2006-07-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Don't listen for incomming connections in -testconfig mode
- * Split RomInfo in RomInfo and RomDatabase:
- - allowed to fix RomInfo memory leaks
- 2006-07-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented proper locking for Reactor::motherBoard
- 2006-07-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed top-border flicker in cbios/SDLGL:
- - CPU loop was exit'ed only one instruction after the exit-loop
- request. Normally this doesn't matter (Schedule points are still
- executed cycle accurate). But for _very_ long instructions,
- like the way we implemented the HALT instruction, and the repaint
- event it did matter.
- * Fixed(?) the undocumented TMS9918 mode1q:
- - I didn't test this (i don't have a test prog) but the old
- code had obvious bugs, I fixed those
- 2006-07-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented general purpose IO mechanism for Y8950:
- - implemented for Philips Music Module, Panasonic MSX-AUDIO, still
- have to investigate Toshiba module
- 2006-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fallback to SDL renderer when switching renderer didn't succeed
- (e.g. when switching to SDLGL-PP without ogl2 support)
- 2006-07-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added lighting for 3d display deform:
- Corners (especially top corners) are now a bit darker then the
- middle-lower part. The effect is subtle but it looks more
- realistic IMHO. I couldn't measure any speed difference
- with or without lighting, so it's enabled by default
- 2006-06-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Renamed 'monitor_effect' setting to 'display_deform'
- * Fixed GLSnow effect for non 2x scale factors
- 2006-06-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'horizontal stretch' for SDLGL-PP:
- - is another enum of the monitor_effect setting (rename this?)
- - the 3D monitor effect always has horizontal stretch applied
- * Only enable SDLGL-PP renderer when OpenGL-2.0 is available
- * Moved SDLGL2 to 'non-release-only' status (like SDLGL-FB<xx>)
- 2006-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented blur and scanlines for SDLGL-PP simple scaler
- * Implemented FMPAC SRAM disable bit (bit4 address 0x7FF6):
- Thanks to BiFiMSX for investigating this
- 2006-06-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made "monitor_effect" an enum setting (suggestions for a better name
- are welcome). Made normal (non-3d) the default. Fixed a bug when
- started openmsx is started in normal mode.
- 2006-06-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 3D monitor effect for SDLGL-PP renderer
- * Enabled glow setting for SDLGL-PP
- 2006-06-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Various RTC (RP5C01) test mode fixes:
- - r#14 bits 0-3 are for seconds, minutes, days, years
- - in test mode there is no carry from 'lower order' number
- - test mode also works when timer itself is disabled
- 2006-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Switched to non_power_of_two textures instead of texture_rectangle
- in SDLGL-PP renderer:
- - ATI cards don't support text_rect in GLSL, but npot text should
- work
- - for GeForce5 class HW this change is bad because it has no
- hw support for npot textures while it has for text_rect
- 2006-06-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made rectangle_textures available on correct resolution on vertical
- linewidth borders:
- - fixes most SDLGL-PP glitches
- - TODO cleanup, make it work on ATI cards
- 2006-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use texture_rectangle for SDLGL-PP shader:
- - allows to fix the border glitches
- - still WIP but horizontal glitches seem to be fixed already
- 2006-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added generic register logger (see also psg_log script):
- - typical use case will be to log soundchip registers
- - can also playback the logged regsiters
- 2006-06-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented all HQ scalers for the extra gfx9000 resolutions
- 2006-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored HQ scalers to reduce code duplication
- 2006-06-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Speedup hq3x (same technique as used in hq2x):
- between 3% and 5% faster on my machine
- * Speedup hq3xlite: between 2% and 3% faster
- * Implemented hq3x and hq3xlite for 512-wide mode:
- no special implementation like in the hq2x case, just do
- hq3x followed by scale_2on1
- 2006-06-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed HQ2xScaler-1x1to2x2.nn data (bug in generator script)
- * Improved quality of hq2x in 512 pixel wide modes (screen 7)
- * Speedup hq2xlite (~5%) by using the same technique as used in HQ2xScaler
- * Improved quality of hq2xlite in 512 pixel wide modes (screen 7)
- 2006-06-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Mask unwritable bits in V9990 registers:
- fixes 'shocky' scroll in some power basic demos
- * fixed "openmsx_info isexternalslot" command:
- guess_title script now works again
- * Oops! Socket code couldn't handle multiple simultaneous connections
- (or two single connections quickly after each other).
- 2006-06-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Only lower part of AY scroll register resets scanline position:
- fixes GEM08
- * Implemented priority control for V9990 P1 mode
- 2006-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in V9990 blank screen behaviour
- 2006-06-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * V9990 P1 mode does not have the strange screenplit
- behaviour (see 2006-05-29)
- 2006-05-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'cd<x>' command to change ISO image
- * Implemented -cda command line option
- * Fixed V9990 commands in P1 mode:
- Actually I just tried something and it seems to work very well (it
- fixes a lot of stuff). Still need to figure out exactly how the
- coordinate system maps the VRAM addresses in P1 mode
- 2006-05-31 Maarten ter Huurne <maarten@treewalker.org>
- * Initial support for sector loading from CD-ROM.
- Still missing:
- - commands to change the ISO image
- - setting the right status flags when a CD is inserted /
- not inserted / changed for another CD
- - correct calculation of packet size
- - audio track support
- * Implemented Read Native Max Address so SymbOS can access the HD.
- Thanks to Daniel Vik for telling us this command was the problem.
- 2006-05-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed assert when switching scale_factor from 3->2 when openmsx
- was paused.
- 2006-05-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed vertical rolling at 256 line (is normmaly 512)
- for V9990 P1 and P2 modes
- * Fixed vertical offset in V9990 when vertical scroll register is
- changed on a screensplit
- 2006-05-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed striped screen 6 borders in SDLRasterizer
- 2006-05-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed sprite disable for V9990 P1 and P2 modes
- * IDEHD no longer resizes an existing HD image, the <size> tag is now
- only used to create the initial HD image
- * IDEHD now knows its own name (preparation for dynamic hd image)
- * Changed naming scheme for HDs:
- just give letters in order (not interface master/slave)
- this is more similar to how disks are given names and it also
- allows to give more logical names to cdroms (future)
- * Implemented 'hd<x>' command to change HD images at-run-time
- (only works when MSX is powered down)
- * Added -hda command line option
- 2006-05-26 Manuel Bilderbeek <manuel@msxnet.org>
- * Specify the type of PSG for those machines we know this for sure
- 2006-05-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use EventDistributor iso Scheduler for MidiInNative, MidiInReader
- and RS232Tester
- * Don't use Scheduler to exit the CPU loop
- * Removed ASAP from Scheduler
- 2006-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented sprites in V9990 P2 mode (can still be optimized)
- 2006-05-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented differences between AY8910 and YM2149 (two PSG variations):
- - add <type>AY8910</type> or <type>YM2149</type>
- in the <PSG> tag in hardwareconfig.xml
- Default remains AY8910
- 2006-05-21 Maarten ter Huurne <maarten@treewalker.org>
- * Split IDEHD into generic part (new class AbstractIDEDevice) and
- HD specific part (class IDEHD).
- * Initial implementation of CD-ROM emulation.
- The only things it can do right now is convince the Sunrise BIOS that
- it is a CD-ROM and print some debug info about ATAPI commands.
- * Included a CD-ROM drive in the "ide" extension.
- 2006-05-20 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Spectravideo SVI-738 machine
- 2006-05-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented V99x8 with only 16kb VRAM
- * More robust error handling in rs232-tester
- 2006-05-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented ninja-tap:
- Thanks to BiFiMSX for disassembling the test program
- 2006-04-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Disabled ninja-tap device because it doesn't work yet:
- ATM it acts the same as the 'normal' joytap device
- 2006-04-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in breakpoints:
- when a breakpoint was hit we still executed one instruction
- 2006-04-27 Maarten ter Huurne <maarten@treewalker.org>
- * VDP accuracy fix: corrected length of horizontal blank.
- Thanks to Daniel Vik for investigating the Parallax logo code and for
- writing measurements programs that helped in determining the correct
- horizontal blank length.
- Note that the start time of the horizontal blank is not yet fully
- correct, but having the right length already fixes some problems.
- 2006-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed assert in MemoryOps: assert was too strict
- 2006-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed truncate() function in windows:
- - instead of extending the file with zeros at the end, it wrote
- those zeros over the beginning of the file. Oops.
- 2006-04-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented io and memory watchpoints:
- - for the moment use like this:
- debug set_watchpoint <type> <address> [<condition>] [<command>]
- debug remove_watchpoint <id>
- debug list_watchpoints
- Where type is one of 'read_io', 'write_io', 'read_mem' or
- 'write_mem'. Address is in range 0..255 for io ports and 0..65535
- for memory. Condition and command are the similar to the set_bp
- command.
- - I'm not 100% happy with this interface. It may change before the
- release.
- 2006-04-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed V9990 SRCH command:
- at least paint command in power basic seems to work again
- * Fixed inserting wav/cas images from the command line
- 2006-04-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented infrastructure for V9990 command timing:
- data in timing table is still _very_ rough though
- 2006-04-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed(?) V9990 BMLL command, it should do logical operations:
- not yet tested
- 2006-04-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Enabled support for single sided disk drives:
- TODO update hardwareconfig.xml for machines with single sided
- drives
- 2006-04-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Added new 'bootsector' setting. You can use it to let DirAsDSK use a
- DOS2 (default) boot sector or a DOS1 one. Also put the boot sector
- data in one single (dummy) class, yesterday.
- 2006-04-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in V9990 command engine:
- LMMC command was wrong in 16bpp mode
- * Optimized address calculation for 16bpp v9990 commands
- * Fixed V9990 cursor color
- 2006-04-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Added <info> tags for extensions as well. Please check; most likely
- not all data is correct. But it's useful for GUI's/launchers!
- 2006-04-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made command that gets executed when a bp is hit configurable,
- default command is 'debug break'
- * Allow <devices> tag in extension configs (same as machine configs)
- old config format is still supported
- * Updated all extension configs to new format
- 2006-04-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Further optimized hq2x: also reuse edge flags from top neighbour
- (again about 5% faster)
- 2006-04-07 Manuel Bilderbeek <manuel@msxnet.org>
- * Print a warning when a DI/HALT is detected, which means a hang.
- TODO: add warnings for other known hang-situations as well.
- 2006-04-06 Maarten ter Huurne <maarten@treewalker.org>
- * Speedup (approximately 5%) of hq2x by re-using edge flags that were
- computed for the left neighbour pixel.
- 2006-04-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Speedup switching to different color_matrix
- * Fixed assert when using the same extension multiple times
- * Fixed asserts when using advram-p and advram-s extensions
- 2006-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reduced compile dependencies, should reduce amount of recompilations
- needed in the future:
- - split SettingPolicy.hh -> SettingPolicy.hh SettingRangePolicy.hh
- - hold BitmapConvertor CharacterConverter SpriteConverter by
- pointer iso by value, performance difference is not measurable
- * Use functions of Math.hh in GL(2)Rasterizer
- * Made it possible for TCL scripts to implement tab completion,
- see share/scripts for examples:
- you again need to update the installed init.tcl file
- * Implemented experimental 'tabcompletion' command:
- only ment to be used by external programs
- * Implemented color_matrix setting:
- This color matrix can do any linear transformation from MSX RGB to
- host RGB. See share/scripts/monitor.tcl for examples.
- 2006-03-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made it possible for TCL script to provide a help text, see
- share/scripts for examples.
- Note: the system init.tcl was updated, you probably need to replace
- the installed version
- * Added new 'about' TCL script. It searches for commands (built-in or
- TCL scripts) that seem to be about the given keyword. Useful if you
- forgot the exact name of a command.
- 2006-03-27 Maarten ter Huurne <maarten@treewalker.org>
- * Merged SDLGLVideoSystem into SDLVideoSystem.
- The actual differences exist in the VisibleSurface subclasses;
- these classes only function as factories.
- 2006-03-26 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed two compile errors on Intel Macs. At least one remains though.
- 2006-03-25 Maarten ter Huurne <maarten@treewalker.org>
- * Added new scaler "TV".
- 2006-03-24 Maarten ter Huurne <maarten@treewalker.org>
- * Set maximum of scale_factor to 4.
- Only the SDLGL-PP renderer can actually reach 4x, the other renderers
- will fall back to their maximum zoom (2x or 3x).
- 2006-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * SDLRasterizer optimization:
- - replaced memcpy() with new stream_memcpy() function
- - about 3% faster here (simple scaler 2x)
- 2006-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized clock in CPU code:
- - do part of the time bookkeeping with 32-bit additions (iso 64-bit)
- - gives between 1% and 2% speedup in typical PC usecase (scale_factor
- = 2, no frameskip)
- - gives around 10% speedup with scale_factor = 1 and frameskip 5
- 2006-03-19 Maarten ter Huurne <maarten@treewalker.org>
- * Made scalers switchable in SDLGL-PP renderer.
- Only "simple" and "ScaleNx" are currently implemented.
- * Ported noise effect to SDLGL-PP renderer.
- 2006-03-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented run-time switchable machines:
- - use set machine <machine-name>
- - there are still some rough edges and I also still expect some
- bugs. So please test.
- * Fixed bug: keypresses in the console were passed to MSX just after
- switching machine
- 2006-03-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More preparations for run-time switchable machines
- 2006-03-13 Maarten ter Huurne <maarten@treewalker.org>
- * Introduced new renderer "SDLGL-PP".
- This uses SDLRasterizer and does post processing in OpenGL.
- Since it uses SDLRasterizer, it is more mature already than SDLGL2,
- which uses its own GL2Rasterizer.
- 2006-03-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Turned MSXDevice creation in a 2-step process:
- First construct object, then call the init() method. This
- simplifies error handling (exceptions thrown from form
- constructor, see comments in code for more details) and it
- more easily allows passing extra parameters to device
- construction.
- * A MSXDevice now knows to which HardwareConfig it belongs (machine or
- extension)
- * Extended cart<x> commands (is now similar to disk<x> command):
- - cart<x> (without parameters) now returns the name of the inserted
- cartridge (or possible an extension)
- - cart<x> -eject removes the inserted cartridge (or extension)
- 2006-03-11 Maarten ter Huurne <maarten@treewalker.org>
- * Added support for pixel buffers to GLUtil.
- * Added utility functions to GLUtil.
- * Introduced new experimental renderer "SDLGL2".
- It uses OpenGL 2.0 features, including fragment (pixel) shaders.
- Currently, it only renders SCREEN5/8 without blanking/borders.
- 2006-03-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Dynamically register cart<x> commands
- 2006-03-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed Gradiente machines. Cartridge slot B is in slot 3 and not 2 on
- Expert 1.0 and 1.1 and the ROM size was wrong for the DDPlus. Thanks
- to Gustavo Seidler for pointing this out.
- 2006-03-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Upper 4 RAM blocks on turbor may not be writable in dram mode (not
- yet tested)
- 2006-03-05 Maarten ter Huurne <maarten@treewalker.org>
- * Added utility classes for dealing with GLSL shaders.
- * Fixed UMR in StoredFrame.
- * Fixed MegaRAM mapper so it can handle 2048K (256 pages) as well.
- Thanks to Gustavo Seidler for spotting this bug and to Adriano
- Camargo Rodrigues da Cunha for finding the cause.
- 2006-03-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added blur_1on3 MMX implementation:
- total emulation speed with simple 3x scaler is about 10% faster
- * Added "input_port" and "output_port" info topics
- * Implemented "iomap" command as a TCL proc
- 2006-03-03 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented better completion for debug command
- 2006-03-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added "openmsx_info slot" info topic
- * Implemented "slotmap" command as a TCL proc
- 2006-03-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Preparation for run-time switchable machines:
- - send event when a MSX machine is loaded and change titlebar
- when that event is received
- * Implemented blur for 3x simple scaler (WIP):
- - only 256 wide modes yet
- 2006-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed MicrosolFDC to also support DDX_3.0
- * Added DDX_3.0 extension:
- Code and config contributed by Gustavo Seidler. Thanks!
- 2006-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * IconStatus doesn't need Display
- * Moved IconStatus and Display from MSXMotherboard to Reactor
- 2006-02-26 Patrick van Arkel (vampiermsx@gmail.com)
- * Removed CRC32 values from the rom database
- and added a few more sha1 values
- 2006-02-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Replaced PollInterface mechansim with events
- * Moved InputEventGenerator from MSXMotherboard to Reactor
- 2006-02-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * CliComm now uses events instead of Scheduler
- * Moved CliComm from MSXMotherboard to Reactor
- * Decoupled Display and RealTime classes:
- - instead Display now send events, RealTime listens to those events
- 2006-02-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * EventDistributor no longer needs Scheduler, instead it cooperates
- with Reactor to deliver events:
- TODO turn (some of the) ASAP schedule points into events
- * Moved CommandController, EventDistributor, CommandConsole,
- FileManipulator and FilePool from MSXMotherboard to Reactor:
- more classes need to be moved but these were easy
- 2006-02-22 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed GLSetTexEnvCol on big endian machines.
- This bug was visible in the border of SCREEN6.
- * Look for GLEW in DarwinPorts or Fink dirs.
- * Fixed bug with palette initialisation in SDLGL renderer.
- This bug was visible as a black screen when using an MSX1 VDP.
- 2006-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Preparations for run-time switchable machine:
- - made seperate EventDistributors for 'DETACHED' and 'EMU'
- listeners.
- - Reactor now owns MSXMotherboard
- * Fixed HotKey for key release bindings
- 2006-02-18 Maarten ter Huurne <maarten@treewalker.org>
- * Use GLEW to handle OpenGL extensions.
- http://glew.sourceforge.net/
- From now on, the GL renderer requires GLEW. Note that since the GL
- renderer is optional, openMSX as a whole does not require GLEW.
- This commit is based on a patch from BouKiCHi.
- 2006-02-18 Manuel Bilderbeek <manuel@msxnet.org>
- * Log warnings to stderr, in stead of stdout
- 2006-02-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented noise for GL renderer
- * Tweaked order of command line parsing:
- extensions should come before filename parsing to handle stuff like
- openmsx -machine msx1 -ext fdd mydisk.dsk
- 2006-02-15 David Heremans <david.heremans@gnu-linux.net>
- * Added SukkoPera's Slackbuild scripts
- 2006-02-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented noise for 16bpp modes
- * Optimized non-MMX noise a bit
- 2006-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'brightness' and 'contrast' settings
- 2006-02-10 Manuel Bilderbeek <manuel@msxnet.org>
- * CheckedRam now calls a TCL proc that is defined in the new
- umr_callback setting if an UMR occurs. E.g. try
- set umr_callback umrcallback
- umrcallback is an example implementation of such a TCL proc; edit it
- to your liking.
- TODO: find a way to automatically skip the UMR's from the boot
- sequence. (Although the feature is already very usable!)
- 2006-02-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Introduced CheckedRam class. See the class documentation for
- details.
- TODO: make it useful by adding a usable UMR detector.
- 2006-02-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug, diskimages with spaces in the filename:
- - since a few days the disk images passed via the commandline
- execute a TCL command to insert the disk instead of calling a
- c++ routine (to avoid code duplication). However this went
- wrong when there were spaces in the filename. I fixed this by
- avoiding the 'assembling tokens to string' and 'parsing string
- to tokens' steps.
- * Handle errors in the startup TCL scripts better
- * Speedup noise effect a bit (~10%) by using prefetch instructions
- 2006-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * New video effect: noise (experimental)
- - try "set noise <x>"
- 2006-02-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed setting initial diskimage via the commandline:
- - as a bonus -disk<x> now also gives an error on msx machines with
- no (or too few) drives
- * Don't loose current disk after a failed 'diska' command
- 2006-02-04 Maarten ter Huurne <maarten@treewalker.org>
- * Made Konami mapper more accurate, using info from:
- http://bifi.msxnet.org/msxnet/tech/megaroms.html
- * Made Majutsushi mapper inherit from Konami mapper, since it bascially
- is a Konami mapper with a DAC added to it.
- * Recycle line buffers used for scaling when openMSX is paused.
- 2006-02-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed 'slot reservation' mechanism in command line parser:
- - The order of -cart and -ext command line options is now important
- - This may break catapult in some cases. Combination of
- slotexpander extensions and other memory mapped extensions (or
- rom cartridges) can fail now.
- * Better error handling (in particular cleanup after error) when
- something goes wrong during run-time insertion of extension:
- * Better error handling when removing extensions (e.g. trying to
- remove a slotexpander that is still in use)
- 2006-02-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made FAT buffering more symmetrical:
- - if FAT sector writes are stored in cache, then FAT sector
- reads must also come from cache
- - I don't know this caused problems in the current code, but
- now it's certainly more robust against future changes
- 2006-02-02 David Heremans <david.heremans@gnu-linux.net>
- * Decided to keep the FAT buffering and adjust the writeLogical
- sectors for it to get correct working again. This also repairs
- formats of existing dsks/partitions etc.
- 2006-02-01 David Heremans <david.heremans@gnu-linux.net>
- * Fixed a small problem with the media descriptor during the format of
- a new dsk file. But at first glance the entire FAT buffering need to
- go, since it might conflict with different sized partitions on a HD
- 2006-01-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made MSXSwitchedDevice more robust when inserted/removed dynamically
- * Handle errors in MSXDevice configs better:
- make sure device is not left partly registered (memory or IO)
- when there is an error in the device config
- 2006-01-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added new cpu-status update event:
- <update type="status" name="cpu">running</update>
- <update type="status" name="cpu">suspended</update>
- The old 'break' and 'resume' update events are deprecated
- * Small cleanups/fixes in JoyTap stuff:
- - got rid of the "ERROR: Connector still plugged .." messages
- - removed JoyTapPort class, it was exactly the same as JoystickPort
- - (minor) removed (lastValue == value) check (no need to do the
- same optimization twice)
- 2006-01-27 David Heremans <david.heremans@gnu-linux.net>
- * Added JoyTap and (incomplete) NinjaTap devices
- The JoyTap is a base class for collector/combinator devices
- that sit inbetween the MSX joystick ports and the actual
- joysticks.
- 2006-01-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'list_extensions' and 'remove_extension' commands
- * Converted some fatal errors to normal errors, they can now also
- get triggered by run-time insertion of extensions
- * Recalculate visible pages when a memory device is added/removed:
- fixes assert while removing a running game cartridge
- 2006-01-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Enabled run-time insertion of rom cartridges and extensions:
- - new commands:
- ext [extension]
- cart, cart<x> [romfile]
- * Removed EmuTime (and related) constructors that initialize time at 0:
- - makes initialization time explicit in the code
- - fixed some (all?) wrongly initialized timestamps
- e.g. the new "ext gfx9000" command caused an assert
- 2006-01-22 Maarten ter Huurne <maarten@treewalker.org>
- * Added new platform "darwin-app", which can be used to produce a
- redistributable binary for Mac OS X.
- Thanks to BouKiCHi for getting static linking to work.
- 2006-01-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reduced build-dependencies between source files:
- - moved most inner classes from hh to cc file
- 2006-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Changed 'locking' of devices (eg. ADVRAM depends on VDP):
- - it's now specified with <device idref=".."/> tag(s)
- - can now be handled by generic code
- * Moved ownership of MSXDevices from MSXMotherBoard to HardwareConfig
- (MSXMotherBoard owns (possibly several) HardwareConfigs):
- - another preparation for run-time switchable extensions/machines
- 2006-01-19 Maarten ter Huurne <maarten@treewalker.org>
- * Added the option not set the window icon from the openMSX process.
- This is useful for running from an OS X app folder, since the app
- folder sets a hi-res icon.
- 2006-01-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Preparations for run-time removable extensions/machines:
- - keep mamchines and extensions as seperate entities in memory
- - unregister 'expanded' and 'exernal' slots when the extension
- or machine is deleted
- 2006-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored CartridgeSlotManager:
- - allocated external slots are freed again when the MSXDevice
- using it is destroyed
- - preparations for removable devices at run-time
- 2006-01-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * CassetteJack cleanup:
- - changed code style to match rest of openMSX sources
- - fixed small bug: new[] needs delete[] (iso delete)
- - more robust error handling
- * Refactored the way how MSXDevice names are made unique
- 2006-01-15 Maarten ter Huurne <maarten@treewalker.org>
- * Added "make app" for Mac OS X.
- It is not yet fully functional, but most is there already.
- Thanks to BouKiCHi for helping.
- 2006-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made MSXDevice::getName() return a string by value:
- is not performance critical and simplifies code in MSXMultiDevice
- * Moved common code of MSXMultiIODevice and MSXMultiMemDevice to
- new MSXMultiDevice class
- * No need to implement reset(), powerUp(), powerDown() methods in
- MSXMultiDevice. It's even wrong if they ever get called.
- 2006-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented [ 1320568 ] Preload entire diskimage/ROM:
- We don't actually keep the image in memory, just read it and
- discard the result. However the image will stick in the OS
- cache (only tested on Linux though). This way the "don't preload
- when not enough free RAM is available" issue is addressed.
- Tested with both CDROMs and floppy's and it seems to work
- reasonably well.
- 2006-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed interlace + multi page horizontal scroll also for GLRenderer:
- with deinterlaced disabled in it's the same fix as for SDLRenderer
- 2006-01-08 Maarten ter Huurne <maarten@treewalker.org>
- * Refactoring of GLRasterizer:
- - only rasterize sprites if the line actually contains sprites;
- this can make quite an impact on performance
- 2006-01-07 Maarten ter Huurne <maarten@treewalker.org>
- * Refactoring of GLRasterizer:
- - partial preparation for output windows other than 640x480
- - removed deinterlace code, because the idea was broken;
- later deinterlace will have to be re-added in a better way
- (like the SDL renderer has)
- - store bitmap data in a single large texture rather than one
- texture per line; this is better for performance
- 2006-01-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reenabled 'sdlgl-fb<x>' renderers in non-release versions
- * Made 2x scalers work with non 640 wide output surfaces:
- preparation to enable 4x scalers later
- * For symmetry also made 1x and 3x scalers output width independent
- 2006-01-05 Maarten ter Huurne <maarten@treewalker.org>
- * Split OutputSurface into smaller OutputSurface and VisibleSurface.
- * Use PixelOperations instead of SDL_PixelFormat where possible.
- 2006-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added support for SDL 'world_<n>' and 'undo' keys.
- 2006-01-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Report error for key names with multiple non-modifier parts
- (e.g. ENTER,A or PRINT,UP)
- 2006-01-04 Maarten ter Huurne <maarten@treewalker.org>
- * Moved ownership of RenderSettings from MSXMotherBoard to Display.
- 2006-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed combination of interlace and multi-page horizontal scrolling:
- only for SDL renderer yet. Deinterlacing first needs to be fixed
- in GL renderer (also use data from previous frame)
- 2006-01-02 Maarten ter Huurne <maarten@treewalker.org>
- * Created release branch for openMSX 0.6.0.
- 2005-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed assert when openmsx was quit with simple pluggable still
- plugged in the printerport.
- 2005-12-31 Manuel Bilderbeek <manuel@msxnet.org>
- * Temporarily disabled reporting of filetype of first file on
- cassette, because this breaks Catapult, and Herman is not there to fix
- it... This way we can release. TODO re-enable after release and fix
- Catapult or finally start on the Qt version of Catapult!
- At this time, I'm talking about line 407 of CassettePlayer.cc.
- 2005-12-29 Maarten ter Huurne <maarten@treewalker.org>
- * Allow installation of binary to /usr/local/bin without overwriting
- binary with a symlink.
- * Check whether the C++ compiler is working.
- It checks only if the compiler can compile "Hello World!", so it is
- not guaranteed the compiler supports all C++ features needed to
- compile openMSX. But the complete absence of a compiler is correctly
- identified now, instead of reporting that all libraries are missing.
- 2005-12-28 Maarten ter Huurne <maarten@treewalker.org>
- * Rewrote "make install" to use the "install" utility instead of "cp"
- combined with "chmod". The problem was that the "chmod" step did not
- work on systems where the installed files are spread over multiple
- directories, such as FreeBSD.
- 2005-12-27 Maarten ter Huurne <maarten@treewalker.org>
- * Added support for FreeBSD 6 by making FreeBSD 4 an exception (it has
- GCC 2.9x as default compiler) and using the same platform Makefile
- for all other FreeBSD versions.
- * Added support for CPU reported as "amd64" (mapped to "x86_64").
- 2005-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Force PSG portB direction to output:
- - we already forced portA to input
- - some msx machines have fixed port directions others not,
- we should make this configurable per machine in the future
- - for more details see [ 1390211 ] joystick problems
- 2005-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Revert cleanup in XMLLoader.cc, it breaks making a connection
- from openmsx-debugger to openmsx in windows
- * Disabled sdlgl-fb16 and sdlgl-fb32 renderers:
- they don't offer anything over the existing renderers and
- sdlgl-fb32 still has endian problems on PPC
- 2005-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made S1990 registers debuggable
- 2005-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reverted bug in earlier 'cleanup' in VDPVRAM:
- - we must use baseAddr to encode 'window is enabled' info because
- the implementation of isInside depends on it
- - fixes crash of KV2 MSX1 on turboR
- 2005-12-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Synchronize CPU and scheduler irregardless of how CPU loop was exited
- (normally or via breakpoint):
- - fixes assert when MSX is reset while CPU is breaked
- * Prepare openmsx-0.6.0-rc1
- 2005-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Assert on exceptions that pass through the TCL interpreter:
- a config error in the ADVRAM extension asserts now (instead of
- calling terminate()), we're still investigating how to fix it
- * Worked around error from above, clean solution needs dependencies
- between devices
- 2005-12-18 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented AutoRun feature for cassette software
- - only works for CAS images, WAV is TODO (more difficult)
- - experimental; default setting of "autoruncassettes" is off
- - also tries to autorun if you insert at run time
- - doesn't work properly on machines with non-international keyboard
- layout, because the 'type' command doesn't work properly then
- - please review and feel free to improve it! :P
- 2005-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Properly fix fnano2 bug
- * Implemented horizontal scrolling in character modes
- 2005-12-14 Arnold Metselaar <arnold.metselaar@planet.nl>
- * Use another bit for planar mode when ADVRAM has no 'enable' function
- 2005-12-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made 'enable' function in ADVRAM configurable
- 2005-12-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Draw scanline in 3x simple scaler deinterlace mode
- 2005-12-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented deinterlace mode support in RGBTriplet scaler
- 2005-12-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Updated the manuals for the new scaler settings. Please review!
- 2005-12-10 Manuel Bilderbeek <manuel@msxnet.org>
- * Pass cassetteplayer status to CliComm
- 2005-12-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'openmsx_info setting':
- It returns a TCL list with:
- - first element is the type of the setting
- string, integer, float, enumeration, filename or key
- - second element is the default value of the setting
- - third element is optional, for integer and float settings
- it is a list with the minimum and maximum allowed value. For
- enum settings it is a list with all possible values.
- * Fixed timing of slowest (no extra wait states) R800 IO instructions
- 2005-12-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed timing if 'IM n' instruction on R800:
- should take 3 cycles iso 2
- * Added '-script' command line option:
- - makes it possible to execute additional startup scripts after
- the default init.tcl script
- 2005-12-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split scaler setting into scale_factor and scale_algorithm
- 2005-12-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Readd delay on turboR on ports 0x9A and 0x9B:
- - fixes previous fix for assert on turbor with advram
- - also prepared code to later add delays on other ports
- 2005-12-04 Arnold Metselaar <arnold.metselaar@planet.nl>
- * change advram to emulate a newer version that can be switched
- on and off by software
- * fix assert when using advram on turboR
- 2005-12-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Small ADVRAM changes:
- - read device ID ("VDP") from config file
- - bring coding style in line with the rest of the openmsx code
- 2005-12-03 Arnold Metselaar <arnold.metselaar@planet.nl>
- * MSXDevice(readIO, peekIO, writeIO): change type of port address
- to word
- * MSXMotherBoard: add methods lockDevice and releaseDevice to allow
- interdepencency of devices
- * ADVram: new extension
- 2005-12-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Handle scaleBlank() via Scaler::scaleImage():
- - allows to fix the "[1057836] Infinite plasma logo" bug
- - also properly handle scanlines with non-black border color in
- deinterlace mode. Previously display area didn't had scanlines
- while border area had. Now none has scanlines.
- 2005-12-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Also do realtime syncing when started with none renderer
- * Fixed deinterlace in combination with frameskip
- * Use DoubledFrame to render interlaced (non-deinterlaced) frames:
- scalers with odd scale factor are rendered better now. For example
- low scaler also shakes now
- 2005-11-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added line scaling in FrameSource:
- - fixes the 'double screen' bug
- - improves scaler border effects (but still not completely)
- 2005-11-27 Manuel Bilderbeek <manuel@msxnet.org>
- * Made cassetteplayer status query machine readable. Just use
- 'cassetteplayer' to get a TCL list, similar to the diska command.
- 2005-11-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 192kb VRAM support in VDPCmdEngine
- 2005-11-20 Maarten ter Huurne <maarten@treewalker.org>
- * Optimised variable zoom factor version of 2xSaI.
- * Used template metaprogramming to instantiate an optimised fixed zoom
- factor 3xSaI scaler.
- 2005-11-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Keep icon status in new class (IconStatus) iso in static data of
- IconLayer:
- - fixes power led status when openmsx was started with 'none'
- renderer (catapult)
- * Basic 192kb VRAM support:
- - only CPU-VRAM interface, no command engine stuff yet
- 2005-11-19 Maarten ter Huurne <maarten@treewalker.org>
- * Added the variable zoom factor version of 2xSaI.
- It is being used to provide 3xSaI at the moment.
- The current version is very slow though.
- 2005-11-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Optimized scale3x (c++)
- 2005-11-18 Manuel Bilderbeek <manuel@msxnet.org>
- * Updated the manual. Still TODO are the new zoom/scaler-method
- settings, which are not even programmed yet.
- 2005-11-16 Maarten ter Huurne <maarten@treewalker.org>
- * Added a C++ version of Scale3x.
- 2005-11-16 Joost Damad <joost@lumatec.be>
- * yeah that was one year ago since I did an openmsx commit :)
- * use word for casting a pointer to an integral; fixes build on 64bit
- systems
- * test
- 2005-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Remove all pending after commands on exit
- 2005-11-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Automatically unschedule SyncPoint when it is deleted:
- On lots of places we forgot to do this. Will become important
- when we allow to remove device or switch machine at run time
- 2005-11-12 Manuel Bilderbeek <manuel@msxnet.org>
- * Attach to throttleManager, not to throttleSetting.
- * Added keyword 'explicit' to declarations of constructors with only
- one argument, to prevent undesired implicit conversions. Please do
- this everywhere applicable from now on!
- 2005-11-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Allow multiple <mem base="xxx" size="yyy"/> tags per device
- * MSXRam device is now mirrored:
- Together with change above it's now possible to create RAM like this:
- <RAM id="my mirrored ram">
- <mem base="0x2000" size="0x2000"/>
- <mem base="0xA000" size="0x2000"/>
- <size>0x2000</size>
- </RAM>
- This represents a 8kb RAM that is visible on both 0x2000-0x3FFF and
- 0xA000-0xBFFF
- * Directly using throttleSetting is wrong (should always go via
- ThrottleManager), so make that impossible
- * Still found a singleton, HardwareConfig. Removed it.
- 2005-11-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Removed old add/removeListener calls
- * Removed SettingListener class
- 2005-11-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * PluggingController related cleanups
- 2005-11-10 Manuel Bilderbeek <manuel@msxnet.org>
- * Introduced a generic Gamma based Observer pattern, template
- implementation by Wouter though. Still needs to be used more properly
- for Setting/SettingListener and ThrottleManager.
- 2005-11-10 Maarten ter Huurne <maarten@treewalker.org>
- * Map all even numbered joystick buttons to trig A and all odd numbered
- joystick buttons to trig B. Before, button 0 was mapped trig A and
- button 1 was mapped to trig B and if those buttons were not present
- or not easy to use on your joypad, you were out of luck.
- 2005-11-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Renamed scaleMxNtoXxY() methods in LowSCaler and 3x Scalers:
- old named didn't take overscan into account
- * Renamed all scaleNNN() methods in 2x scalers
- * Use DeinterlacedFrame in 2x scalers
- 2005-11-05 Manuel Bilderbeek <manuel@msxnet.org>
- * More intelligent 'loading' check for disk drive; if there is no head
- movement for a while, we assume loading stopped. Works much better
- for software that doesn't turn off the motor. The timeout is set to
- one second for now. This may need some tuning still.
- 2005-11-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Allow more general memory specifications in hardwareconfig.xml:
- - <mem base=".." size=".."/>
- base and size no longer need to be multiples of 0x4000
- - It's now possible to create devices that have 8kb rom and 8kb
- ram in the same 16kb page.
- * Fixed fullscreen switching in windows
- 2005-11-04 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented an experimental "fullspeedwhenloading" setting.
- If you turn it on, openMSX will run at full speed when it thinks
- that the MSX is loading from disk or cassette. It's still a bit dumb
- for disk as it syncs the motor status... Also, some stuff like
- RealTime and sound drivers want to get informed if the speed of the
- emulation changes. This is not passed yet when openMSX goes to
- full speed due to this new setting. Default is still 'off', of
- course. Please test this and improve it :P
- 2005-11-04 Maarten ter Huurne <maarten@treewalker.org>
- * Renamed scale methods in LowScaler to reflect ratio i.s.o. line width.
- * Finally introduced DeinterlacedFrame class.
- Right now it is only used by PostProcessor internally, but in the
- future the scalers will use it too, as a FrameSource.
- 2005-11-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed assert on 'set power off ; set power on':
- also cleaned up reset handling code
- 2005-11-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Only build SDLGLOutputSurface when OpenGL component is selected
- 2005-11-01 Manuel Bilderbeek <manuel@msxnet.org>
- * Optimization in RGBTriplet3xScaler: don't really call scale_1on1; if
- we already have 256 wide lines, there's no need to scale
- 2005-11-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use OutputSurface iso directly SDL_Surface in Scalers:
- - preparation to use other than SDL framebuffers
- - OpenGL framebuffer code seems to work, but is not yet
- enabled. Performance is about the same as SDL on my system
- * Experimental. Enabled OpenGL framebuffer renderers:
- - use 'set renderer sdlgl-fb16' and 'sdl-gl32' to enable them
- - possibly we disable them for the release
- * Fixed bug in MemoryOps:
- - need mmxext for streaming stores
- 2005-10-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed assert when switching video system (hq2x -> hq3x)
- and leak when switching video system on gfx9000:
- * Small optimization in Simple3xScaler::scaleBlank()
- 2005-10-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed memory leaks in VideoSystem/Layers stuff:
- - simplified layer ownership rules: creator now owns the layer
- iso transferring ownership to Display
- - added Display::removeLayer(), there was only addLayer()
- - VideoSystem and Rasterizer objects were never deleted
- 2005-10-30 Maarten ter Huurne <maarten@treewalker.org>
- * Moved the switch(lineWidth) statement from PostProcessor to Scaler<N>,
- as a preparation for renaming the line scale methods.
- 2005-10-29 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented Simple3xScaler with scanlines. Blur is TODO for someone
- who is interested :P
- 2005-10-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented border effect for outer left and right border pixels
- in RGBTriplet3xScaler
- * Fixed Scale_XonY line scalers for case when destination width
- is not an integer multiple of Y
- 2005-10-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented RGBTriplet3xScaler for all widths using the new functors
- 2005-10-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'Streaming store' tags on line scalers to enable
- optimizations in Scaler2 and Scaler3
- 2005-10-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Transformed scale_XonY() methods into functors
- * Changed signature of scale192/384/640/768/1024 methods
- * Factored out scaling algorithm in the base Scaler classes
- * Optimized PixelOperations for 32bpp
- * Implemented 16bpp in RGBTriplet3x
- 2005-10-26 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented adjustable scanline in scaleBlank() for RGBTriplet3x
- scaler.
- * Let rgbify (in RGBTriplet3x) use pixelOps to access RGB components.
- Makes it almost work in 16bpp, except for the spill threshold.
- TODO: fix this and implement other widths (as soon as this can be
- done without loads of code duplication...)
- 2005-10-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Changed signature of scale512() method
- * Replaced Blender with PixelOperations class:
- - puts all blend functions in one place
- 2005-10-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Moved scanline code from SimpleScaler to new class Scanline
- * Reused scanline code in RGBTriplet3x scaler
- * Made the 'amount of RGB separation' configurable in RGBTriplet3x
- scaler
- 2005-10-24 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented scaleBlank() for RGBTriplet3x scaler. Still no effect for
- non-256-wide modes... (so still WIP)
- 2005-10-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Improved Manuel's RGB scaler (still WIP)
- 2005-10-23 Manuel Bilderbeek <manuel@msxnet.org>
- * Added RGBTriplet3x scaler. Emulates a Trinitron effect, including
- a scanline. This is still very WIP and experimental! Thanks to Wolf
- for the idea
- 2005-10-22 Maarten ter Huurne <maarten@treewalker.org>
- * More preparations for cleaner deinterlacing:
- - PostProcessor calculates destination Y (in addition to source Y)
- - Scaler::scaleBlank signature changed to use destination Y
- - Scaler::scale256 signature changed to use source and destination Y
- 2005-10-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Put common code for HQ.x scalers in HQCommon.hh
- * Optimized MSXtar:
- - cache FAT in memory
- * Implemented scaling in IconLayer:
- - OSD icons now have the same size/position in all scalers
- 2005-10-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed low and hq3x scalers for v9990
- * Cleaned up Scaler code (mostly for non 2x scale factors)
- 2005-10-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added hq3xlite scaler
- 2005-10-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added hq3x scaler:
- - is *very* slow (will try to add hq3xlite later)
- - there might still be problems in combination with gfx9000
- 2005-10-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use unix domain sockets iso internet domain sockets for
- communication with extrenal programs.
- * Updated Contrib/openmsx-control.cc:
- made a openmsx-control-socket.cc and a openmsx-control-stdio.cc
- version
- 2005-10-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Worked around SDL CAPSLOCK problem:
- SDL doesn't send proper keyup/down events for CAPSLOCK, instead
- it sends keydown when key is pressed for the first time and keyup
- when key is pressed second time.
- As a workaround we must make an assumption about the duration of
- the key press (i took 100ms).
- 2005-10-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented tilde expansion for ~<user> (*nix only)
- 2005-10-04 Manuel Bilderbeek <manuel@msxnet.org>
- * Renamed force_play to motorcontrol and some small clean ups.
- 2005-10-01 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed IDE on big endian machines.
- Commit from Bussum MSX fair :)
- 2005-09-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed help command:
- - info topics were visible as commands in the help command
- * Fixed reset during pause bug
- 2005-09-29 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed screenshot colours of SDL renderer on big endian machines.
- 2005-09-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Started implementation of new cassetteplayer CLI.
- - needs a lot of clean ups, only the CLI part was changed
- - record subcommand not implemented yet. Needs modifications to
- WavWriter, to be able to append to existing images. Consequently,
- readonly-handing is not implemented yet either.
- 2005-09-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed input delay for MSX keyboard:
- - Split keyboard events in host and emu events. In the future
- other events should be split as well
- - Currently the console code translates host keyboard events
- into emu keyboard events (only when console is disabled).
- This should change.
- 2005-09-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed EmuTime parameter for ASAP sync points
- 2005-09-24 Arnold Metselaar <arnold.metselaar@planet.nl>
- * CassetteJack
- - fix output when MSX output varies very rapidly
- - simple interpolation on input
- 2005-09-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Automatically plug in cassetteplayer when the MSX machine has a
- cassetteport:
- - done with a TCL script for the moment because the list of
- plugged devices is not (yet) saved by openMSX
- 2005-09-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * CassettePlayer stuff:
- - cleanups (bring coding style in line with rest of openMSX)
- - fix wav ouput when MSX output varies very rapidly
- - update wav header 'regularly' so that wav is already usable by
- an external program before recording on MSX is completely stopped
- 2005-09-20 Arnold Metselaar <arnold.metselaar@planet.nl>
- * fix in WavWriter class; totalsize was wrong
- * CassetteJack, CassettePlayer
- - simple DC removal filter for cassette out signal
- * CassettePlayer
- - setMute() when recording
- - stop recording on eject, insert, rewind unplug and destructor
- 2005-09-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made WavWriter class:
- - removed common code from Mixer and CassettePlayer
- - code should now also work on big endian machines (not tested)
- * Enabled wav writing for CassettePlayer
- * Clear secondary slot registers on reset(!):
- - fixes reset bug on Sony HB-F500P
- 2005-09-18 Manuel Bilderbeek <manuel@msxnet.org>
- * Added a new -testconfig option, which just tries to load the
- specified machine/extension/etc. config and then exits. Can be used
- to probe what machine configs are installed correctly, including ROM
- images
- 2005-09-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented 'magic key' dongle
- * Fixed assert on reset (happened most often on turbor)
- 2005-09-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made RawFrame SDL independent
- * Allign every line in a RawFrame at a 64 byte boundary
- 2005-09-12 Maarten ter Huurne <maarten@treewalker.org>
- * Preparations for cleaner deinterlacing:
- introduced FrameSource as an abstract superclass of RawFrame.
- 2005-09-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added EmuTime parameter to peekMem() method
- * Implemented debug reads for FDC's
- 2005-09-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed some SCC details (needed for playing samples on SCC):
- - stuff was discovered by NYYRIKKI
- - see comments SCC.cc for details
- 2005-09-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * update events are now enabled/disabled per connection
- 2005-09-07 Maarten ter Huurne <maarten@treewalker.org>
- * Set environment variables though TCL interpreter.
- Fixes problem on Mac OS X where OPENMSX_(SYSTEM|USER)_DATA is not
- updated in TCL, causing "init.tcl" to fail.
- 2005-09-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added listen_host and list_port_min/listen_port_max settings:
- - valid values for listen_host are 'all', 'local' and 'none'.
- Default is 'local'
- - listen_port_min/max is a range of port number on which openmsx
- will listen for incomming connection (openmsx session will take
- the lowest free port, it's a range to allow multiple
- simultaneous openmsx sesions). Default is 9938 - 9958.
- - TODO better names for these settings?
- - TODO documentation
- 2005-09-05 Arnold Metselaar <arnold.metselaar@planet.nl>
- * Added support for interaction between cassette port and jack
- audio connection kit
- - added CassetteJack
- - moved the generation of samples from Cassette to the Pluggable.
- - build system updated
- - description in user.html
- 2005-09-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Large singleton cleanup (only a few remain now):
- - singleton classes had a lot a inter-dependencies, it was not
- possible to make this change in smaller steps
- - these dependencies still exist, but now there are explicitly
- visible in the code (in some places it looks ugly now)
- - TODO break some of these dependencies
- 2005-09-02 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed a bug in the disassembler (thanks for the anonymous poster for
- telling us about it); it now uses stringstreams iso char arrays.
- 2005-08-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More singleton cleanups:
- UserInputEventDistributor, CommandConsole, RenderSettings and
- Display are no longer singletons
- 2005-08-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Moved implementation of 'toggle' command to a TCL script
- * Removed CondVar class, it was not used anymore
- 2005-08-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * MSXtar cleanup:
- - don't use CliComm to print warnings or errors, instead
- report them as normal TCL output or TCL error msgs
- - more robust error handling
- 2005-08-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added resume update event
- 2005-08-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented peekIO (debug IO reads) for MSX-AUDIO
- 2005-08-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * V9990 no longer internally renders 640 pixels wide lines. The
- PostProcessor now scales the lines to the correct width.
- * Extended Scalers with scale192() scale384() scale768() scale1024():
- TODO find a better way to do this
- 2005-08-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Use PostProcessor for V9990:
- - this means scaler, scanline, blur settings have now also effect
- on V9990 display
- - TODO all V9990 lines are internally still rendered 640 pixels wide
- 2005-08-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Changed 'issubslotted' from Debuggable into InfoTopic
- * Added 'isexternalslot' InfoTopic
- * Added 'guess_title' script
- 2005-08-10 Manuel Bilderbeek <manuel@msxnet.org>
- * Added -prefix option to screenshot command
- * Moved getName from ScreenShotSaver to FileOperations, with new name
- "getNextNumberedFilename" and used it in Display and Mixer. Removes
- code duplication between those 2.
- 2005-08-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed using precompiled headers:
- - include guards should be unique in the whole tree
- - split Icon.hh in Icon.hh and Icon.cc
- * Fixed KeyJoystick:
- - UserInputEventDistributer can now handle multiple listeners with
- the same priority
- * Large V9990 speedup:
- - added faster VRAM access methods, specific for certain display
- modes
- - optimized logical operations in V9990CmdEngine with LUT
- 2005-08-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added SimpleDebuggable class:
- made code of most Debuggables a lot simpler
- * Simplified SoundDevice class
- 2005-07-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in EventDistributor:
- event order could get swapped for events close together in time
- * Scheduler now keeps sync points with same EmuTime in the same order
- as they are registered
- 2005-07-23 Manuel Bilderbeek <manuel@msxnet.org>
- * Added -nommx and -nommxext command line options, to disable MMX and
- MMXEXT usage, if available. This is useful only for debugging
- purposes and may change in the near future.
- 2005-07-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented resolution changing for low scaler
- * Renamed 'SDLHi' renderer to 'SDL'
- 2005-07-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made Scaler interface independent from scale factor:
- - low scaler works now, although still in a 640x480 window
- * Moved Deinterlacer functionality to Scaler:
- - preparation for low scaler deinterlacer
- * Implemented deinterlace for low scaler:
- - no MMX or SSE optimized version yet
- 2005-07-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed SDLLo renderer, SDLLo renderer will be replaced with "low"
- scaler soon
- 2005-07-20 Maarten ter Huurne <maarten@treewalker.org>
- * Split off PostProcessor from SDLRasterizer.
- * Fixed bug in memset4_2_CPP.
- This was the cause for "[1237004] OSX Tiger GFX bug".
- * Fixed endianness bug in memset_2_helper 16bpp support.
- * Used a different GCC 3.3 bug workaround, because the previous one
- caused bus errors on Mac OS 10.3.
- 2005-07-18 Maarten ter Huurne <maarten@treewalker.org>
- * Introduced RawFrame: a class which contains an unscaled frame.
- This is an architectural improvement which will later allow bug fixes,
- cleaner code and new features.
- * Removed NATIVE event listeners (replaced by DETACHED).
- 2005-07-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made CPU breaked status queryable with "debug breaked" subcommand
- * Use glTexSubImage2D to reuse existing textures:
- can be faster in certain OpenGL implementations
- 2005-07-16 Maarten ter Huurne <maarten@treewalker.org>
- * Optimized PNG images.
- I used the tools pngrewrite and OptiPNG.
- * Optimized PNGs some more using advpng.
- * Optimized PNGs some more using pngcrush.
- Thanks to Wouter for the tip.
- 2005-07-15 Manuel Bilderbeek <manuel@msxnet.org>
- * Updated the IDE ROM to version 2.40.
- 2005-07-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added "issubslotted" debuggable
- * Reimplemented "slotselect" command as a TCL proc
- * Added "pc_in_slot" TCL proc. Can be used to set a bp in
- a specific slot.
- 2005-07-13 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed the new icon on big endian machines.
- 2005-07-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed auto saving of settings at exit
- 2005-07-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Thanks to Wouter's improvements to CasImage, I could boost the
- baudrate of cas images to 5520! :) Any more and it blows ;-)
- * Don't use allUp(), but just let key up events through to the MSX
- when console is active.
- 2005-07-10 Maarten ter Huurne <maarten@treewalker.org>
- * Introduced UserInputEventDistributor, as a first step to get rid of
- the "native" event handlers. This distributor forwards keyboard
- events to the console or the MSX depending on whether the console is
- active.
- 2005-07-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed linking problem for gcc4
- * Fixed inline assembler for gcc4:
- we need to hide the MMX/SSE registers in the clobber list from the
- compiler when the target CPU doesn't know about these registers
- 2005-07-06 Manuel Bilderbeek <manuel@msxnet.org>
- * Renamed 'eject', 'rewind', 'force_play' and 'no_force_play' to
- '-eject', '-rewind', '-force_play' and '-no_force_play' in the
- CassettePlayer.
- * Added completion for these options.
- 2005-07-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored SoundDevice code:
- pass estimated EmuTime and EmuDuration to updateBuffer()
- preparation for DACSound improvements
- * Improved DACSound sound quality:
- - 2x oversample signal (and downsample with 4th order FIR filter)
- - use time average to extract the (unfiltered) signal
- 2005-07-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented stripes for screen6 background
- * Fixed "load_settings" command
- 2005-06-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Moved vdrive key bindings from openMSX code to vdrive.tcl script
- 2005-06-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Only save key bindings (settings.xml) that are different from the
- default key bindings. Added (un)bind_default commands.
- * HQ2xLite cleanup + small speedup
- 2005-06-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Mute sound when a bp is hit and during turbor HW pause
- * Implemented HW mute bit in turbor PCM device
- * SettingsManager is no longer a singleton
- * Don't save settings that (still) have their default value:
- - this way the user no longer needs to delete his settings.xml
- file to get the new default values when he upgrades
- - TODO: this broke the load_settings command. I'll fix it
- after keybindings and keyjoystick are refactored
- * Added second keyjoystick:
- Names are now 'keyjoystick1' and 'keyjoystick2'. This is not
- backwards compatible with the old name 'keyjoystick'. Do we need
- a compatibilty thing for this?
- * Made keyjoysticks configurable with settings (iso directly having
- to edit settings.xml):
- Setting names are like this 'keyjoystick1.up', 'xx.down', etc
- 2005-06-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Mixer is no longer a singleton
- 2005-06-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented stripes in border in screen6
- 2005-06-23 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed problem with saving SRAM to a machine that wasn't used before.
- 2005-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Unrolled inner loops in CharacterConverter:
- - rendering text2 mode is between 1% and 2% faster now (on total
- simulation time)
- - gcc only unrolls loops when the option -funroll-loops is given
- it's not automatically enabled at any optimization level because
- it sometimes also creates slower code
- * Changed result format of "diska" command, updated vdrive script
- * Don't use default alpha value in SDL console:
- When the background image had a contant alpha value (or no alpha
- value at all) we took a default alpha value. This behaviour is
- different from the GL Console. It's also not very useful because it
- prevents using a background with a different (constant) alpha
- value (or no alpha at all).
- 2005-06-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Flush PrinterPortLogger data
- 2005-06-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed problem with event distribution:
- Current implementation can't handle new subsriptions while events
- are being distributed. In this case it was easy to avoid but in the
- future we may have to change the implementation to allow this. I
- also added some asserts to more easily detect this type of problem
- in the future.
- * Reimplemented "palette" and "vdpregs" commands as TCL scripts
- * Added Vampiers "setcolor" TCL script (slightly modified)
- * Reimplemented "v9990regs" command as a TCL script
- * Updated cpu.tcl, made a proc to read/write individual registers,
- see documentation in cpu.tcl for details
- * Implemented SRAM syncing:
- at most 5 seconds after a write to SRAM the content of the SRAM is
- saved to disk.
- 2005-06-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * RenShaTurbo is no longer singleton
- * Debugger is no longer singleton
- * Use references iso pointers where possible in VDP code
- * Made memory mapper registers debuggable (MapperIO)
- * Made V99x8 palette debuggable
- 2005-06-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Large refactoring, get rid of some singletons:
- MSXMapperIO, MultiIODevice, MSXDeviceSwitch, DummyDevice,
- PanasonicMemory, MSXCPUInterface, MSXCPU are no longer
- singletons. Instead the (single) object of this class should
- be get from MSXMotherBoard. MSXDevices and some other classes
- now have a backpointer to MSXMotherBoard
- * Get rid of more singletons:
- PluggingController, CassettePortFactory
- 2005-06-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added basic syntax checking for expressions in conditional bp's
- 2005-06-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented conditional breakpoints:
- TODO add more documentation and examples
- 2005-06-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Turbo R hw pause only pauses the CPU, not also all other devices.
- 2005-06-12 Maarten ter Huurne <maarten@treewalker.org>
- * Only Schedulable has access to setting and removing sync points.
- * Look for TCL in "lib64" directories as well.
- Fixes TCL detection on Fedora Core 3 x86-64.
- * Split off Reactor class from MSXMotherBoard. Work in progress.
- * Decided that the "reset" command and the "power" setting apply to a
- specific MSX machine and therefore belong in MSXMotherBoard.
- The code that handles that command and setting already assumes that
- it is called from the Reactor instead of the Scheduler, but this is
- not yet the case, so currently assertions can be triggered.
- 2005-06-11 Maarten ter Huurne <maarten@treewalker.org>
- * Do not initialise SDL if openMSX doesn't start up (-h, --version).
- * Initialise SDL video when the first screen is opened.
- 2005-06-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More accurate Clock class (when freq is a fraction of 3.58MHz)
- * Also complete "-eject" and "-ramdsk" in "diska" command
- 2005-06-10 Maarten ter Huurne <maarten@treewalker.org>
- * CommandLineParser is no longer a singleton.
- * Removed -nosound command line option.
- Use the "null" sound driver instead.
- 2005-06-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Small speedup of simple scaler
- * replaced classes with only static methods inside (e.g. StringOp)
- with a namespace
- * Implemented hard/soft pause bit in turbor (bit 1 in port 0xa7)
- * Removed support for old romdb format
- * Removed support for <romfile>,<romtype> (use -romtype instead)
- * Use <country> tag in softwaredb
- 2005-06-10 David Heremans <david.heremans@gnu-linux.net>
- * Added vdrive.tcl script:
- This scripts allows user to cycle through a uniformaly named
- diskset. It enables blueMSX users to use the same kind of
- diskcycling as blue's v-DRIVE if binded to the ALT+F9 hotkey
- 2005-06-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed romdb.xml and romdb.dtd files:
- These files were already obsoleted by softwaredb.xml. OpenMSX
- still supports the old format, after the release we'll also
- remove this.
- 2005-06-07 Maarten ter Huurne <maarten@treewalker.org>
- * Updated C-BIOS to 0.21.
- 2005-06-06 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented new icon by Eric Boon (32x32 version).
- * Cleaned up Icon code, to use a slightly modified GIMP C-Source image
- dump. It's now also easier to put in a larger bitmap.
- 2005-06-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed background in screen6:
- only use lower two bits for background color
- TODO use stripes
- 2005-05-28 David Heremans <david.heremans@gnu-linux.net>
- * introduced a quick-fix:
- The minial bootsector in MSXtar is, at the moment,
- created for a 360KB disk. For now the minimal
- partition size is forced to this size as well.
- 2005-05-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed 'useFile' sub command from 'diskmanipulator':
- the new 'virtual_drive' replaces its functionality
- * Refactored DiskDrive code:
- factored out disk changing code into DiskChanger class
- * Added 'virtual_drive':
- this drive is always available (even in power off state),
- its main use is for the diskmanipulator stuff
- 2005-05-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Merged Maarten's 'close socket stuff' patch:
- - should fix exit problems on OSX
- 2005-05-24 David Heremans <david.heremans@gnu-linux.net>
- * Enhanced the 'diskmanipulator import' function:
- It now accepts a list of files and directories as arguments
- 2005-05-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Renamed 'eject' and 'ramdsk' to '-eject' and '-ramdsk'
- * Renamed 'filemanipulator' to 'diskmanipulator'
- * Removed diskmanipulator sub command 'usePartition'
- 2005-05-22 Manuel Bilderbeek <manuel@msxnet.org>
- * Literally reVamped default console background and font! ;-)
- ConsoleFontRaveLShaded is default font now, ConsoleBackgroundGrey
- is default background (see poll). Added some others as well. All
- graphical work was done by Patrick van Arkel.
- 2005-05-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * R800 timing improvements:
- CAS/RAS optimization only works for internal RAM,
- timing tests in R800-ROM look a lot better now
- 2005-05-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * fixed R800 memory access timing:
- - accessing internal RAM (or some ROMs in DRAM mode) takes 1 cycle
- - accessing internal ROM takes 2 cycles
- - accessing external slot takes 3 cycles
- 2005-05-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * R800 timing fix:
- - retn reti instructions takes 5 cycles (2 more than a simple 'ret',
- that's unexpected if you look at the Z80 timings)
- - tweaked CAS/RAS optimization a bit, also optimize data fetches,
- but still don't optimize between opcode and data fetched
- I have no idea whether it really works like this, but the test
- results are better now
- 2005-05-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * R800 timing fix:
- di instruction takes 2 cycles (ei takes just 1)
- 2005-05-16 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Sony HB-F700D config. Interesting characteristics are:
- 256kB RAM, German ROMs (nice for German users), broken_fdc_read=true
- 2005-05-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Made WD2793 code more robust:
- Something _could_ go wrong when a new command was started while the
- previous command was still busy. This might fix the drive problems
- seems by vampier, mth and shevek but it might also be something
- completely different.
- 2005-05-14 David Heremans <david.heremans@gnu-linux.net>
- * More FileManipulator stuff
- - get feedback on curretn situation from 'useFile', 'usePartition'
- and 'chdir' in the same was as our 'set <variable>' commands work
- - fixed small bug concerning non partitioned devices
- 2005-05-11 David Heremans <david.heremans@gnu-linux.net>
- * More FileManipulator help
- 2005-05-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Improved build time (~15% faster full build here):
- - split EmuTime.hh in EmuTime.hh EmuDuration.hh Clock.hh and
- DynamicClock.hh
- - don't #include <iostream> in openmsx.hh in non-debug builds
- PRT_DEBUG macro is not checked anymore for syntax errors in
- non-debug builds now, but I think that's not a big problem
- 2005-05-09 David Heremans <david.heremans@gnu-linux.net>
- * Added support for linux style partitionnumbers in the FileManipulator
- 2005-05-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed linking problem with gcc-4.x:
- explicit template instantiation must be done _after_ template
- definition and implementation
- * Improved timer accuracy of MSX-AUDIO / OPL4:
- thanks to Daniel for figuring this out
- 2005-05-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Large MSXtar / Filemanipulator (and related stuff) cleanup
- 2005-05-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented missing WD2793 feature, interrupt on index pulse:
- - fixes 'write protected' message while formatting read-only disk
- images
- 2005-05-06 David Heremans <david.heremans@gnu-linux.net>
- * MSXtar Work-In-Progress:
- - limited disk/partitions to 65535 sectors for now to solve
- the 'create disk of 32MB' problem.
- - improved bootsector guessing in the MSXtar constructor
- and commented it out already :-)
- - check against directory removals done by the emulated MSX
- - fixed some compile warnings
- 2005-05-05 Patrick van Arkel (vampiermsx@gmail.com)
- * Added trainers.tcl to the scripts directory
- - This file will enable the users to 'cheat' games
- 2005-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Console refactoring:
- - simplified code / fixed a bug
- * Use Tcl_DeleteCommandFromToken iso Tcl_DeleteCommand to unregister
- TCL commands: is safer when the user uses 'rename' on the commands
- * Correctly fill in the 'LBA size' field in the IDEHD 'Identify Block':
- patch made by Adriano Camargo Rodrigues da Cunha
- 2005-05-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed -nosound option:
- - also marked as deprecated
- 2005-05-04 David Heremans <david.heremans@gnu-linux.net>
- * MSXtar Work-In-Progress:
- - new chdir,mkdir and dir command.
- - registering of IDEHD now done by the IDE controller
- which adds a Master or Slave indication to the name
- - enabled '.' and '..' support in some MSXtar routines
- - while cleaning up the code I added some verbose error
- messages in case of failure or wrong usage
- 2005-05-02 David Heremans <david.heremans@gnu-linux.net>
- * MSXtar Work-In-Progress:
- - partition info per DiskContainer device
- - new format and useFile command.
- - renamed getDir/AddDir to import/export
- - IDEHD import seems to work :-)
- - 'create'-command works but IDE sector 0 is not fully correct yet.
- - extra documentation file concerning the filemanipulator
- 2005-04-29 Patrick van Arkel (vampiermsx@gmail.com)
- * added a new rom database after some cleanups
- 2005-04-28 Daniel Vik (daniel@vik.cc) (commited by Patrick van Arkel)
- * added support for windows timers
- * fixed directX sound driver for win32
- * added RealTime.cc
- (Please talk to Daniel about line 96)
- 2005-04-28 David Heremans <david.heremans@gnu-linux.net>
- * MSXtar Work-In-Progress:
- - the IDEHD is now accessible for the FileManipulator.
- - partition support is comming along nicely.
- - you can already do a 'getDir' to export an MSX-IDEHD partition
- to your host-OS. No importing yet
- - untested create dsk image code with partition support :-)
- 2005-04-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed a small bug in IDE HD.
- 2005-04-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Experimental directX sound driver for win32:
- - I don't have a windows machine so this code is NOT TESTED
- 2005-04-24 Manuel Bilderbeek <manuel@msxnet.org>
- * Added EXPERIMENTAL AND UNTESTED build support for the following CPUs.
- DEC Alpha, ARM, HP PA-RISC, IA-64, Motorola 680x0, MIPS (Big and
- Little Endian), IBM S/390.
- Everything should work (endianness is OK), but we have no systems to
- test on. Let's wait until someone complains that it doesn't work and
- then fix it (if needed at all).
- 2005-04-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Extended IPS patch support:
- - support IPS files with internally overlapping regions
- - support IPS files that extend the orginal file size
- * Added sound_driver setting:
- currently only 'null' and 'sdl' drivers
- 2005-04-21 Maarten ter Huurne <maarten@treewalker.org>
- * Made openMSX relocatable on Mac OS X.
- It looks for the "share" directory first in the directory containing
- the executable and the search goes up one directory until it is found.
- 2005-04-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split Mixer in generic sample generation part and sound system
- dependant sound output part:
- - preparation to support other sound systems later (eg DirectSound)
- 2005-04-20 David Heremans <david.heremans@gnu-linux.net>
- * MSXtar Work-In-Progress:
- - using the temporary addDir/getDir you can now import/export
- host-directories (and its subdirs) into a dsk image.
- - Creating some extra classes to later on facilitate IDEHD
- registration with FileManipulator, and add FileManipulator
- functionallity to work with dsk-images without the use of
- drives of a running MSX session.
- 2005-04-19 Manuel Bilderbeek <manuel@msxnet.org>
- * Added support for Sparc CPUs.
- 2005-04-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * MSXtar cleanup / fixes:
- - fixed compilation on windows (not actually tested):
- the type field 'd_type' in the struct 'dirent' is not generally
- available (not on windows for example)
- - lots of small cleanups (mainly layout)
- 2005-04-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored V9990 'renderUntil' related code:
- should fix pixel accurate rendering
- 2005-04-13 David Heremans <david.heremans@gnu-linux.net>
- * Got the needed routines to add files/subdirs to a dsk image into
- msxtar code.The code compiles but doesn't work yet. Going from
- an all-in-memory model to a one-sector-at-a-time model introduced
- a lot of partial (and untested) rewrites and some quick hacks.
- 2005-04-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented V9990 vertical scroll rolling in Bx modes
- 2005-04-09 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Improved SCC sound quality
- - during (very) short periods of silence, waveform counters
- should continue to increase (major improvement)
- - copied filter code from BlueMSX (minor improvement)
- * Enabled pixel/line accurate rendering for V9990 (WIP)
- 2005-04-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Switched the two YM2413 cores again. Okazaki is now default, because
- it sounds better now. Regarding drums, some sound better in Okazaki,
- some in Burczynski (e.g. the cymbal). Ideally the drums
- should be switchable and the normal FM should always be Okazaki.
- Thanks to Wolf for judging the sound quality.
- 2005-04-04 David Heremans <david.heremans@gnu-linux.net>
- * Actually trying to get the format routines from the original
- msxtar into openMSX. The idea is that this new class will perform
- the real work, and the File/DiskImageManipulator will invoke msxtar
- as needed
- 2005-04-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed / cleaned up FileManipulator and RamDSK code:
- still TODO:
- - proposal: rename FileManipulator to DiskImageManipulator?
- - proposal: change "diska ramdsk" to "diska -ramdisk [<name>]"
- (note: ramdsk vs ramdisk (or just ram?))
- - keep ramdisk contents when disk is ejected/reinserted
- - automatically format ramdisk on first insert
- * Simplified all SectorsBasedDisk subclasses
- 2005-04-04 David Heremans <david.heremans@gnu-linux.net>
- * Filemanipulator: tab completion.
- 2005-04-02 Maarten ter Huurne <maarten@treewalker.org>
- * Refactored AY8910Interface and renamed to AY8910Periphery.
- Main difference is the discovery that peek and read actually are the
- same thing on this interface, not just in the implemenation but in
- the conceptual model as well.
- 2005-04-01 Manuel Bilderbeek <manuel@msxnet.org>
- * WIP: make Okazaki core more like 0.61
- * Swapped default and alternative YM2413 cores, because Okazaki core
- is very broken at the moment. CHECK points need to be checked by
- Wouter still
- 2005-04-01 David Heremans <david.heremans@gnu-linux.net>
- * Next step to integrate msxtar into openMSX:
- The creation of the RamDSK class, to allow ramdisk like dsk usage
- Doesn't seem to work yet though :-)
- 2005-04-01 David Heremans <david.heremans@gnu-linux.net>
- * First steps to integrate msxtar into openMSX:
- The creation of the FileManipulator class
- 2005-03-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More YM2413 fixes (ported from v0.55)
- * Swapped default and alternative YM2413 cores:
- is easier to test this way, if results are good, this might stay
- the default order
- 2005-03-29 Manuel Bilderbeek <manuel@msxnet.org>
- * Tried to adapt Okazaki YM2413 core in openMSX to make it look more
- like the original code (version 0.55, from NLMSX, thanks Frits).
- WIP!
- 2005-03-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Handle TCL events in openmsx event loop:
- - makes Patrick's webserver script work
- - preparation for Tk integration
- 2005-03-25 Herman Oudejans <hn.oudejans@quicknet.nl>
- * fixed -control stdio on windows. With this option, the
- StdioConnection was not created.
- 2005-03-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split CliComm in CliComm and CliServer:
- - fixed assert on startup (CliComm must be instantiated in main
- thread)
- * Added cheat.tcl:
- written by Patrick van Arkel <sf@vampier.net>
- see share/scripts/cheat.tcl for a short explanation
- 2005-03-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented step_in, step_over and run_to as TCL procs
- * Try to listen on ports 9938-9958 (iso just 9938), and print a
- warning (iso crash) when none of these is available
- 2005-03-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed crash on missing argument for 'debug set_bp/remove_bp'
- * Implemented "debug disasm" command:
- with this command Boukichi's 4 debugger commands (offered as a
- patch on openmsx-0.5.1) can be implemented as simple TCL scripts
- 2005-03-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Tiny SDLGL improvement:
- - use glRect() to draw rectangles with a single color iso GL_QUADS
- * Experimental: enable window resizing in GL renderer
- - For some reason it doens't work yet in character modes
- - I read that on windows you need to reload all textures after a
- resize. I couldn't test this but if it's true resizing currently
- doesn't work in windows
- - By default the resizing is disabled, to enable it comment out
- line 110 in src/video/SDLGLVideoSystem.cc
- 2005-03-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed MSX-AUDIO sample RAM detection:
- UR always detected 256kb
- AR always detected 0kb both are fixed now
- 2005-03-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed minor(?) rounding error in SCC
- 2005-03-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split CliComm class in CliComm and CliConnection:
- helps to keep the c-macros defined in windows.h more local
- * Only accept connections from local host:
- it's still a security risk (hostile local users) but much less
- already.
- 2005-03-13 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented soundlog toggle command.
- * Implemented tabCompletion for soundlog command and partially for
- after command
- * Stop logging sound when frequency setting is changed.
- Alternative: ignore frequency change when logging sound.
- 2005-03-13 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed win32 compile errors
- TODO:
- - 2 warnings
- - better integration of wsock32 in the buildsystem
- 2005-03-12 Manuel Bilderbeek <manuel@msxnet.org>
- * Added basic code to record openMSX sound to wav file. It is not used
- yet, but one can test it by uncommenting 2 lines.
- * Added soundlog command to start and stop recording of sound.
- There is still a lot TODO - see the comment in Mixer.cc
- 2005-03-12 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added socket support:
- - openmsx now listens to incomming connections on TCP/IP port 9938
- when a connection is established the same communication is
- possible as with the CliComm stuff over stdio
- - For the moment port 9938 is open for everyone: security hole!
- Sockets should be explicitly enabled and by default only for
- local connections
- 2005-03-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed various warnings:
- - doxygen warnings
- - compiler warnings while compiling with -Wall -Wextra
- - previous compiler warings with also -DNDEBUG
- 2005-03-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added HQ2xLite scaler:
- Resulting image is close to hq2x but can be calculated a lot faster
- See comments at the top of HQ2XLiteScaler.cc for details.
- * Changed include guards from __FOO_HH__ to FOO_HH:
- Identifiers that contain a double '_' or that start with a '_'
- are reserved for system headers. Currently our include guards work
- but it might give problems in the future.
- 2005-03-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * HQ2xScaler speedup
- 2005-03-05 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.5.1.
- 2005-03-05 Manuel Bilderbeek <manuel@msxnet.org>
- * Added Sony HB-F1II config and corrected HB-F1 config.
- 2005-03-05 Maarten ter Huurne <maarten@treewalker.org>
- * Added support for Checkmark FM Stereo PAK.
- The stereo effect is not yet emulated, but it works fine in mono.
- Thanks to Albert for the config XML.
- 2005-03-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Also accept the enter key on the numerical pad in the console
- 2005-03-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * In deinterlace mode render always two consecutive frames:
- When every other frame is skipped deinterlacer worked on 1 new
- frame and 1 very old frame. Fixed by rendering (not necessarily
- drawing) always two consecutive frames.
- 2005-03-03 David Heremans <david.heremans@gnu-linux.net>
- * Replaced 'fallback LEDs' with variant of set1
- 2005-03-02 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Last minute db format change:
- type for normal roms is now structured like this
- <rom> <type>normal</type> <start>0x4000</start> ... </rom>
- * romtypes should start with capital (e.g. 'Normal' iso 'normal)
- 2005-03-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Don't send LED events when LED status didn't change:
- fixes the slowdowns in sphere
- 2005-02-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed warnings while compiling with -Wextra (all harmless)
- 2005-02-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * video code was not exception safe, fixed it:
- - when an excpetion was thrown some objects were not deleted or
- even deleted twice
- * Accept sha1sums in db in both upper and lower case
- * Fixed debug reading from ioports
- 2005-02-27 Manuel Bilderbeek <manuel@msxnet.org>
- * Also check if <rom> entries have a <type> child. Fixes Synthesizer.
- 2005-02-26 Patrick van Arkel <sf@vampier.net>
- * Updated the softwaredb.xml thanks to Mars2000you for providing
- an updated version of his rom list.
- 2005-02-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Renamed new db to softwaredb.xml
- * added new db:
- thanks a lot to Vampier for creating the new db and tools
- 2005-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * fixed cassette WavImage DC correction:
- forgot to properly clip signal
- 2005-02-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Replaced 'plain' mapper type with 'mirrored' and 'normal', makes it
- easier to implement the new database mapper types:
- - for backwards compatibility 'plain' is treated as an alias for
- 'mirrored'
- - it's also possible to specify the start address of the rom like
- this 'mirrored4000', 'normal8000', ... (start address must be
- a multiple of 4000)
- * Fixed parsing of romtype for 'plain' roms in database
- 2005-02-19 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Update for new romdb
- 2005-02-19 Manuel Bilderbeek <manuel@msxnet.org>
- * Updated the manuals a bit more, regarding C-BIOS 0.20 and support
- for Mac OS X and OpenBSD. Maarten, please check and fix if needed.
- 2005-02-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented frameskip for gfx9000:
- I mostly copied code from V99x8 renderer, we might want to factor
- this common code out in the future
- 2005-02-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added locking to EventDistributor:
- There was a race in EventDistributor (long time already).
- Today I got a crash because of this race (irreproducible),
- so apparently it's hard to trigger. I hope it's fixed now.
- * More P1 mode performance tweaks
- 2005-02-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed sprites in P1 mode:
- - Erik did all the hard work, I just had to fix one line ;-)
- - Battle Bomber works now!
- * Fixed color of backdrop color in P1 mode
- * Optimized P1 rendering a bit:
- just some tweaks, algorithm needs to change for really better
- performance (Eric already has some ideas I believe)
- 2005-02-16 Eric Boon <e.boon4@chello.nl>
- * Initial implementation P1 sprites (~15 fps :-/)
- - HiSpec Snowfall demo shows wrong sprite patterns
- 2005-02-14 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed more compiler warnings (all harmless):
- compiled with gcc version 4.0.0 20050212 (experimental)
- * Initial support for new rom database format:
- - both old and new format are supported
- - support for new format is very minimal, for example
- lang="xx" attributes are ignored
- 2005-02-13 Maarten ter Huurne <maarten@treewalker.org>
- * Added build support for OpenBSD (3.6 RELEASE, to be exact).
- Thanks to Ariane for testing!
- * Updated C-BIOS to 0.20, including new directory structure.
- 2005-02-13 Manuel Bilderbeek <manuel@msxnet.org>
- * Rerenamed ROM types that we already agreed on for the new standard
- 2005-02-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed compilation errors / warnings when compiling with gcc-4.0(exp)
- 2005-02-09 Manuel Bilderbeek <manuel@msxnet.org>
- * We forgot to replace "brokenFDCread" by "broken_fdc_read" in about
- 17 different config files, before 0.5.0! OOOPS!
- 2005-02-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Reduced the 'black flashes' in SDLGL renderer:
- see comments in Display::repaintDelayed() for details
- * Fixed switching renderer while in overscan mode
- (bug was introduced by me two days ago)
- 2005-02-07 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added 'none' icon set
- * Fixed a (the?) 'pure virtual method called' bug:
- an Alarm object was deleted in main thread while it was
- executing in another thread
- 2005-02-06 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed CPU tracing (patch created by Maarten)
- * Fixed(?) sporadic crash when switching renderer on MSX1:
- - this is quick fix, needs more work after release
- - needs lots of testing
- 2005-02-05 Manuel Bilderbeek <manuel@msxnet.org>
- * Split Philips VG 8020 config in VG 8020 and VG 8020/20.
- Penguin Adventure works on both now, when using the right ROMs.
- Thanks to Hans Otten for his kind assistance
- 2005-02-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed all warning when compiling with icc
- * Fixed V9990 palette initialization when switching renderer
- (sdlhi <-> sdllo)
- 2005-02-03 Manuel Bilderbeek <manuel@msxnet.org>
- * Added extension for MSX-AUDIO 2. This is an Y8910 on the alternative
- I/O ports (C2/C3), without the MIDI part of the Music Module
- 2005-02-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed harmless(?) UMR in AY8910 code
- 2005-02-02 David Heremans <david.heremans@gnu-linux.net>
- * Fixed a minor announce in the load_icon tcl script
- and added extra SDLLo checks
- and a TCL hint from Wouter
- 2005-02-01 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * documented icon related settings
- * Fixed 13-bit MSX-AUDIO DAC
- 2005-02-01 David Heremans <david.heremans@gnu-linux.net>
- * An extra set of LED images.
- * Enhanced the load_icon tcl script
- 2005-01-31 David Heremans <david.heremans@gnu-linux.net>
- * Changed default led settings
- 2005-01-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented V9990 SRCH command
- * XIMM bits (R#6) are ignored in Px modes
- * Implemented V9990 BMLL command
- * BMLL is always done on interleaved VRAM
- * Fixed V9990 VRAM interleaving:
- together with previous item fixes scrolling in power basic
- 2005-01-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * When a new settings is created and a TCL variable with the same name
- is alreday defined, then take this value as initial setting value:
- fixes icon stuff defined in init.tcl when openmsx is started with
- enderer none (-control mode)
- * Only use one .filecache file for all rom pools:
- this file is put in the (writable) user directory
- 2005-01-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Extended "disk[x]" console command to accept IPS patches:
- diska <dsk> [<ips1> [<ips2> [..]]]
- 2005-01-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Allow IPS patches for disk images:
- only on the command line, not yet in the console
- * Allow multiple IPS patches on the same rom/disk
- 2005-01-27 David Heremans <david.heremans@gnu-linux.net>
- * Updated the LED images.
- 2005-01-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Don't save "mute" setting, at least not until we have an OSD
- indication for this
- 2005-01-26 Manuel Bilderbeek <manuel@msxnet.org>
- * Updated documentation. TODO: MacOS X and C-BIOS stuff
- 2005-01-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Machine code executes faster is loop is aligned (on 16 byte boundary
- for athlon CPUs):
- I measured 1.5% speedup because of this
- 2005-01-24 Manuel Bilderbeek <manuel@msxnet.org>
- * Made a separate extension for MegaRAM Disk
- * Updated ROM types to new names in romdb.xml; also commented out some
- useless ROMs, because they only occur inside machines or extensions
- 2005-01-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed Clock<> constructor:
- rounding is not needed(?) it's even wrong
- * Fixed tab-complettion for consolebackground
- 2005-01-22 Eric Boon <e.boon4@chello.nl>
- * First steps towards V9990 P2 mode
- * Some P1 fixes
- 2005-01-21 Eric Boon <e.boon4@chello.nl>
- * First steps towards V9990 P1 mode
- 2005-01-20 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed some valgrind stuff (UMR, FMR)
- 2005-01-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented V9990 IRQ stuff:
- not completely correct yet, but good enough to make the xor-demo
- work
- 2005-01-17 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Removed more #include dependencies
- * Fixed compilation errors on icc
- * Added missing #ifdef ASM_X86:
- should fix compilation on non-x86 machines
- 2005-01-15 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Refactored XMLElement related classes:
- preparartion to fix the 'order of construction of settings'
- problem (e.g. inputdelay)
- * Reenabled "inputdelay" setting
- * Implemented "load_settings" command:
- only the settings / keybindings / keyjoystick that are mentioned
- in the new settings file are changed, the rest stays unchanged
- * Implemented "escape_grab" command
- 2005-01-13 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Various small cleanups:
- mostly use auto_ptr to break #include dependencies (for non time
- crititical classes)
- * Also grab input when "grabinput" settings was already "true" when
- openmsx is started
- 2005-01-11 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Lookup original filename inside zip/gz for filetype detection:
- this fixes [ 1072797 ] Detect extensions if i use a zipped file too
- * Implemented rotational delay for WD2793:
- fixes [ 905031 ] Graphic problem in Peach up
- 2005-01-10 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed gfx9000 border color
- 2005-01-08 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Z80 speedup:
- union optimization is actually a pessimization on modern CPUs (and
- an optimizing compiler)
- * Fixed [ 823686 ] console is included in frameskip and speed setting:
- also fading of console and LEDs was wrong
- 2005-01-05 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Changed command line parsing of IPS files and rom type:
- - There are two new options "-ips" and "-romtype" these must
- immediatly follow a ROM option. Examples:
- openmsx -carta USAS.ROM -ips USAS.IPS -romtype konami
- openmsx USAS.ROM -romtype konami -ips USAS.IPS
- openmsx -cart USAS.ROM -romtype konami
- openmsx USAS.ROM -ips USAS.IPS
- - The old format <romfile>,<mappertype> is still supported but is
- deprecated, it will be removed in future versions. The temporary
- format <romfile>,<mappertype>,<ipsfile> is already removed. It
- gives parsing problems in case of filenames that contain ','
- itself.
- 2005-01-04 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed initialisation of clock in autofire circuit.
- 2005-01-04 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Split Display.xx files in Display.xx and Layer.xx
- * Moved fps code from (V99x8) Renderer to Display:
- "openmsx_info fps" now also works for gfx9000
- * Icon fade parameters can now be configured per icon image:
- for example it's now possible to never fade out an active FDD LED
- * Fixed crash when settings.xml had empty or invalid consolebackground
- * Added some LED images (drawn by David) and a script to load them
- 2005-01-03 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented deinterlace for V9990
- * Better frameskip implementation (skip more code)
- * Don't draw V99x8/V9990 when V9990/V99x8 is active
- * Made special videosource setting:
- don't allow to select gfx9000 source without gfx9000 extension
- 2004-12-31 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed V9990 palette read-out
- * Completed V9990 YUVP and YJKP modes (palette part was missing)
- * Integrated blueMSX' HBI-55 improvements. Thanks Daniel!
- 2004-12-30 Eric Boon <e.boon4@chello.nl>
- * Fixed dOxygen warnings
- 2004-12-30 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed bug in V9990 cmds (address masking bug):
- underwater demo works now!
- * Support V9990 screen enable/disable bit
- * Implemented cursor in V9990 Bx modes
- 2004-12-29 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Added v9990cmdtracing setting
- 2004-12-28 Eric Boon <e.boon4@chello.nl>
- * Improved V9990 simple scaler
- Fixes 'no V9990 updates' problem in M$ Windows
- 2004-12-28 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented V9990 LINE command:
- MSX3D works now
- * Implemented V9990 CMMC command
- * Fixed V9990 cmd engine bug that could cause blue colors in 16bpp mode
- 2004-12-27 Eric Boon <e.boon4@chello.nl>
- * Introduced FinishFrameEvent for V9990
- 2004-12-27 Manuel Bilderbeek <manuel@msxnet.org>
- * Rom type naming clean up part 1. TODO: romdb.xml, class/file names
- 2004-12-27 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Implemented "openmsx_info romtype" command:
- only the code, no actual descriptions yet
- * Split rom type names in standard names and alternative names:
- preparation for rom type naming cleanup
- * support for write mask in V9990 commands:
- gfx9000 parts in calculus work now!
- * Fixed "debug break" command
- 2004-12-26 Eric Boon <e.boon4@chello.nl>
- * Improved V9990 YUV and YJK modes:
- copied bitmap conversion from V99x8 code
- 2004-12-26 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Integrated Adriano's MegaRAM diskrom patch
- * Fixed bug in reading from compressed files:
- zipped IPS files work now
- * Fixed (harmless) assert that got triggered on exit when IO ports
- were shared
- * Changed invalidateCache() method:
- - 2nd argument is now size in bytes iso in number of cachelines
- this loosens the dependency on the CPU class
- 2004-12-25 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Fixed crash on missing LED icon files
- 2004-12-24 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * More V9990 stuff
- - implemented interlace modes (no de-interlacing yet)
- V9BMP shoud now work completely
- - made palette debuggable
- - read palette registers hack to make calculus work
- - stubbed unimplemented cmds
- - implemented PSET cmd shifter:
- shifter part in calculus now shows something, colors are still
- wrong because of missing WriteMask(?) in commands
- - implemented CMMM cmd (but not verified that it actually works)
- - added BMXL and BMLX cmds (still have bugs though)
- - implemented horizontal scrolling, not per-pixel and no rolling
- yet, but enough for page-flips
- 2004-12-23 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Tried to make the gfx900 parts in calculus work (not yet succeeded)
- - implemented LMMM command
- - added very basic HR, VR status bit support
- - bugfix in LMMC command
- 2004-12-22 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * simple (slow) implementation of V9990 LMMV command
- 2004-12-21 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * a few V9990 fixes:
- - unimplemented cmds should still finish
- - implemented CE and TR status bits
- - YUV, YJK conversion formula's were wrong
- U and V are 6 bit signed and resulting R G B values must be
- clipped to 0 .. 31
- autumn.g9b (YUV image) still looks wrong though
- 2004-12-18 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Cleanup/optimize V9990BitmapConvertor
- * Store V9990 palette as GRB iso RGB:
- - format in V9990 video RAM is also GRB, emulation is faster
- if both use the same format
- 2004-12-16 Wouter Vermaelen <wouter.vermaelen@scarlet.be>
- * Turn off all LEDs when MSX is powered down
- 2004-12-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Large cleanup:
- - prefer not to use the 'using' statement in header files,
- in implementation files it is ok
- - removed unnecessary #include statements
- * Use FilenameSetting iso StringSetting for all filenames:
- previously it was only possible for already existing files
- * Fixed UMR in WD2793 formatting routine
- 2004-12-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed TurboR DRAM support, TRCAS works now
- 2004-12-12 Manuel Bilderbeek <manuel@msxnet.org>
- * Removed the annoying [alpha] notice. It's clear enough we're alpha...
- :)
- 2004-12-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * x/y-coord and on/off-image of the LED icons can be configured
- * icon fade delay and duration can be configured
- 2004-12-09 David Heremans <david.heremans@gnu-linux.net>
- * replaced the ips-patch separator. It is now also the ','-sign
- and updated the documentation
- 2004-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Refactored setting code:
- - redesigned class structure: settings no longer need to be
- non-inheritable
- 2004-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed (+ cleanup) IPS patch code
- 2004-12-04 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Made a quickfix for romloading in windows. Using another character
- for ips-patch separator would be highly recommended. ':' is used
- between drive and path in Windows.
- 2004-12-03 David Heremans <david.heremans@gnu-linux.net>
- * Added more code for IPS patcher, but it is not yet functional.
- 2004-12-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added fading to console
- 2004-12-01 David Heremans <david.heremans@gnu-linux.net>
- * Preparations for integrated IPS patcher
- * Replaced the test OSD leds with something more fancy that shows the
- alpha channel of the png better
- 2004-12-01 Maarten ter Huurne <maarten@treewalker.org>
- * Moved coverage and z-index from LayerInfo into Layer.
- This also fixes an undefined memory read when Display is destructed.
- 2004-11-29 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed base port of debug device.
- 2004-11-29 Eric Boon <e.boon4@chello.nl>
- * Fixed broken build for non-GL systems
- * Improved V9990 Command engine a bit
- 2004-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Major CPU cleanup:
- replaced macro hack with c++ templates
- * Reduced size of internal mixer buffer:
- - should reduce sound latency a bit
- - sound quality seems not affected, but it needs a lot more
- testing. So please test!!!
- 2004-11-27 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented a fallback for the detectGeometry function in Disk for
- sectorbased disk images. Fixes booting of SVI-738 CP/M disk, which
- doesn't have a valid MSX bootsector :)
- 2004-11-26 Eric Boon <e.boon4@chello.nl>
- * Add V9990 Command Engine
- * Implemented LMMC
- 2004-11-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Merge romdb.xml in user and system dir
- 2004-11-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Changed buffer managment in sound code:
- - Mixer now allocates/deallocates buffers iso the sounddevice
- - preparation for run-time changeable frequency/samples settings
- * Changes to 'frequency' and 'samples' settings takes immediate effect,
- no longer needed to restart openMSX
- * Value of 'samples' setting must always be a power of 2
- 2004-11-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Only send events on actual changes:
- * Use different image for led on/off, fade out the image if it doesn't
- change for some time
- 2004-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Experimental: alternative Mixer implementation
- - generate audio in main emulation thread
- - CPU-timed samples sound much better now (turbor PCM,
- PSG samples, ..)
- 2004-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Initial version of OSD LEDs:
- very minimal version, it uses
- <openmsx-dir>/share/skins/led.png
- for all LEDs. Icons are still shown at fixed positions
- 2004-11-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * cleanup dasm code:
- * fixed 'cmdtiming setting'
- * use events for LEDs:
- preparation for OSD leds
- 2004-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved WD2793 timing:
- added 15us delay between data read/write in sector read/write cmds
- 2004-11-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Enabled "cputrace" setting also in non-debug versions:
- - There should now be very little overhead when tracing is not
- enabled. Before it was 1 if per Z80 instruction.
- 2004-11-08 Joost Damad <joost@lumatec.be>
- * updated debian/rules: fixes by Goedson Teixeira Paixao
- 2004-11-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * a few small improvements
- * clear ram on power off/on
- 2004-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Moved speed and throttle setting to GlobalSettings:
- as cleanup and as preparation for Mixer changes
- * Changed float to double everywhere:
- On modern CPUs doubles and float are equally fast. However mixing
- floats and doubles in the same expression is slower because of the
- extra conversions. In some places we need the extra precision, so
- using double everywhere is the easiest (and faster).
- If you have large datasets floats can be faster than doubles. Not
- because of faster calculation, but because of less memory transfers
- (float 4 bytes / double 8 bytes). For openMSX this doesn't matter.
- 2004-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed Disk and Tape BIOS patches
- * Fixed cassetteplayer noise
- 2004-11-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * small VDP fix:
- missing sync() on r#7 change in GRAPHIC7 mode with screen disabled
- 2004-10-31 Maarten ter Huurne <maarten@treewalker.org>
- * At end of HMMC and LMMC, TR should not be reset.
- * Reading and writing the COL register should reset TR.
- * VR status flag flips at start of left border.
- 2004-10-26 Eric Boon <e.boon4@chello.nl>
- * Improved V9990 displaying:
- - proper PAL & NTSC imaging in Bx modes
- 2004-10-25 Maarten ter Huurne <maarten@treewalker.org>
- * Non-maskable interrupt (NMI) implementation:
- - was half implemented already; now it's fully implemented
- - moved edge detection from old nmiEdge() to new raiseNMI():
- an NMI request could get lost if the NMI line was raised and
- lowered within 1 CPU instruction (a mostly theoretical case)
- - IRQHelper can raise either IRQ (maskable) or NMI
- - this is preparation for ColecoVision support
- * Moved MC6850 from "sound" directory to "serial" directory.
- 2004-10-23 Maarten ter Huurne <maarten@treewalker.org>
- * Removed slow_drain_on_reset RAM configuration parameter.
- All our current configurations had it set to "false".
- And we don't really know how the drain works nor what should be
- considered "slow".
- * Removed <slow_drain_on_reset> from the configuration XML files.
- 2004-10-22 Maarten ter Huurne <maarten@treewalker.org>
- * Added build support for NetBSD.
- Based on a patch submitted by xtraeme, see bug 1052115.
- 2004-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reused MMX optimized routines in Deinterlacer
- 2004-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed SETetisDongle: unused bits should be 1 iso 0
- * reenabled "I/O ports" debuggable, but renamed to "ioports"
- * added MSXDevice::peekIO() method:
- - Reading from ioports debuggable no longer influences emulation
- state
- - Not yet implemented for all devices (not for V99x8, V9990 and
- MSXAudio). For these devices peekIO() returns 0xFF
- 2004-10-19 Joost Damad <joost@lumatec.be>
- * sync with debian/
- * updated manpage and control file
- * support for cleaning up CVS/ dirs for "install" and "dist"; still
- commented out
- 2004-10-18 Eric Boon <e.boon4@chello.nl>
- * GFX900 emulation
- - Bx modes & belonging palettes
- - start of SDL Rasterizer, dummy GL rasterizer
- 2004-10-18 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.5.0.
- 2004-10-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * forgot some "up"->"release" renames
- * Added MMX optimizations in Scale2x scaler
- 2004-10-17 Maarten ter Huurne <maarten@treewalker.org>
- * Separated frameStart and frameEnd for SpriteChecker.
- Fixes asserts when using "none" renderer.
- 2004-10-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved TC8566AF timing:
- - based on code from BlueMSX written by Daniel Vik
- - fixes corrupt gfx in "Swiss Demo" and "Gazzel"
- * For the renderer setting, take the value found in settings file (if
- any) as default value:
- - this fixes the "Catapult always uses SDLHi" problem
- * Also recognize zip files with extension ".ZIP" (uppercase)
- * Fixed reading 1st FAT sector in detectGeometry() routine
- * Fixes in Command Line Parser:
- - stuff like
- openmsx -h -machine turbor and
- openmsx -v -ext scc
- works now
- - code is not very clear, should be rewritten after release
- * Created V9990DummyRasterizer:
- - fixes crash when renderer "none" was selected when gfx9000
- extension was plugged in
- * Added scripts/cycle.tcl
- * Added workaround for "renderer none bug":
- need to investigate this after further the release
- * Renamed "up" and "down" key modifiers to "release" and "press":
- names conflicted with the "up" and "down" cursor keys
- 2004-10-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed coredump on missing arguments on the command line:
- e.g. "openmsx -diska"
- 2004-10-14 Maarten ter Huurne <maarten@treewalker.org>
- * Added default key binding: ALT-Enter for full screen.
- Windows users are familiar with this hotkey.
- * Fixed bug: search for TCL again on every "make probe".
- 2004-10-13 Maarten ter Huurne <maarten@treewalker.org>
- * Disabled "I/O ports" debuggable:
- - it reads I/O ports with side effects, which can trigger assertions
- - the name "I/O ports" is not suitable as a file name for "save_all"
- We can re-enable and then fix it after the release.
- 2004-10-13 Joost Damad <joost@lumatec.be>
- * import of debian/
- * some non-intrusive changes to the build/ dir
- * Contrib moved when installed to share/
- * bad timing of changes :(
- * not softlink, but symbolic link
- 2004-10-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Correctly restore saved cpu freq settings:
- - When z80_freq_locked was saved as 'false', you had to do
- set z80_freq_locked true ; set z80_freq_locked false to
- really get the wanted behaviour.
- - Thanks to patatof for reporting this bug.
- 2004-10-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * fixed scc and Panasonic_FS-CA1 extensions:
- mappertype tag was moved
- * DirAsDsk fix:
- - check for null ptr from localtime()
- - this fixes (not verified) a crash in win32 when DisAsDsk is used
- with files with weird dates (1913-11-16 or 2023-08-07)
- 2004-10-10 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed assert in SimpleScaler when interlace is on and deinterlace
- is off.
- 2004-10-10 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed getting user dir when "My Documents" is set to the
- root of a drive in windows.
- 2004-10-09 Maarten ter Huurne <maarten@treewalker.org>
- * test release openmsx-0.5.0-test2 (Bussum 2004)
- 2004-10-08 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed crash if openMSX exits without starting emulation.
- * Ignore old-format settings.xml at startup instead of aborting.
- * Fixed help option if no settings.xml exists.
- 2004-10-07 Manuel Bilderbeek <manuel@msxnet.org>
- * Renamed save_settings_at_exit to save_settings_on_exit
- * Renamed FrontSwitch to FirmwareSwitch everywhere in the code
- 2004-10-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed crash on exit in FreeBSD:
- - was order of destruction of global objects problem
- * Fixed Screenshot code in 16bpp:
- conversion routine to 24bpp read 2 bytes outside the array.
- Although it didn't actually use these bytes, it could trigger a
- segfault. Fixed by using the SDL convserion routines (probably
- faster as well).
- * Don't plug printer logger with an invalid log file
- 2004-10-06 Manuel Bilderbeek <manuel@msxnet.org>
- * Renamed frontswitch to firmwareswitch
- 2004-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Only allow existing machines to be selected with machine setting.
- * Fall back to "cbios-msx2" when the selected machine no longer
- exists.
- * Removed warning for missing settings.xml
- 2004-10-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * saving_settings didn't work when file didn't exist yet
- * updated all machine configurations to new file format:
- thanks to mth for writing the convertor script!
- * test release openmsx-0.5.0-test1
- * fixed sprite color bug:
- in planar modes the sprite color table was not read correctly (bit
- masking error)
- 2004-10-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't use exceptions to report unconnected drive in ready() method:
- - this was quite heavily used in the MSX boot sequence, and caused
- 100% CPU usage for several seconds.
- * Increased speed of type command
- * Moved location of <mappertype> tag to a more logical position
- * <PanasonicRom> tag needs an id attribute to give a warning in case
- the SHA1 doesn't match
- * default binding for pause key must be "toggle pause" iso just "pause"
- * renamed <MapperType> tag to <MapperReadBackBits>
- * Check the DOCTYPE SYSTEM part when reading in xml files
- 2004-10-03 Maarten ter Huurne <maarten@treewalker.org>
- * Updated configuration converter.
- 2004-10-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed simple
- * Don't autodetect mapper type for roms in machine configs
- * Oops, the guessLocation routine in RomPlain still used the old
- config format:
- this broke the firmware on some machine (e.g. Panasonic FS-A1F)
- 2004-10-03 David Heremans <david.heremans@gnu-linux.net>
- * Fixed Tetris 2 special edition dongle
- 2004-10-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Force PSG portA to be programmed as input port:
- some programs (e.g. Match Maniac) wrongly program portA as output,
- but on most(?) MSX machines this works normally (e.g NMS8250)
- * Fixed initial value of mode settings
- * correctly give "write protected" err msg on read only disk:
- without the head loaded delay our WD2793 detected too fast that the
- disk was write protected (too fast for the disk rom software)
- * assertion in Clock was a bit too strict:
- very low clock frequencies (~1Hz) are not allowed (because we use a
- 32bit variable iso 64 bit for speed). But the assertion was already
- triggered by frequencies around 100Hz. Renshaturbo circuit uses
- such low frequencies.
- 2004-10-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved disk geometry detection heuristics
- * Fixed save_settings command:
- - when settings were loaded from system wide settings.xml file, save
- them to user settings.xml file
- - when settings were loaded from a user specified settings file,
- save them to that file
- * fixed quoting in tab-completion:
- the chars [ ] $ must be quoted in TCL
- * use xmlFree() iso free() to release memory from libxml
- 2004-09-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed the MSXConfig::loadConfig method that was resposible for the
- media settings bug. It's no longer used now.
- * Fixed type commando:
- sometimes the first chr was missed
- * Fixed "-setting" command line option:
- Settings were loaded wrong when the -setting option was given. Was
- a problem in the order of creation of settings (no settings may be
- created before the settings.xml is loaded). Current code is a bit
- fragile in this respect. Refactor it after the release.
- 2004-09-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed settings.xml from CVS
- * media settings (diska, diskb, cassette) were wrongly saved:
- - once a "save_settings" command was executed with a disk inserted
- from the commandline this disk was always used, even if in the
- next run a different disk was specified.
- - should media settings be saved? Current (fixed) implementation
- does not save them to not break catapult. But should they be
- saved in the future?
- 2004-09-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Moved default keybindings from init.tcl to HotKey code
- * Updated commands.txt
- * Use built-in default values for KeyJoystick in case the config
- section is missing in the settings file
- 2004-09-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Use #ifdef iso if around asm routines
- * Added normal-MMX (non-ext-MMX) routines for every ext-MMX routine
- * Made a setting for "user directories"
- * Simple scaler 16bpp scanline optimization:
- - added ext-MMX routine, improves speed from 69s to 51s
- 2004-09-26 Arnold Metselaar <arnold_m@operamail.com>
- * Let Keyboard and KeyJoystick release all keys when the console
- becomes active.
- 2004-09-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't print "couldn't find file" warnings on startup
- 2004-09-26 Maarten ter Huurne <maarten@treewalker.org>
- * At end of HMMC and LMMC, CE is reset immediately, but TR is reset
- the next time S#2 is read.
- Fixes Andorogynus.
- Thanks to the anonymous poster on our forum who pinpointed the change
- which made this bug surface first. Even though reverting that change
- was not a solution, it did point to the HMMC command timing being the
- problem.
- 2004-09-24 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed assert in Mixer on unmute if initial state was muted.
- * Load settings file specified with "-setting" from UserFileContext,
- but load the files it refers to using SystemFileContext.
- Fixes console look when openMSX is started with "-setting" option.
- 2004-09-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Take default settings value when saved value is no longer valid
- * Integrated blur scaler and simple scaler:
- 2004-09-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented TC8566AF format command:
- based on code from BlueMSX written by Daniel Vik
- * Don't save soundchip mode setting:
- it gave conflicts with the mode setting in hardwareconfig.xml
- 2004-09-23 Maarten ter Huurne <maarten@treewalker.org>
- * Initialise I register to 0, instead of 0xFF.
- Fixes Pennant Race bug.
- Thanks to Daniel Vik for finding the cause!
- 2004-09-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added "save_settings_at_exit" setting
- 2004-09-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Initialize the msx sound devices even if there is no openMSX sound:
- - solves UMR (and possibly crashes) in case openMSX is started with
- "-nosound" or for some reason sound is not available
- 2004-09-19 Maarten ter Huurne <maarten@treewalker.org>
- * Cleanup of layer system, continued:
- - put common code in new VideoLayer class
- - implemented "videosystem" setting
- - implemented SDLV9990Rasterizer, which shows a test pattern
- If you start openMSX with "-ext gfx9000" and on the console type
- "set videosystem gfx9000", you will see the test pattern (SDLHi/Lo).
- There are some bugs left, but I had to commit to keep track of the
- many changes. I'll try to fix the bugs as soon as I can.
- * Do not save "power" and "pause" settings.
- Fixes starting from Catapult.
- * Withhold blocked events from other NATIVE listeners as well.
- Fixes "set console off".
- * Delay reInit when power is turned off.
- Fixes "set power off" in R800 mode.
- * Initialise lineContent in SDLRasterizer's constructor.
- Fixes asserts when switching to SDLHi when paused.
- 2004-09-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Rewrote saving of settings code:
- - All settings are now saved by default, only exception is
- "console" setting. But there are probably more that don't need to
- be saved.
- - settings.xml fileformat has changed again. All settings are now
- saved in a uniform way.
- - Code is a lot simpler now
- * Default rom pools:
- added
- <user>/share/systemroms and <system>/share/systemroms
- as default rom pool locations. The use can still add more pools.
- * Fixed crash on "save_settings" when there was no settings.xml file
- loaded
- 2004-09-18 Maarten ter Huurne <maarten@treewalker.org>
- * Cleaned up layer system:
- - "alpha" was not really alpha, renamed to "coverage"
- - explicit Z value instead of toFront/toBack
- - preparation for V9990 layer
- The cleanup is not finished yet.
- 2004-09-18 Reikan <openMSX4Win32@ranpub.com>
- * Converted the macro __WIN32__ to _WIN32.
- Please use _WIN32 instead of __WIN32__ now.
- _WIN32 is more popular in Win32 compilers.
- Although we require gcc3 for now, it would be safer in future.
- 2004-09-15 Maarten ter Huurne <maarten@treewalker.org>
- * Added new type of event listener (DETACHED).
- * Fixed timing bug in VDP command engine: replaced "clock.advance" by
- "clock.reset" when starting a command. Start time of a new command is
- not ahead of end time of last pixel of previous command if previous
- command was not finished yet.
- Fixes assert in The Ant demo (found by Jorito).
- 2004-09-15 David Heremans <david.heremans@gnu-linux.net>
- * Added the joystick protection of 'Tetris Special Edition II'
- 2004-09-14 Maarten ter Huurne <maarten@treewalker.org>
- * Cleaned up renderer switching in the new layered display system.
- 2004-09-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't assert when there are two Moonsounds (not really usefull, but
- in a real MSX it's also possible to have multiple Moonsounds)
- * Changed settings format for volume/mute settings:
- <volume id="Music Module>75</volume>
- iso
- <Music.20Module_volume>75</Music.20Module_volume>
- The last one needed some ugly hacks (.20) to represent invalid tag
- chrs. It was also not possible to write a DTD for it because the tag
- names depend on user choosable id's.
- 2004-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Bindings are saved in settings.xml
- 2004-09-11 Maarten ter Huurne <maarten@treewalker.org>
- * Return "true" or "false" when printing value of boolean setting.
- Before, it was "on" and "false" (found by Herman).
- 2004-09-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Added iomap command to check what devices is on which I/O port
- 2004-09-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented RTC mode as a setting, is now saveable
- * "set <setting> <newvalue>" now returns the actual new value of the
- setting (e.g. "set gamma -1" returns 0.1 iso -1)
- 2004-09-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * default machine is now configurable via a setting. Of course this
- only has effect when openMSX is restarted. Although in the future
- we may switch machine between a power off/on cycle.
- 2004-09-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Z80 updates:
- - fixed P-flag in OUTI and INI instructions
- - calculate DAA table
- * Blur scaler:
- - small optimization in normal-MMX code (non-extended-MMX)
- - fixed bug when scanline=0 (recent optimization requires
- scanlineAlpha <= 255, not <= 256)
- 2004-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Created "frequency" and "samples" setting:
- Changing this setting only has effect the next time openMSX is
- started (will be changed later, but it requires some refactoring in
- the sounddevices).
- * Implemented "help set [<setting>]" command:
- Since the switch to TCL it was no longer possible to query the
- setting descriptions. Fixed now.
- 2004-09-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Blur scaler speed-up:
- use ext-mmx instructions "pavgb", "pshufw", "pmulhuw"
- * Fixed bug in Z80 OTIR like instructions (bug found by mth):
- fixes equalizer in FDD1
- 2004-09-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Converted more extensions to new config format
- * Allow saving of settings with 'non-xml-tag' characters
- 2004-09-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Allow machines (extensions) descriptions in both
- <dir>/machine.xml
- <dir>/machine/hardwareconfig.xml
- * Converted a few more extensions to new config format
- 2004-09-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * renames in settings.xml:
- "renderer" section --> "video"
- "mixer" section --> "sound"
- * volume and mode (mono, stereo) settings are saved now
- 2004-09-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Refactored settings:
- - creating saveable settings is easier now
- - settings.xml format changed slightly: tag name is now the same as
- the name of the setting. So if you're not using the default
- settings.xml file you need to make at least changes
- <font> --> <consolefont>
- <background> --> <consolebackground>
- <renderer> <renderer>
- <type> --> <renderer>
- 2004-08-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Renderer settings can be saved now
- 2004-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Simplified console code
- * All console settings are saved now
- 2004-08-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed Uncaught exception on "openmsx -v"
- 2004-08-28 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed bug when palette index 0 is written and transparency is enabled.
- This bug was visible as gray rectangles in the Gazzel intro.
- 2004-08-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added 16bpp MMX simple scaler routines
- * Proof-of-concept: saving of settings (settings.xml)
- - added a new command "save_settings". There is no autosave at exit
- yet.
- - for the moment only very few settings are actually saved. Only
- consolecolums, consolerows, consoleplacement
- 2004-08-27 Manuel Bilderbeek <manuel@msxnet.org>
- * Added initial version of the openMSX FAQ: not finished at all,
- please edit!
- 2004-08-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * BlurScaler 16bpp improvements:
- - use look up table instead of (complex) computations. Is almost
- twice as fast. Also used 10-bit precision iso 8-bit, so less
- rounding errors.
- 2004-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't copy HostCPU
- * Improved MMX code. I measured between 1% and 2% speedup:
- - a block of memory reads followed by a block of memory writes is
- faster than interleaved read and writes. Probably because write
- combining works better this way (larger bursts on the bus).
- Loop unrolling made this grouping possible.
- - Rearranging instructions (especially mul instrcutions) also gave
- a nice speedup. This was also possible because of loop unrolling.
- 2004-08-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Changed blur scaler for 16bpp:
- - do calculations in 24bpp mode to avoid visible rounding errors
- (not tested)
- 2004-08-24 Maarten ter Huurne <maarten@treewalker.org>
- * Moved screenshot code from VDP to Display.
- * Added extended-MMX versions of non-scanline scaling in 256-wide modes
- and both scanline and non-scanline scaling in 512-wide modes.
- Still only 32bpp.
- * Sound device cleanups:
- - Removed "user mute" which was unused.
- - Renamed "internal mute" to just "mute".
- - Mixer checks isMuted() instead of updateBuffer returning NULL.
- - Make sure reset() is called before registerSound().
- Right now this doesn't really matter, but it is needed once we allow
- runtime insertion of extensions.
- * Refactored PSG:
- - Code in C++ style and easier to read.
- - Slight improvements in accuracy, probably inaudible though.
- - Some optimisations, but not enough profiling done yet to see whether
- they really matter.
- 2004-08-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * 'set consolebackground ""' now removes the background image
- * Don't use MSX pause LED for openMSX pause status, instead send a
- (new) pause event.
- 2004-08-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed assertion on "openmsx ok.dsk wrong.dsk"
- * Optimization: don't use TurboRCPUInterface on non-turboR machines
- 2004-08-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed XML configuration stuff for IDE
- 2004-08-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added "-nosound" command line option:
- - main raison to add it was faster profiling. Audio thread takes
- 50% of the time when running (far from realtime) under cachegrind,
- even though the sound was muted in openMSX.
- * Initialize SDL AUDIO subsystem:
- - AUDIO subsystem was never initialized. Apparently this isn't
- needed for Linux / Windows. But some platforms probably do need
- it.
- * Fixed "after time" and "after idle" console commands
- * CPU cleanup: removed historical cruft
- * Merged CPUInterface and MSXCPUInterface classes:
- - get rid of virtual method calls, and (possibly) inline them
- - code was written like this to be able to use the same CPU code
- also for the CPU in the MidiSaurus cartridge. If we still want
- to implement this, we should templatize the CPU class with on
- the CPUInterface instead.
- 2004-08-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made tiny optimization in DynamicClock, however this gave a speedup
- of about 1.5% because this class is _heavily_ used in the CPU code:
- * Increased minimum CPU clock freq to 1MHz:
- - the new DynamicClock implementation can't handle very slow clock
- rates (slow meaning ~1Hz). But even before this change a clock of
- 100kHz didn't work correctly, I'm not sure why.
- 2004-08-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added MMX optimizations for blur scaler
- 2004-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added new 'blur' scaler:
- - this scaler implements the same blur effects as the SDLGL
- renderer already does (but then in software)
- - only tested with 32bpp, can someone please test 16bpp?
- - can still be heavily optimized using MMX assembly
- 2004-08-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Extended Scale2x scaler for hi-res modes (screen 6 and 7)
- 2004-08-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Extended hq2x scaler for hi-res modes (screen 6 and 7)
- 2004-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed CoRoutine stuff from CVS, it's no longer used
- 2004-08-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Allow multiple times the same extension (make id's unique)
- * ROM title (from romdb) is again visible in slotmap
- 2004-08-06 Maarten ter Huurne <maarten@treewalker.org>
- * Avoid syncs when VDP state changes when display is blanked and
- the border colour is not influenced by the state change.
- This allows the scaler to draw border lines more efficiently.
- * New feature in build system: version executables.
- See VERSION_EXEC in build/custom.mk (off by default).
- 2004-08-03 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed ROMBAS mapper for 8K ROMs.
- Eat Blue! now works if you load it with "eatblue.rom,rombas".
- * Improved ROMBAS detection.
- Eat Blue! now works without forced mapper type as well.
- 2004-08-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed some bugs I introduced yesterday
- * Another bug fix: HALT instruction was broken
- 2004-08-01 Maarten ter Huurne <maarten@treewalker.org>
- * Initial build system support for x86_64.
- No optimised compile flags yet.
- MMX code is disabled on x86_64 for now.
- 2004-08-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed CoRoutines again. Instead reversed the calling-sequence
- between MSXCPU and Scheduler:
- Previously the Scheduler scheduled both CPU and other stuff.
- Because of this the CPU needed to be able to pass control back to
- the Scheduler in the middle of a Z80 instruction. In the past we
- solved this by either:
- - Splitting all Z80 instructions in atomic parts and made the
- code resumable at a sub-instruction level
- --> very complex CPU code
- - call the scheduler (recursivly) from within the CPU code
- --> too complex CPU <-> Scheduler interaction, we had too
- many bugs related to this
- - Use CoRoutines to pause/resume the CPU code
- --> was only an experiment, stopped the experiment very early
- because I think the current solution is much simpler
- In the current solution we call the Scheduler from within the CPU
- (iso the other way around). Pausing/resume CPU code is now done by a
- simple function call.
- New code still needs cleanups, but I wanted to check it in early
- beacuse the CoRoutine stuff didn't compile yet on win32 (although
- it was easy to fix).
- * Use "string::size_type" iso "unsigned" in STL string manipulations:
- on x86_64 sizeof(string::size_type) is 8 while sizeof(unsigned) is
- only 4
- 2004-07-30 Maarten ter Huurne <maarten@treewalker.org>
- * Added CPU detection.
- Read the Doxygen comments of HostCPU for details.
- For now, debug prints are enabled, please check if dected capabilities
- match what you would expect for your CPU.
- * Added extended-MMX version of SimpleScaler (only 256-wide 32bpp).
- On my machine, it can scale 50% more pixels per second.
- * Added extended-MMX version of Scaler::scaleBlank.
- * Added extended-MMX version of SimpleScaler::scaleBlank.
- * Got rid of named operants: they're not widely supported. GCC 3.0 can't
- handle them according to the docs. GCC 3.2 can handle them according
- to the docs, but crashes (on mingw32). ICC cannot handle them.
- * Made pixel accuracy default.
- We usually have the most realistic option as default. In the past,
- pixel accuracy was too slow in many cases, especially when VRAM I/O
- was causing a lot of syncs. Those were eliminated a while ago for the
- most commonly used display modes.
- If you encounter a program running significantly slower in pixel
- accuracy than in line accuracy, please report it as a bug.
- 2004-07-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Experimental:
- use CoRoutine to simplfy and later optimize CPU / Scheduler
- interaction. Current patch is very minimal: it just adds CoRoutine
- without any optimizations or cleanups.
- 2004-07-25 Maarten ter Huurne <maarten@treewalker.org>
- * Removed support for 8bpp. It never worked anyway.
- 2004-07-24 Maarten ter Huurne <maarten@treewalker.org>
- * Split SDLRasterizer off from SDLRenderer:
- - SDLRenderer deals with EmuTime, is colour depth and zoom independent
- - SDLRasterizer deals with pixels, does not know EmuTime
- * Split GLRasterizer off from SDLGLRenderer.
- * Merged remainders of SDLRenderer and SDLGLRenderer into PixelRenderer.
- 2004-07-23 Maarten ter Huurne <maarten@treewalker.org>
- * Removed all SDL specific code from SDLGLRenderer.
- Maybe I'll rename it to GLRenderer in the future.
- Preparation for GLX renderer.
- * Init and shutdown in VideoSystem subclass, instead of init in
- RendererFactory subclass and shutdown in Renderer subclass.
- Applied to SDLGL, other systems to follow.
- * Applied to SDLHi/Lo and Dummy as well.
- 2004-07-22 Maarten ter Huurne <maarten@treewalker.org>
- * Changed scanline drawing from a post-processing operation to
- an integrated part of the "simple" scaler.
- As a result, drawing with scanlines is now equally fast as drawing
- without scanlines. Probably this means small computations can be done
- in cycles that would otherwise be wasted waiting for memory access.
- 2004-07-21 Maarten ter Huurne <maarten@treewalker.org>
- * Introduced display which manages multiple layers.
- Currently, the following layers exist:
- - background (TV snow)
- - renderer
- - console
- In the future, a second renderer will be added (for GFX9000).
- Also, OSD features are possible (such as status icons).
- The code has some rough edges, but it works.
- * Along the way, fixed console cursor blinking during pause.
- 2004-07-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * a few small fixes
- 2004-07-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * merged MSXDevice, MSXIODevice and MSXMemDevice in one class
- MSXDevice:
- - virtual inheritance can be removed because of this
- 2004-07-18 Arnold Metselaar <arnold_m@operamail.com>
- * added Unicode.{cc,hh} with minimalistic conversion of UTF-8
- to 8-bit Ascii
- * Keyboard.cc: Fixes to make the type command work properly
- - utf-8 -> ascii conversion in Keyboard::KeyKeyInserter::type(),
- - fixed bug in Keyboard::pressAscii() (index to asciiTab), and
- - corrected asciiTab[]
- 2004-07-15 Manuel Bilderbeek <manuel@msxnet.org>
- * Added <info> tag with some child tags to XML.
- - should be added to other hardwareconfig files later as well (is
- mandatory)
- - optional for extensions?
- - there's no class associated with it now; it's only used to put
- info in the window border for now
- - child tags "manufacturer", "code" and "type" are now mandatory
- 2004-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed MoonSound bug:
- When DL=0 go immediately to sustain phase.
- Fixes 'timpani' instrument for example.
- 2004-07-13 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed nullpointer dereference when ABORT command is executed
- in "cmdtiming broken" mode.
- 2004-07-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Simplified SHA1 interface + cleanups
- 2004-07-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Preparartion for insert remove at run time:
- unregister memory / IO ports
- 2004-07-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Config file change: FDC type is no longer a sub type
- * Fixed RenShaTurbo
- * Config file change:
- grouped <volume> and <mode> tags in a new <sound> tag
- 2004-07-10 Maarten ter Huurne <maarten@treewalker.org>
- * Separated CPU and OS in build system.
- 2004-07-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed loading of extensions
- * Fixed some bugs in slot structure config loading
- * It's now possible to insert a slotexpander extension
- 2004-07-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed exception-safety problem in CassettePort constructor
- 2004-07-04 Manuel Bilderbeek <manuel@msxnet.org>
- * Added simple DC filter for Wave cassette images (subtract average)
- .wav files from MicroWAVer should work now. Please test this some
- more with other .wav images (e.g. from real cassettes)
- 2004-07-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Another config file format change:
- - use 'primary' and 'secondary' tags to specify slot structure
- - this proposal is still being discussed (especially for
- extensions), so this may change again
- 2004-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed assertion in ClockPin
- 2004-06-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Get rid of ordering requirement in turbor hardwareconfig.xml
- 2004-06-26 Maarten ter Huurne <maarten@treewalker.org>
- * Replaced EmuTimeFreq by Clock and DynamicEmuTime by DynamicClock:
- - Fixes accuracy bug where fractions of ticks were discarded,
- causing problems with high-frequency reads of low-frequency timers.
- Thanks to Daniel Vik for reporting this.
- - Reduced the number of operations, especially operators.
- - Added Doxygen comments for the changed classes.
- * Improved MoonSound BUSY flag timing (not completely correct yet).
- 2004-06-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * hardwareconfig.xml format change:
- replaced <device><type>foo</type>..</device>
- <device><type>bar</type>..</device>
- with <devices> <foo>..</foo> <bar>..</bar> </devices>
- 2004-06-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * FDC config format changed:
- indicate number of connected disk drives iso drivenames
- 2004-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * hardwareconfig.xml configuration file changes:
- - replaced <config if="foo">..</config>
- with <foo>..</foo>
- 2004-06-21 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed mix level (volume) bug in Moonsound, thanks to Albert and
- Wouter
- 2004-06-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * bug fix: first destroy renderer before creating a new one, bug was
- introduced when using auto_ptr
- * bug fix: YMF278 is a stereo device
- 2004-06-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed ROM loading bug when no SHA1 match was found and no filename
- was specified
- * A bit more robust config file parsing
- * Config file format change:
- - put roms in new hierarchical <rom> tag
- * settings.xml configuration file changes:
- - replaced <config id="foo">..</config>
- with <foo>..</foo>
- 2004-06-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Compiled with -Wall -W and fixed all warnings
- 2004-06-18 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed Floating Point Exception in Y8950Adpcm, which was triggered
- by 4Trax Songbook #1. Thanks to Eric for finding it and Wouter for
- providing the fix :)
- 2004-06-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Large configuration file code refactoring:
- - get rid of Config class, use directly XMLElement
- - no changes in config files
- * Use auto_ptr to manage ownership:
- - ownership is better documented
- - safer in case of exceptions
- 2004-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Config file releated cleanups (no changes in config files)
- 2004-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added Date class to convert dates to and from string:
- there are library fucntions that do the same (strftime, strptime)
- but strptime is not available on win32
- * RomPool cleanups / fixes / enhancements:
- it's now possible to list multiple pools in the settings file
- 2004-06-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented RomPool:
- still needs heavy testing and cleanups
- 2004-06-07 Manuel Bilderbeek <manuel@msxnet.org>
- * Rerenamed "MSX-AUDIO MIDI" to "Music Module MIDI"
- 2004-06-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * removed IO port registration for Mixrosol FDCs from the code,
- instead it must be specified in the config file (TODO)
- * Explicitly indicate ownership transfer in Device factories
- 2004-06-06 Manuel Bilderbeek <manuel@msxnet.org>
- * Moved mode setting of the RTC to settings.xml
- (converter still needs to be updated)
- 2004-06-03 Manuel Bilderbeek <manuel@msxnet.org>
- * More config file renames:
- - Audio -> MSX-AUDIO
- - Audio-Midi -> MSX-AUDIO MIDI
- - Music -> MSX-MUSIC
- - MSX-Midi -> MSX-MIDI
- - SCCPlusCart -> SCC+
- The converter has been adjusted as well.
- * Fixed a forgotten rename of Rom to ROM in the MSXRomCLI.
- * Added specific extensions for the Konami Sound Cartridges
- (Snatcher and SD-Snatcher)
- 2004-06-04 David Heremans <david.heremans@gnu-linux.net>
- * Fixed the problem with filesize zero in the DirAsDisk feature
- 2004-06-03 Maarten ter Huurne <maarten@treewalker.org>
- * Simplified code which stores and draws previous frame in SDLGL.
- 2004-06-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed creation of internal datastructures to match the new XML format
- * Removed deprecated device PanasonicRom
- 2004-06-03 Manuel Bilderbeek <manuel@msxnet.org>
- * More config file changes:
- - renamed old parameter brokenFDCread to broken_fdc_read (needs
- update of the converter, please fix this for me)
- - renamed Rom to ROM, PanasonicRom to PanasonicROM and PanasonicRam
- to PanasonicRAM and updated the converter for these changes
- 2004-06-01 Maarten ter Huurne <maarten@treewalker.org>
- * Wrote a converter script that updates old configurations to the new
- format: share/scripts/convert_hardwareconfig.py
- 2004-06-01 Manuel Bilderbeek <manuel@msxnet.org>
- * Corrected ASCII table for 'type' command for international layout
- Thanks to Albert Beevendorp for doing the hard work!
- * More config file changes: changed device name of FM-PAC to FMPAC
- 2004-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * More config file changes:
- - removed <parameter class=".."> constructs
- - removed support for <parameter name="foo">, config files are
- incompatible anyway
- * Fixed assertion on "type {}"
- 2004-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Better names for ROM debuggables. Still include the (unique) device
- id to avoid assertion when the same ROM is inserted twice.
- * Added optional "sha1" parameter to rom devices. For the moment only
- used to print a warning when given sha1sum doesn't match with real
- sha1sum.
- * First step to new xml format:
- <parameter name="foo">bar</parameter>
- can now be written as
- <foo>bar</foo>
- the first format is still supported, but will be removed soon. In
- the FDC device the parameter "type" is renamed to "fdc_type" becuase
- of a name conflict with the device type.
- * Removed support for autocommands, they were deprecated in 0.3.4
- * Added Vincent van Dam to AUTHORS:
- cas to wav conversion code is based on his cas2wav too
- * Moved IO port registration from DeviceFactor to hardwareconfig.xml:
- This is an incompatible xml format change! I only updated
- Philips_NMS_8250 and Panasonic_FS-A1GT. I hope someone else will
- update the other machines and extensions.
- * Also got rid of <parameter name=".."> ... </parameter> constructs in
- settings.xml
- * Removed duplicate code for case insensitive string comparisons
- 2004-05-30 Manuel Bilderbeek <manuel@msxnet.org>
- * Added channel mode 'off' to mute individual sound devices
- 2004-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * In one executable only one interpreter is used (TCL or other),
- no need to have a virtual base class.
- 2004-05-29 Manuel Bilderbeek <manuel@msxnet.org>
- * Cleaned up names of the debuggables
- 2004-05-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made all (S)RAM debuggable, created a base class for RAM
- * use auto_ptr to indicate ownership transfers
- * use stl bitset instead of an array of booleans
- * don't use exception specifications, they do more harm than good
- * don't use global objects, they are constructed before main() and
- thus we can't catch execptions yet
- * Command speed up (mainly for TCL scripts):
- Take CommandArguments objects as parameters instead of strings.
- This avoids int -> string -> int like conversions. This
- optimization was already done for the command result, now also
- for the command arguments.
- 2004-05-28 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.4.0.
- 2004-05-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Renamed "keylayoutbit" setting in PSG to "keyboardlayout". Also
- instead of the values true/false it now takes "JIS"/"ANSI"
- 2004-05-23 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed glitches in SDLHi when deinterlacing.
- * Fixed pause in SDLGL in monochrome character modes (SCREEN0.40/0.80/1).
- * Added several missing documentation files to "make install".
- * Some other build system improvements.
- 2004-05-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * RS232 interface in Sony_HB-G900P has 2kb RAM
- 2004-05-20 Manuel Bilderbeek <manuel@msxnet.org>
- * Added about 14 new machines
- 2004-05-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Print an error for duplicate drive names (iso assert)
- 2004-05-15 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented scrolling in console by a whole page, using
- SHIFT+PAGEUP and SHIFT+PAGEDOWN
- 2004-05-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * really fixed TCL_STDOUT redirection
- * fixed passing of binary data in console command:
- was needed for "debug write_block" command
- * updated "save_debuggable.tcl" script with "load_debuggable"
- and "load_all" commands:
- This is no savestate script! Most of the times it won't work!
- 2004-05-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed redirecting the TCL_STDOUT channel:
- this fixes Adriano's bug (saving to file in from TCL script)
- 2004-05-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed double SRAM names for Matsushita devices
- 2004-05-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * If init.tcl file in system dir is missing try init.tcl in user dir:
- The default init.tcl in the system dir still source's the user
- init.tcl file.
- 2004-05-05 Maarten ter Huurne <maarten@treewalker.org>
- * Various small improvements to build system, including:
- - install dir is easier to customise (build/custom.mk)
- - fixes for compiling on Mac OS X (thanks to Jalu for testing)
- 2004-05-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * More V9990 work
- 2004-05-02 Maarten ter Huurne <maarten@treewalker.org>
- * Different final probe message depending on probe results.
- * Refuse to build if dependencies for core component are not met.
- * Support for components: a single label (like COMPONENT_GL) controls
- whether a component is built or not.
- (in preparation for forced disabling of components)
- 2004-05-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented a faster DC removal filter, thanks to dvik
- * Implemeted V9990 palette reading/writing
- * Unified Ascii8-8, Koei-8, Koei-32 and Wizardry mapper types,
- also fixed some mapping details
- 2004-05-01 Herman Oudejans <hn.oudejans@quicknet.nl>
- * fixed [926293] Win32: specifying driveletter without path
- doesn't work.
- 2004-04-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Use 64-bit type to store realtime:
- 32-bit microsecond counter overflows after about 70 minutes.
- We also saw openmsx crashes after 70 minutes...
- 2004-04-30 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed sprites in overscan.
- * Corrected clipping for scalers.
- And managed to slip in some optimisation as well.
- 2004-04-29 Maarten ter Huurne <maarten@treewalker.org>
- * Optimized top and bottom border drawing in SDLHi.
- 2004-04-28 Maarten ter Huurne <maarten@treewalker.org>
- * Integrated probe fixes from Reikan.
- Probe should work on FreeBSD and Win32 now.
- 2004-04-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented VRAM reading/writing for V9990
- 2004-04-28 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Implemented 32x32 icon. In win32 the icon MUST be 32x32 and Linux
- doesn't care about size, so 32x32 for all OS'es (thx to Reikan).
- 2004-04-27 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed per-line administration of scale factor.
- In Psycho World intro, bottom text was scaled x2 instead of x1
- when openMSX was paused. ANMA's Relax had a similar problem.
- 2004-04-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed Koei mapper: sram is not visible in 0x6000-0x7FFF
- * Fixed RealTime: still sync music for high frameskips, but properly
- handle syncpoints
- * Fixed SRAM saving: filename had a double extension (file.SRAM.SRAM)
- 2004-04-26 Eric Boon <e.boon4@chello.nl>
- * Add Debuggables to V9990
- 2004-04-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented Koei-8 and Koei-32 mapper types:
- based on BlueMSX v1.4.0
- * "openmsx_info fps" now return 0 in when "renderer none" is active
- * Fixed bug in min/max frameskip handling (happened for example when
- minframeskip == maxframeskip)
- * Fixed serious performance bug:
- Sometimes a RealTime syncpoint was not removed from the scheduler
- queue. So it got fuller and fuller and openmsx became slower and
- slower.
- 2004-04-25 Eric Boon <e.boon4@chello.nl>
- * Introduction of Gfx9000/V9990
- 2004-04-25 Manuel Bilderbeek <manuel@msxnet.org>
- * Fixed Philips NMS 1205 extension (MSX Audio MIDI was missing)
- * Updated manual for upcoming release (please check!)
- 2004-04-24 Maarten ter Huurne <maarten@treewalker.org>
- * Build uses same compile and link flags as probe.
- * Integrated part of the mingw32 probe fixes from Reikan.
- * Implemented probe overrides for FreeBSD (untested).
- 2004-04-22 Maarten ter Huurne <maarten@treewalker.org>
- * Enhanced system probe: now it also scans for mandatory headers
- and libs. It performs all checks and then reports what it found
- and what is missing.
- 2004-04-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed [ 933628 ] assertion with accuracy=screen in "puyo puyo"
- * Fixed OR-ing of unaligned sprites
- 2004-04-20 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Suppressed warning in windows (warning: couldn't find file: "").
- * Fixed 'no window when return from full screen' in SDLHi/Lo
- (windows NT4 only).
- 2004-04-19 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed small bug: I forgot to replace "#ifndef X_DISPLAY_MISSING" by
- "#ifdef HAVE_X11" in RendererFactory class.
- 2004-04-19 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed 'no window when return from full screen' in SDLGL (windows only).
- 2004-04-18 Maarten ter Huurne <maarten@treewalker.org>
- * Dropped autoconf completely.
- This also means autogen.sh is no longer necessary.
- Thanks to Herman and Manuel for testing parts of the new system.
- The new probing system only looks for optional parts, not for mandatory
- ones (such as SDL). Also, there is no option to disable optional parts
- yet. Possibly some bugs have slipped the testing, please alert me
- if you find any.
- 2004-04-15 Maarten ter Huurne <maarten@treewalker.org>
- * Build system discovers TCL compile and link flags
- using "tcl-search.sh" instead of autoconf.
- 2004-04-12 Maarten ter Huurne <maarten@treewalker.org>
- * Changed BIGENDIAN implementation: determined by looking at CPU,
- instead of running a test program. (preparation for cross compiles)
- * New version format:
- "openMSX x.y.z" for releases
- "openMSX x.y.z-devN" for development builds, N = ChangeLog revision
- * Pass information from build system to sources using C++ types such
- as bool and std::string, instead of macros.
- You should re-run "autogen.sh" after updating.
- 2004-04-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't allow one Pluggable to be plugged in two Connectors at once
- * Also send update event when media is ejected (diska eject)
- * Experimental:
- delay input events (currently by a fixed time) to avoid key misses
- 2004-04-09 Maarten ter Huurne <maarten@treewalker.org>
- * Added support for compilation on FreeBSD 5.
- Thanks to Jorito for providing a working environment to test on.
- 2004-04-07 Maarten ter Huurne <maarten@treewalker.org>
- * Several changes to the build system; the main visible effect is
- that all generated files are now in "derived".
- You should re-run "autogen.sh" after updating.
- 2004-04-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Generate update event for media change
- * Implemeneted "openmsx_info connectionclass" info topic:
- - "openmsx_info connectionclass" returns all connectionclasses
- - "openmsx_info connectionclass [pluggable / connection]" shows
- the class to which this 'thing' belongs
- * Copied "oversleep compensation" from old realtime sync algorithm to
- new algorithm:
- - this helps to keep openMSX running at a reasonable speed when it
- has to compete with other CPU hungry processes
- 2004-04-06 Reikan <openMSX4Win32@ranpub.com>
- * Added link libs to platform-x86-mingw32.mk. Thanks to Honda.
- * Reverted AC_CANONICAL_SYSTEM in configure.ac.
- We need it to let automake prepare config.guess and config.sub.
- * Removed check for tcl8.3 because makefiles don't support anyway.
- * Added some tiny checks for libs in configure based on suggestion
- from Manuel.
- 2004-04-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Simplified RealTime class:
- added Timer class (had to rename existing Timer class to EmuTimer)
- removed RTC synchronziation (linux) because it was complicated and
- didn't really improve anything
- * Force a realtime sync 8 times per second (real time):
- - now music stays more or less ok with large frameskips
- (set minframeskip 100) and very low speed settings (set speed 10)
- - disadvantage: auto frame skip is much less effective for value
- above 6 or 7 (set maxframeskip 7)
- 2004-04-05 Maarten ter Huurne <maarten@treewalker.org>
- * Minimized usage of auto*:
- - only run configure checks of which we actually use the results
- - use "sizeof(bool)" instead of "SIZEOF_BOOL":
- a lot simpler and the generated code is equally efficient
- - dropped libtool
- Thanks to Reikan for his patch from which I copied at lot.
- 2004-04-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Changed frameskip setting:
- there is no explicit frameskip "auto" anymore, instead the framskip
- setting indicated the maximum allowed number of frameskip.
- * Don't skip frames on small CPU usage spikes
- * Renamed "frameskip" setting to "maxframeskip"
- * Added new "minframeskip" setting
- 2004-04-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented different frameskip and real time sync algorithm
- * Fixed "[ 915747 ] sprites are not visible on display line 0"
- * Skipped frames are now reflected in fps statistics
- * Made "frameskip auto" the default
- 2004-03-29 Maarten ter Huurne <maarten@treewalker.org>
- * Made new ("alternative") build system default:
- GNUmakefile is picked up by GNU Make before Makefile is.
- 2004-03-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added generic info command to query the possible values for
- EnumSettings.
- 2004-03-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Added info command for 'accuracy' setting
- 2004-03-27 Herman Oudejans <hn.oudejans@quicknet.nl>
- * update events are now disabled by default.
- 2004-03-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented simple subsription mechanism for update events:
- - openmsx command "update <enable|disable> <type>"
- - for now all update events are still enabled by default, but when
- catapult is adjusted I'd like to disable them by default
- 2004-03-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Only the init.tcl file from the system directory is now executed by
- openmsx. However the default init.tcl file does source a init.tcl
- file in the user directory
- !!! you probably need to redo a "make install" because of this !!!
- * The default (system) init.tcl now automatically sources all .tcl
- files in the user and system scripts/ directory (it prefers the
- script in the user dir if it exists in both)
- 2004-03-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed unexpected exception problem in combination with NPTL threading
- library (Debian unstable)
- * Generated update events on setting changes:
- - maybe we should supress these when not in 'control' mode? Ideally
- we make a control these via a publisher/subsriber pattern.
- * Generate update evvents for plug/unplug
- 2004-03-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't instantiate CassettePlayer when there is no CassettePort
- 2004-03-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented a very basic fps indicator
- * Don't send fps as 'update' events, but make it queryable
- * Fixed overflow problem in SoundDevice code
- 2004-03-17 Maarten ter Huurne <maarten@treewalker.org>
- * Do not copy captured GL frame back the the frame buffer
- if the same image is still there.
- Thanks to Herman for finding this problem.
- 2004-03-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed debugger assertion:
- - scheduler did not notice the CPU stopped early because of
- breakpoint
- - the whole CPU <-> Scheduler interaction is a bit of a mess, need
- to clean this up someday
- 2004-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Screenshot 'feedback' was only given for non-GL renderer, moved code
- to a common (gl / non-gl) code path.
- 2004-03-16 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed saving persistent data in windows (SRAM, cmos, history)
- 2004-03-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Proper XML escaping for results from comm protocol
- 2004-03-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reduce memory usage in Y8950Adpcm:
- - found by massif (part of valgrind)
- * Fixed HBI-55: address 0 is read only and contains 0x53
- * Changed (un)bind command:
- - a key can now only be bound to one command, this solves the
- "toggle + toggle = nop" problem
- - if you still want to bind multiple things to one key you can
- define a proc or bind something like "foo ; bar"
- 2004-03-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Another config refactoring:
- - split MSXConfig in hardware and settings part
- - merge Config and Device class
- * Use ugly macro iso template in NonInheritable class:
- - hopefully this works on all compilers, if not (or if it's
- too ugly) we can just remove this class
- * Compilation fixes for icc
- * Extended CPU debuggable:
- - IM can now be read at position 26
- - IFF1 and IFF2 can be read as bit 0 and 1 on position 27
- * Made SCC debuggable
- 2004-03-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "type" command:
- - replaces KeyEventInserter
- - TODO documentation
- correct ascii->keymatrix table
- better name for command?
- 2004-03-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * More config cleanups:
- - don't build and parse xml in memory anymore, directly build
- correct datastructure
- - temp broke KeyEventInserter, will be replaced by a console command
- 2004-03-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * More config cleanups
- 2004-03-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made Y8950 (MSX-AUDIO) debuggable
- * Deleted debug view related files:
- they were not used anymore and doxygen didn't like them
- * Made MoonSound debuggable
- * Made MSX-AUDIO sample RAM debuggable
- 2004-03-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made memory mapper debuggable
- * Made YM2413 (MSX-MUSIC) debuggable
- * Made AY8910 (PSG) debuggable
- 2004-03-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented R800 refresh delay:
- - every 180 cycles stall for 20 cycles.
- Are these numbers correct? I have to different contradicting
- sources for these numbers. (180 and 20 are in between the
- numbers of my sources)
- * R800 IO operations takes 3 cycles:
- - S1990 adds two extra wait cycles cycles
- 2004-03-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved R800 timing, implemented CAS/RAS optimization:
- - when the high byte of the address of a read is the same as that
- of a previous read, the R800 doesn't resend this byte and thus
- saves a clockcycle
- - I vaguely remember this only happens for opcode fetches, is this
- true??
- 2004-03-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made openmsx_info command return lists in TCL format
- 2004-02-29 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed bug in command engine: when switching display mode while a
- command is running, the command's progress was lost.
- This bug was introduced in the refactoring of 2004-02-17.
- * Improved rendering of transparent pixels in Graphic5 (SCREEN6).
- It's still not perfect though: real VDP can render even and odd
- transparent pixels in different colours, just like the border.
- 2004-02-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed 2nd drive detection bug on MB8877 based machines
- 2004-02-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Also do tab-completion for build-in TCL-commands and user defined
- TCL procs
- * Fixed sprite collision bug:
- sprites cannot collide when isDisplayEnabled() is false
- 2004-02-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "vramdump" command as a TCL script
- 2004-02-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * TCL command speedups:
- - avoid "int -> string -> int" conversions on command results
- * 2 new debug commands:
- - read_block, write_block (WIP)
- 2004-02-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made abstract Interpreter class:
- - TCLinterpreter is (the only) subclass
- - all other code is TCL independent
- 2004-02-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * added scripts directory
- * added multi_screenshot script
- 2004-02-21 Herman Oudejans <hn.oudejans@quicknet.nl>
- * fixed FileOperations.cc for win32. setenv doesn't exist in mingw
- 2004-02-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Set OPENMSX_USER_DATA and OPENMSX_SYSTEM_DATA environment variables
- 2004-02-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "after break" command
- * Path calculation cleanup:
- moved all path calculations to the FileOperations class
- 2004-02-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented master volume setting (range 0..100). Changed volume
- setting of other devices to 0..100 as well.
- 2004-02-17 Maarten ter Huurne <maarten@treewalker.org>
- * VDPCmdEngine refactoring: replaced macros by templates and switch
- statements by virtual method calls. (committed by Wouter)
- 2004-02-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved CPU timing, both Z80 and R800
- 2004-02-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "after frame" command:
- - now it's possible to write a multi_screenshot TCL script (i've
- already made such a script)
- 2004-02-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made CommandConsole SDL independent
- 2004-02-11 Maarten ter Huurne <maarten@treewalker.org>
- * Implemented firmware switch for Panasonic FS-A1FM.
- Use "set frontswitch true" to boot internal software.
- 2004-02-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * FDC code changes:
- - code cleanups / maybe fixes (at least more robust code now)
- - changed track0 signal value for not connected drive
- 2004-02-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Refactored EventDistributor to be SDL independent (WIP)
- 2004-02-08 Maarten ter Huurne <maarten@treewalker.org>
- * Added support for compilation on FreeBSD.
- Thanks to ag0ny for providing a working environment to test on.
- 2004-02-07 Reikan <openMSX4Win32@ranpub.com>
- * Fixed error when reading init.tcl on win32.
- 2004-02-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Changed default init.tcl to only bind unbounded keys:
- should solve the "toggle + toggle = nop" problem
- * Implemented 6MHz (5.3MHz actually) mode for Panasonic MSX2+ machines
- * Refactored RealTime classes:
- - algorithm in RealTimeRTC was broken, refactored the code so that
- RealTimeSDL and RealTimeRTC share the same syncing algorithm
- - the algorithm itself still needs to be improved
- 2004-02-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Handle unknown tags in control protocol more gracefully
- * Same for parser in Contrib/openmsx-control.cc
- 2004-02-03 Maarten ter Huurne <maarten@treewalker.org>
- * Perform less renderer syncs on VRAM writes:
- - skip sync if written value equals the current value in VRAM
- - only sync if scan region contains written VRAM address
- (currently only checked in Graphic2/3 modes)
- 2004-02-01 Maarten ter Huurne <maarten@treewalker.org>
- * Simplified rendering interface and code:
- - unified putImage and putStoredImage
- - introduced frameEnd, moved some of the old putImage code there
- 2004-01-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Changed the XML format of the CliComm protocol:
- - the new format is not compatible with the old version
- - the example parser Contrib/openmsx-control.cc can handle both
- formats (except for the LED updates)
- 2004-01-30 Reikan <openMSX4Win32@ranpub.com>
- * Fixed strange build error of FileOperations.cc.
- It would be becauseof "gthreads vs w32api".
- * Fixed broken "Makefile.am"s.
- * Adjusted configure.ac and Makefile.am to accpet libtcl84.a on MinGW.
- 2004-01-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made cpu frequency switchable at-run-time:
- in console: set z80_freq_locked off ; set z80_freq 12345678
- 2004-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Use DATADIR variable set by configure:
- not yet well tested
- 2004-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed obsolete "alias" command:
- for backwards compatibilty there is an "alias" proc defined in
- init.tcl
- * Use PAUSE LED also for the openMSX pause command:
- patch contributed by Tetsuo Honda
- * Debug device now prints time in Z80 ticks (3.58MHz), instead of
- internal ticks. This way we can change the internal tick resolution
- without changing the debug device output.
- * Dropped support for MD5 hashes, they were already deprecated for a
- few releases.
- 2004-01-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Integrated TCL scripting
- * Execute share/init.tcl at startup, marked AutoCommands deprecated
- 2004-01-20 Maarten ter Huurne <maarten@treewalker.org>
- * Bound quit to ctrl-break by default.
- 2004-01-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented key modifiers for bind command:
- example: bind CTRL+ALT+DELETE quit
- 2004-01-19 Maarten ter Huurne <maarten@treewalker.org>
- * Integrated FDC fixes by Tetsuo Honda:
- 1. FDD LED on Turbo R FDC (TC8566AF)
- 2. Disk change signal
- 3. Drive detection (1 or 2 drives connected)
- 4. Empty drive behaviour ("Disk offline")
- 2004-01-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Changed RAM in FS-A1FM mapper into SRAM, but unfortunately this
- doesn't solve the problem (openmsx-Bugs-826066)
- 2004-01-16 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.3.4.
- 2004-01-15 Maarten ter Huurne <maarten@treewalker.org>
- * Added Scheduler::setAsyncPoint, which works like setSyncPoint,
- but is safe to call from other threads.
- Fixes asserts with "-control" and MIDI in.
- 2004-01-11 Maarten ter Huurne <maarten@treewalker.org>
- * Added "dist" target to alternative.mk. Now it is possible to make
- a release tarball in the alternative build system.
- 2004-01-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Added a "boosted" MSX2 config:
- - European MSX2 config with lots of extensions, see README in its
- dir
- - still experimental, needs testing...
- 2004-01-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fix VDP bug:
- - out (#99), xx / OUT (#99),%11xxxxxx is NOT a register write
- still have to figure out what it does (if anything)
- - fixes "SNOW26" demo
- * Fixed midi-out-logger bug:
- - once plugging failed (file not writable) it kept failing
- - same for RS232Tester
- * Fixed "Jump Jump" part or "UR" demo for SDLGL renderer
- * Made EnumSetting case-insensitive
- 2004-01-08 Maarten ter Huurne <maarten@treewalker.org>
- * Implemented new deinterlacer for SDLHi.
- 2004-01-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed crash when trying to save screenshot to read-only directory
- * Save screenshots in ~/.openMSX/screenshots (only when filename is not
- explicitly given)
- * Fixed bug in Y8950:
- also reset IRQ in reset() method
- 2004-01-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Updated control-type selection code (written by tcm1998):
- - generate error for unknown control types
- - "pipe" is (currently) not a valid type for linux
- 2004-01-04 Reikan <openMSX4Win32@ranpub.com>
- * Fix SDL_Video subsystem initialization.
- This fix boot up unstability.
- * Renamed win32 native midi.
- out:
- midi -> midi-out
- midi* -> midi-out-*
- in:
- midi* -> midi-in-*
- 2004-01-04 Manuel Bilderbeek <manuel@msxnet.org>
- * Implemented "info scaler"
- 2004-01-03 Maarten ter Huurne <maarten@treewalker.org>
- * Separated Scalers.hh/cc into Scaler, SimpleScaler and SaI2xScaler.
- 2003-12-30 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed Scale2x scaler: one pixel too many per line was scaled,
- which lead to out-of-range memory writes.
- * Fixed "random pixel" bug in pixelacc SDLRenderer.
- The width of a display rectangle was rounded incorrectly,
- leaving a 1-pixel wide gap in which the previous frame was visible.
- 2003-12-29 Maarten ter Huurne <maarten@treewalker.org>
- Various alternative.mk improvements:
- * Automatic generation of config.h.
- * Changed OPENMSX_PLATFORM format from OS-CPU to CPU-OS.
- * Integrated support for compiling with ICC 8.0.
- You can select ICC with "export OPENMSX_PLATFORM=x86-linux-icc".
- Note that if a header file is removed, incremental compile will abort
- with an error. Workaround: manually remove the dependency file.
- 2003-12-27 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed console drawing in SDLLo during pause.
- 2003-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented automatic filename generation for screenshot feature
- 2003-12-23 Maarten ter Huurne <maarten@treewalker.org>
- * Integrated Mac OS X patches from Jalu.
- * Fixed rendering of sprites in SCREEN7.
- 2003-12-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed reset problems (again):
- reset could go wrong when it was given in the middle of a CPU
- instruction, now wait till the end of the instruction
- * Integrated Joost's screenshot code:
- - no automatic filename generation yet
- 2003-12-22 Maarten ter Huurne <maarten@treewalker.org>
- * Separated Settings.hh into one file per class.
- 2003-12-21 Maarten ter Huurne <maarten@treewalker.org>
- * Removed RendererSwitcher and FullScreenToggler. They were useful
- back when openMSX was multi-threaded, but are useless now.
- * Various code layout cleanups.
- 2003-12-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed a lot (not all) ICC compile remarks, mostly virtual
- destructors for base classes
- 2003-12-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * VDP pause frame cleanups:
- always store the last frame (was already like this for SDLHi/SDLLo,
- and also for SDLGL when some effect was used). This simplifies the
- pause code. It also fixes the image when breakpoints are used. And
- it will make the screenshot feature integration easier.
- * Fixed ICC 8.0 compile warnings.
- 2003-12-16 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed ICC 8.0 compile errors.
- 2003-12-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * implemented "debug break"
- * added a hack to make the "boring scroll" demo part of "Relax" work
- 2003-12-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * remove VDP sync points on reset
- 2003-12-13 Maarten ter Huurne <maarten@treewalker.org>
- * Optimized hq2x scaler:
- - Fixed inlining of methods.
- For some reason g++ cannot inline if the methods are defined as
- HQ2xScaler<word>::method and <unsigned int>, but when using
- HQ2xScaler<Pixel>:: with an if-statement inside, inlining does work.
- - Split the giant switch-statement into 4 smaller ones (one per output
- pixel). Makes a huge difference in object size (123K -> 33K).
- - Many small optimizations all over the code.
- 2003-12-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented cpu debugger:
- the following commands exist now:
- debug set_bp <addr>
- debug remove_bp <addr>
- debug list_bp
- debug cont
- debug step
- during a break the vdp output is not yet correct
- 2003-12-11 Joost Yervante Damad <joost@lumatec.be>
- * removed obsolete README.WIN32
- 2003-12-10 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed SDLLo: rendered image did not show up on visible screen.
- 2003-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "keymatrixup" and "keymatrixdown" commands
- 2003-12-09 Maarten ter Huurne <maarten@treewalker.org>
- * Integrated hq2x algorithm:
- http://www.hiend3d.com/hq2x.html
- Use "set scaler hq2x" in the SDLHi renderer to activate it.
- The code can use some cleanup and tuning, but in most cases it works.
- * Fixed bug: lines were scaled by the wrong factor when a frame contains
- both 256-wide and 512-wide lines, such as Psycho World intro.
- 2003-12-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * added a 'safe' getCurrentTime() method in Scheduler, and use this
- instead of the getCurrentTime() method in MSXCPU. Renamed the latter
- to getCurrentTimeUnsafe(). See also comments in MSXCPU.hh
- * Only quit scheduler loop when it's not being called resursively, see
- comments in Scheduler.cc
- 2003-12-07 Maarten ter Huurne <maarten@treewalker.org>
- * Integrated Scale2x algorithm:
- http://scale2x.sourceforge.net/
- Use "set scaler scale2x" in the SDLHi renderer to activate it.
- Unlike 2xSaI, Scale2x never blurs.
- 2003-12-06 Maarten ter Huurne <maarten@treewalker.org>
- * Create a scaler object once it becomes active, instead of creating all
- scalers in advance. This reduces memory usage when the number of
- scalers increases or some scalers use large lookup tables.
- * Made Scaler base class a template. Preparation for later changes.
- * Removed upscaling from SDLRenderer/CharacterConverter/BitmapConverter.
- Instead, all upscaling is done by the scaler implementation.
- The only scaling remaining outside is the downscaling (pixel blending
- in SDLLo).
- There is still some cleanup to do, for example deinterlace should be
- re-implemented outside of drawDisplay.
- 2003-12-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made memory in (sub)slots debuggable
- * fixed bug in wait() method of CPU (order of statements problem):
- fixes the reset on turbor crash
- * "cassetteplayer" doesn't crash anymore on non-existing filenames
- * use HAVE_LINUX_RTC_H instead of NO_LINUX_RTC, makes it easier to
- port to non-linux platforms
- 2003-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed "Back to the Future" hang:
- romtype was wrongly detected, in romdb.xml the romtype was
- specified as "PLAIN", but for this type we still need to guess the
- start location in memory. Changed romtype in romdb.xml to "PAGE12"
- * Added high-pass IIR filter to mixer:
- this greatly reduces clipping in applications that leave a sound
- channel at a constant non-zero value (e.g. catman)
- * Fixed rendering of undocumented modes in GL renderer:
- "Back to the Future" (tape version) triggered an assertion
- because of this
- 2003-12-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * made VDP status registers debuggable
- 2003-12-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented IO device multiplexing:
- - several IO devices can now share the same IO port. When CPU
- writes to a shared port, all devices receive the write. When
- CPU read from a shared port, all devices readIO() method is
- called, but the return value of only one device is returned
- to the CPU.
- - this fixes the "openmsx -machine turbor -ext fmpac" problem
- 2003-12-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * made vdp registers debuggable
- 2003-11-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * made memory (64kb currently visible memory) debuggable
- * made IO ports debuggable
- * made vram debuggable
- 2003-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added example implementation for bidirectional communication with
- openMSX (aka CliCommunicator) in Contrib
- * Implemented "debug" command infrastructure. For now only the CPU
- registers can be read or written.
- 2003-11-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * When started with "-control" openmsx now automatically selects the
- "none" renderer. The launcher should send a "restoredefault
- renderer" command to enable the display.
- 2003-11-19 Maarten ter Huurne <maarten@treewalker.org>
- * Extended Scaler interface to scale modes of 512-pixels wide as well.
- These modes are scaled in the vertical direction only.
- * Implemented vertical-only scaling for "simple" and "2xsai".
- * Minor cleanup of SaI2xScaler class.
- 2003-11-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "restoredefault" command
- 2003-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * made alternative YM2413 (MSX-MUSIC) the default
- 2003-11-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented per-pixel-alpha-blending for SDLConsole and SDLFont:
- - if whole image has the same alpha value, we use per surface
- alpha blending to speed up blitting
- 2003-11-16 Reikan <openMSX4Win32@ranpub.com>
- * Quick fix for console input after switched renderer.
- 2003-11-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Major singleton-cleanup:
- - circular dependency where already fixed
- - now also fixed construction order. All singletons classes that
- are used by some other singlton must be constructed before this
- singlton is constructed. Done by constructing all dependant
- singltons in the constructor of this singleton. This also
- prevents new circular dependencies in the future.
- - because of these two points it's now save to destruct all
- singletons (before some were never destructed)
- - instance() method now returns a reference instead of a pointer
- - I'll post a more detailed explanation to openmsx-devel soon
- * Fixed hd image file creation:
- - automatically create or enlarge hd-image when the specified file
- doesn't exist or is too small
- 2003-11-16 Reikan <openMSX4Win32@ranpub.com>
- * Fixed "hollible slow down when open console in fullscreen on SDLHi"
- at Win32.
- 2003-11-16 Maarten ter Huurne <maarten@treewalker.org>
- * Implemented scanlines for SDLHi.
- 2003-11-15 Manuel Bilderbeek <manuel@msxnet.org>
- * Moved initialization of SDL Video to RendererFactory.
- * Added Ren-Sha Turbo device to machines which have it.
- 2003-11-15 Maarten ter Huurne <maarten@treewalker.org>
- * Modified Scheduler to only schedule ASAP sync points during pause.
- Also made ASAP resolve to CPU's current time instead of target time.
- * Delayed start of new frame until unpause.
- If a renderer keeps state to reproduce the image other than the pixels
- themselves, this state remains available during pause.
- * Made SDLHi renderer react to scaler changes while paused.
- 2003-11-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Split EventDistrubutor in EventDistributor and AfterCommand:
- - together with the "quit" cmd move this removes the circular
- dependency between EventDistributor and Scheduler
- * Reversed dependency between Mixer and Scheduler:
- - Mixer now depends on Scheduler (for mute when paused) instead of
- the other way around
- * Removed circular dependency between RealTime and Scheduler
- * Split Settings.hh in Settings.hh and SettingListener.hh
- * Removed circular dependency between Scheduler and MSXMotherBoard:
- - MSXMotherBoard no longer needs to be a singleton
- - I have to double check, but I think this was the last circular
- dependency between singletons
- 2003-11-14 Maarten ter Huurne <maarten@treewalker.org>
- * Performance fixes for SDLHi.
- Thanks to Reikan for finding a solution to the slowness.
- 2003-11-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * HotKey is no longer a singleton:
- - not required anymore since everything is done by bind cmds
- - fixes circular dependency between HotKey and EventDistributor
- * Moved "quit" command from EventDistributor to Scheduler
- 2003-11-11 Manuel Bilderbeek <manuel@msxnet.org>
- * Added DummyRenderer (set renderer none)
- * TODO:
- - only register the renderer in the settingmap in CliComm mode
- - move SDL video (de)initialization to superclass of SDL based
- renderers (feel free to implement this! ;-), to fix problem that
- the window of the previous renderer doesn't disappear
- 2003-11-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed crash when trying to define an alias with the same name as an
- existing command
- * Split CliCommunicator in CliCommInput and CliCommOutput:
- - first step to get rid of circular dependencies between singletons
- 2003-11-10 Maarten ter Huurne <maarten@treewalker.org>
- * Integrated part of Reikan's SDLRenderer patch:
- - added missing SDL_LockSurface calls when accessing surfaces directly
- - do not blit from a surface to itself, instead use memcpy
- (apparently DirectX doet not like blit source equal to destination)
- - make SDLHi and SDLLo double buffered
- 2003-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed crash on resursive aliasses:
- - these commands
- alias foo bar ; alias bar foo ; foo
- generate an error now
- 2003-11-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Refactored MSXMapperIO:
- - MSXMapperIO is no longer a singleton, this solves the destruction
- order problem between MSXMapperIO - MSXMemoryMapper
- - possibly the crash on power off is solved by this
- - machine configs still need to be updated
- 2003-11-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "info time"
- * Implemented "after" command (see doc/commands.txt)
- * Implemented noise effect (power off) for SDLRenderer
- 2003-11-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Refactored Scheduler:
- - there is now only one scheduler loop anymore
- - fixes the 'still schedule a bit even though emulation is pauzed'
- bug
- 2003-11-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented 'alias' and 'unalias' commands
- 2003-11-03 Maarten ter Huurne <maarten@treewalker.org>
- * Added inbetween image in SDLRenderer, to allow postprocessing.
- Hopefully, this will also reduce flicker on Win32.
- * Integrated 2xSaI scaler algorithm by Derek Liauw Kie Fa:
- http://elektron.its.tudelft.nl/~dalikifa/
- You can activate it with "set scaler 2xsai".
- For now, it only works in the SDLHi renderer.
- 2003-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented 'snow effect' for GLRenderer (try set power off)
- 2003-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "power" setting:
- display is still wrong in power off mode
- 2003-11-01 Maarten ter Huurne <maarten@treewalker.org>
- * Added "createsubs" target to "alternative.mk":
- this creates a Makefile in every source directory
- which builds only the sources in that directory.
- 2003-10-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't continuously redraw screen while paused
- 2003-10-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed "-config" cmdline option / .xml cmdline file-type:
- were long time ago replaced by -machine / -ext / -setting
- 2003-10-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added descriptions to sounddevices:
- can be queried with "info sounddevice <name>"
- 2003-10-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * commands can only throw CommandExceptions
- * fixed possible resource leaks caused by thrown exceptions
- 2003-10-26 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed clipping code in SDLRenderer::drawDisplay and drawSprites.
- Matra games (which use overscan) have a stable image now.
- 2003-10-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Moved command classes to new subdir
- * Added info command infrastructure
- * Added "info version" command
- * Added "info pluggable" and "info connector"
- * Added "info sounddevice"
- * Added "info renderer"
- * Fixed bug: SDL must be initialized before we parse the cmd line,
- because the "-control" option creates a new thread
- * Added descriptions to pluggables:
- can be queried with "info pluggable <name>"
- * Added descriptions to connectors:
- can be queried with "info connector <name>"
- 2003-10-24 Manuel Bilderbeek <manuel@msxnet.org>
- * Added -v cli option to get version number of openMSX
- 2003-10-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added "-control" cli option to enable CliCommunicator:
- - commands are accepted on stdin
- - output is in XML
- 2003-10-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Converted CliCommunicator to take XML input
- * replaced PRT_INFO macro with printInfo(), printWarning() or
- printUpdate()
- 2003-10-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added truncate() method to File classes
- * use unsigned iso int for file size and file position
- 2003-10-19 Maarten ter Huurne <maarten@treewalker.org>
- * Moved some low-level GL stuff from SDLGLRenderer to GLUtil.
- * Changed GL implementation of SCREEN1 to render in cached blocks
- instead of lines.
- * Abort VDP command when switching to non-bitmap mode.
- Fixes assert in Psycho World stage 4.
- 2003-10-19 Reikan <openMSX4Win32@ranpub.com>
- * Call SDL_Quit() also when exit by error.
- This will fix crash(Win9x)/hang(Win2k/XP) on error exit.
- 2003-10-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed VDP command timing:
- - the updateTiming() method did a sync() with the old register
- values (correct). But also updated the timimng variable with the
- old register values (wrong).
- - fixes "Coding Melpots" part in "Metal Limit"
- * Replaced all PRT_ERROR macros with 'throw FatalError'
- 2003-10-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added "incr" and "decr" console commands
- 2003-10-14 Manuel Bilderbeek <manuel@msxnet.org>
- * Added provisional FDD LED emulation:
- - works only when the emulated FDC uses the DiskDrive class
- - LED goes on when diskdrive motor is on (not always correct!)
- - IDEHD also turns on FDD LED, when there is a read or write action
- - all possible FDD LEDs are ORed with each other
- * Implemented boolean setting 'turborpause', which sets the pause
- function of the MSX turbo R. TODO: pause function of other MSX
- computers like Sony HB-501 and MSX2+ machines (setting may need to
- be renamed!)
- 2003-10-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Continue VDP Cmds on display mode switch:
- - current implementation may not be 100% correct, but it's better
- than just aborting the cmd (fixes feedback bug)
- 2003-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Autofire code cleanups / simplifications
- 2003-10-09 David Heremans <david.heremans@gnu-linux.net>
- * Forgot to commit some autofire code
- * Adapted code to new Commands interface
- 2003-10-12 Maarten ter Huurne <maarten@treewalker.org>
- * VDP fix: fixed assert in SpriteChecker.
- 2003-10-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added CliCommunicator:
- - external programs can now use stdin/stdout to pass/read commands
- to/from openMSX. Very usefull for launchers or GUIs.
- * CliCommunicator cmds are now scheduled so they get executed by the
- main emulation thread
- 2003-10-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Turn LEDs off when openmsx quits
- * Refactored Commands interface:
- - commands should now return a string instead of calling the
- print() method to display stuff in the console.
- 2003-10-09 David Heremans <david.heremans@gnu-linux.net>
- * integrated renshaturbo from Alex into openMSX:
- fixed the namespace in Alex code
- 2003-10-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed VDP TR bit bug (fixes Ys-2):
- - TODO HMMC cmd can be simplified a lot
- 2003-10-08 Maarten ter Huurne <maarten@treewalker.org>
- * VDP fix: force renderer sync on sprite enable change.
- 2003-10-08 Joost Yervante Damad <joost@lumatec.be>
- * added initial screenshot support:
- the .png part is working and I tested it by
- hacking it into SDLRenderer, but I think someone
- more knowledgable of the openmsx internals should
- actually hook up the code
- 2003-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * VDP fix:
- - Mode and blank bits any have effect at the next line
- 2003-10-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed command/debug console settings
- 2003-10-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * It seems MSX-AUDIO sampleram is mirrored. This fixes sample loading
- in "Revolution".
- 2003-10-04 Herman Oudejans <hn.oudejans@quicknet.nl>
- * If the moderegister of the debugdevice is written to and bit 6
- of that same register is set, newlines will not be output.
- 2003-10-04 Maarten ter Huurne <maarten@treewalker.org>
- * Split off SettingsManager to separate source files.
- * Split off SettingNode and other namespace classes to separate sources.
- 2003-10-03 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Remove buffering from the debugdevice.
- 2003-10-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented 'vdpcmdtrace' setting
- * Fixed VDP commands that had SX/DX >= screen-width
- 2003-09-30 Manuel Bilderbeek <manuel@msxnet.org>
- * Added the Debug Device to the User's Manual
- * Small additions, fixes and clean ups in the User's Manual
- 2003-09-27 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.3.3.
- 2003-09-24 Maarten ter Huurne <maarten@treewalker.org>
- * Major rewrites and editing in Setup Guide.
- Thanks to Manuel for preparing the file for me.
- 2003-09-22 Reikan <openMSX4Win32@ranpub.com>
- * Add MIDI support for Win32.
- It's missing to know association between parameter names and
- real device. Ok. we'll call it as TODO.
- 2003-09-21 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Made the debugger optional. If the settings.xml doesn't contain
- a debugger section, it's turned off. In this case the debuggersettings
- in the console won't appear either.
- 2003-09-21 Manuel Bilderbeek <manuel@msxnet.org>
- * Made error messages more UNIX style and thus more uniform
- 2003-09-21 Maarten ter Huurne <maarten@treewalker.org>
- * Workaround for bug in shutdown sequence:
- MSXCPU::getCurrentTime is needed by audio callback,
- but MSXCPU got destroyed before audio was stopped.
- * Finished Pluggable rewrite:
- - all Pluggable instantiation moved to PluggableFactory
- - all Pluggable destruction moved to PluggableController
- * Added "install" target to alternative.mk.
- 2003-09-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * tab-completion improvements:
- - fixed bug while completing tokens that contained spaces
- - keep the formatting of the line the same as the original line,
- completion behaves a lot like the completion in bash now
- 2003-09-20 Maarten ter Huurne <maarten@treewalker.org>
- * Have VDPCmdEngine pass accurate timestamps to VRAM writes.
- In the process, replaced opsCount by currentTime.
- Should solve PA3 enemy box problem (missing bottom line).
- 2003-09-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fix the TR status bit in the VDPCmdEngine:
- most programs don't even check this bit so they weren't affected,
- the ones that did were waiting forever
- 2003-09-19 Reikan <openMSX4Win32@ranpub.com>
- * Win32: use SHGetSpecialFolderPath when available.
- I hope this help on Win95.
- 2003-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * The ';' character can now be used in the console to put 2 commands
- on 1 line. This is usefull to bind 2 commands to 1 key and have a
- deterministic order of executions between those commands.
- * tab-completion now works when cursor is not in last position
- 2003-09-14 Manuel Bilderbeek <manuel@msxnet.org>
- * Added run time configurable stereo settings. You can now set the
- channel mode of each (mono) sound device to mono, left or right from
- the console, using the set [sounddevice]_mode settings.
- * Integrated VolumeSetting into Mixer class.
- 2003-09-14 Reikan <openMSX4Win32@ranpub.com>
- * Fixed SystemContext error in FileOperations.cc.
- This affects only on Win32.
- 2003-09-13 Reikan <openMSX4Win32@ranpub.com>
- * Introduced flavour-win32.mk.
- Do only relatively conservative optimizations.
- * flavour-uow32.mk contains more aggressive optimizations now.
- * platform-mingw32-x86.mk uses flavour-win32.mk as the default now.
- 2003-09-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * filename stuff cleanups
- 2003-09-12 Manuel Bilderbeek <manuel@msxnet.org>
- * the file from which the WavAudioInput reads is now configurable with
- the setting "audio-inputfilename". Default is still
- "audio-input.wav".
- * restructured AudioWavInput class and cleaned it up a lot
- 2003-09-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * immediately respond to frameskip changes
- 2003-09-11 Reikan <openMSX4Win32@ranpub.com>
- * Added workaround for Win32 on pathname/path-delimiter.
- 2003-09-11 David Heremans <david.heremans@gnu-linux.net>
- * FDC_DirAsDSK: Figured out why a format didn't work correctly with
- my default emulated msx2 (NMS8250). Now the code can handle
- formating, didn't check on other machines yet
- 2003-09-09 David Heremans <david.heremans@gnu-linux.net>
- * FDC_DirAsDSK: Have cached sectors saved and loaded correctly, now
- you can use the entire fakedisk for writing as well.
- * Small bugfixes
- 2003-09-07 Maarten ter Huurne <maarten@treewalker.org>
- * Have the "plug" command handle PlugException correctly.
- * Changed Connector interface so that subclasses require less code.
- * Declared PlugException in Connector::plug as well.
- (yesterday's change added it to Pluggable::plug)
- * Replaced C standard includes with their respective C++ wrappers.
- 2003-09-06 Maarten ter Huurne <maarten@treewalker.org>
- * Added PlugException, which can be thrown by Pluggable::plug if the
- plug action fails for some reason.
- * Declared PlugException for the methods that can throw it.
- 2003-09-06 Manuel Bilderbeek <manuel@msxnet.org>
- * diska/diskb/etc without argument shows the currently inserted disk
- now
- 2003-09-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * VDPCmdEngine: correct behaviour when registers are changed while cmd
- is executing. There seem to be a few glitches left though.
- * Fix VDPCmdEngine timimg (was broken by previous patch)
- 2003-09-05 David Heremans <david.heremans@gnu-linux.net>
- * Corrected destructor behaviour for the Disk class
- 2003-09-03 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed bug: when CPU has to force extra device scheduling, it should
- schedule all devices until the I/O time, not just the devices until
- the schedule limit timestamp.
- 2003-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * more VDPCmdEngine optimizations
- * fix VDPCmdEngine register status at end of cmd, should now also be
- correct when cmd is interrupted
- * implemented most willStatusChange() methods for VDPCmdEngine
- 2003-08-28 Manuel Bilderbeek <manuel@msxnet.org>
- * the file to which the PrinterLogger logs is now configurable with
- the setting "printerlogfilename". Default is still "printer.log".
- * the file to which the MidiOutLogger logs is now configurable with
- the setting "midi-out-logfilename". Default is still "/dev/midi".
- * the file from which the MidiInReader reads is now configurable with
- the setting "midi-in-readfilename". Default is still "/dev/midi".
- * the file from which the RS232-tester reads is now configurable with
- the setting "rs232-inputfilename". Default is still "rs232-input".
- * the file to which the RS232-tester writes is now configurable with
- the setting "rs232-outputfilename". Default is still "rs232-output".
- 2003-08-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * small VDPCmdEngine optimizations
- 2003-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Initial version for Panasonic_FS-A1FM mapper:
- - internal software doesn't start yet (should it even?), but at
- least it doesn't crash anymore
- 2003-08-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved tabcompletion for plug command:
- - only complete pluggables that will fit in the selected connector
- * Made it easier to switch between MSX-MUSIC cores:
- - use the parameter "alternative" in the device config section
- 2003-08-23 Manuel Bilderbeek <manuel@msxnet.org>
- * Made the keys of the key joystick configurable.
- TODO: make it possible to have more than one key joystick.
- * Already some cleanups to make it robust against bad configs.
- 2003-08-23 Maarten ter Huurne <maarten@treewalker.org>
- * Rearranged joystick code:
- - Separated JoystickPort class into its own files and put them in the
- "input" directory.
- - Moved JoystickDevice, DummyJoystick and JoyNet to "input" directory.
- - Split and removed JoystickPorts class: the I/O was moved to MSXPSG,
- the instantiation was moved to the new PluggableFactory class.
- 2003-08-20 David Heremans <david.heremans@gnu-linux.net>
- * Rewrote code to be more sector based instead of cluster based:
- This also simplified the code, also made first steps towards
- more correct dir-entry handling.
- 2003-08-20 Reikan <openMSX4Win32@ranpub.com>
- * Added Keymap-change and KeyLayoutBit.
- 2003-08-18 David Heremans <david.heremans@gnu-linux.net>
- * Added cached diskwriting to FDC_DirAsDSK. Regular file operations
- seem to work, formatting doesn't yet. No writes to native host OS
- files so far.
- 2003-08-18 Reikan <openMSX4Win32@ranpub.com>
- * Adjusted as a first step to support win32.
- 2003-08-17 Herman Oudejans <hn.oudejans@quicknet.nl>
- * fixed a serious bug in the commandlineparser. -diska (and b),
- -carta (and b,c and d) work again.
- 2003-08-16 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Added priority to the commandline parser. When the -h option
- is invoked, there won't be any machines loaded.
- 2003-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Basic support for .zip files, for now always the first file in
- the .zip is taken
- * Added filetype detection for filenames of the form
- "<name>.<type>.zip", e.g. "psycho.dsk.zip"
- 2003-08-12 David Heremans <david.heremans@gnu-linux.net>
- * Small enhancement in FDC_DirAsDSK:
- Alowed writing of the boot sector. The altered boot sector is
- stored as a hidden file and is used when creating an FDC_DirAsDSK
- instance
- 2003-08-13 Maarten ter Huurne <maarten@treewalker.org>
- * Reikan released C-BIOS 0.17; I updated it in Contrib.
- 2003-08-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Now any file can be gzipped, including files loaded by SDL and libxml
- 2003-08-12 David Heremans <david.heremans@gnu-linux.net>
- * improved FDC_DirAsDSK:
- - now empty sector are generated for unmapped clusters
- - altered filesize also scanned for when accessing FAT sectors
- 2003-08-11 David Heremans <david.heremans@gnu-linux.net>
- * Added more functionality to the FDC_DirAsDSK class:
- - fixed an offset bug
- - made changes to files on the host OS visible to the emulated dsk
- file. Now altered filesize is detected when accessing file itself
- or the DIR sector and the DIR and FAT will be adjusted as needed
- 2003-08-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Read-only support for .gz files
- 2003-08-09 Maarten ter Huurne <maarten@treewalker.org>
- * Put all openMSX code in namespace "openmsx".
- This avoids name clashes with C libs, for example "Font" being
- defined by us and by Xlib.
- Those name clashes occur earlier when precompiling headers,
- but otherwise it's still an accident waiting to happen.
- 2003-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed FileContext owner ship semantics (fixes memory leak):
- - the class that creates a FileContext object should also destroy it
- - when a class needs a FileContext parameter for a longer time than
- the duration of the method call, it should make a copy of the
- FileContext object
- * Added audio input pluggable/connector for turbor PCM:
- - for now it just reads "audio-input.wav"
- 2003-08-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * CPU cleanup / speedup:
- * FDC cleanups:
- - renamed some classes
- - added a base class for sector based disks (those that don't
- store the information 'between' the sectors)
- 2003-08-06 David Heremans <david.heremans@gnu-linux.net>
- * Introduced to the FDC_DirAsDSK class:
- - it is now possible to have a directory given as value for the
- '-disk(a|b)' option, this will construct a read-only disk that
- contains the regular files in this directory. Content changes in
- those files are immediately visible in the emulated disks.
- Sizes changes of files are not incorporated yet!
- 2003-08-02 Herman Oudejans <hn.oudejans@quicknet.nl>
- * fixed compile errors when using gcc version 2.95
- 2003-07-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemeted a RS232 tester pluggable:
- - writes to file "rs232-output"
- - reads from file "rs232-input"
- - the BASIC commands load"COM:" and save"COM:" seem to work
- * Made sure that classes that are ment to be pure virtual,
- truly are pure virtual
- * Added rs232 extension
- 2003-07-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added MSX-RS232 to device factory
- * Gave MSX-RS232 16KB ROM
- 2003-07-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added MSX-RS232:
- - there do not exist any RS232 pluggables yet
- - code is yet completely untested
- 2003-07-27 Herman Oudejans <hn.oudejans@quicknet.nl>
- * decoupled de console and debugger again. It caused some unforseen
- site-effects.
- * Added settings for the debugger in settings.xml
- 2003-07-26 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Re-enabled the debuggerconsole.
- * made sure the console is turned off when de debugger is called.
- * added a disassembly view (still static).
- * added the same settings for the debugger as there were for the
- console (rows, columns, placement, font and background).
- 2003-07-26 Maarten ter Huurne <maarten@treewalker.org>
- * Refactored settings code.
- * Moved settings code into new "settings" directory.
- * Cleaned up the linking process.
- 2003-07-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * A few midi in related fixes. Still needs to be tested
- with real midi hardware
- 2003-07-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added midi in reader (reads from /dev/midi):
- - still completely untested
- 2003-07-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * added joystick emulation for mouse:
- - when you plug in the mouse with the left button pressed,
- it behaves like a joystick
- * added Semaphore class
- * protected Scheduler with a Semaphore:
- - it is now possible the register synchronization points in a different
- thread than the emulation thread. This will be needed for the
- MIDI in pluggable
- 2003-07-20 Herman Oudejans <hn.oudejans@quicknet.nl>
- * first steps toward a debugger. For now it's just a
- static hexdump.
- * Temperary removed an assert in de settingsmanager
- because the consolesettings are init twice.
- 2003-07-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed bug in MSX-Audio sample RAM
- 2003-07-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed some MIDI bugs
- * Added Midi Out Logger (logs to /dev/midi)
- 2003-07-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented Midi-In and Midi-Out ports for MSX-Midi:
- - completely untested, so it probably won't work yet
- - there are no pluggables for the midi ports yet
- 2003-07-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * A Pluggable is now told in which Connector it is plugged
- 2003-07-08 Herman Oudejans <hn.oudejans@quicknet.nl>
- * debugdevice now works with stdout, stderr and normal files
- 2003-07-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't clear SCC wave forms on reset
- * Added MSX-Midi:
- - except for sending and receiving data it works, thus
- timers and interrupt generation work
- 2003-07-06 Herman Oudejans <hn.oudejans@quicknet.nl>
- * added a debug device.
- * Details for control are in docs/debugdevice.txt
- 2003-07-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Started implementing MSX-Midi
- 2003-07-05 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed colour of blue intensity 2 in Graphic7 mode.
- Thanks to Grauw for reporting this bug.
- 2003-07-03 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed bug in scanline effect, which caused glitches on ATI and
- Matrox cards.
- 2003-07-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented stereo/mono and 8/16-bit conversion for wav files
- * Implemeted "force_play" and "no_force_play" for cassetteplayer
- 2003-07-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * On turbor use big 4mb rom also for MSX-MUSIC ROM and DISK ROM
- 2003-06-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed cassette player bug:
- - float was not accurate enough, use 64-bit fixed point
- * Made rewind command for cassetteplayer and tape patch
- 2003-06-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made casstte player audible:
- - you can turn it off with "set cassette_volume 0"
- 2003-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented automatic .cas to .wav conversion in CassettePlayer:
- - not all .cas files seems to work though
- - there can be a delay of a few seconds while converting the file,
- need to do the conversion in a helper thread
- * added peekMem() method, will be used by debugger to savly read mem
- 2003-06-28 Manuel Bilderbeek <manuel@msxnet.org>
- * Cleaned up the machines and extensions dir:
- - added a subdir 'roms' when needed
- - added the Id tags when missing
- - filename cleanups
- - fixed some typos
- - added SHA1SUMS files in each roms dir, when available
- * Added a few extensions
- 2003-06-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented Listener interface for Setting class
- 2003-06-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Converted romdb.xml to use 'title' tags iso 'id' attributes
- 2003-06-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented SHA1 support for romdb
- * Converted most of romdb.xml to SHA1
- 2003-06-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added new YM2413 core:
- use with the new (temporally) device "Music_2"
- * Implemented TurboR VDP access delay
- * Added SHA1 class (not yet used)
- 2003-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented 'fallback' mechanism for files in settings.xml
- 2003-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented undocumented flag bits for "BIT n,(HL)" instructions,
- ZEXALL test still passes
- 2003-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved performance for tab-completion:
- without this patch "diska <tab>" could take several seconds
- 2003-06-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented HBI-55 data cartridge:
- according to some BASIC test progs it seems to work, but not yet
- tested with Sony_HB_75P internal software
- 2003-06-09 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.3.2.
- 2003-06-09 Manuel Bilderbeek <manuel@msxnet.org>
- * Updated HOWTO (please check)
- * Updated/cleaned up machine configs:
- - MSX2+ machines have a memory mapper of 64kB (tested on real
- Panasonic FS-A1WX)
- - Changed ROM names in 8250 config to match the ones used in the
- other configs, using a 32kB combined ROM for basic/bios
- - Added missing CVS Id tags
- - Removed unnecessary DiskRomPatches from machines with TC8566AF FDC's
- - Changed FDC type names to new conventions (see 2003-03-29), note
- that the old ones won't work anymore. The names of the FDC classes
- should be revised though.
- 2003-06-09 Maarten ter Huurne <maarten@treewalker.org>
- * Implemented user-specified gamma correction for SDLLo/SDLHi/SDLGL.
- Find out your PC monitor's gamma using the measurement image on the
- following page: http://www.bberger.net/gamma.html
- TVs use a standardised gamma of 2.5. So for a realistic picture, set
- openMSX gamma correction to: PC_gamma / 2.5.
- Or you can just try a few values and see what you like ;)
- 2003-06-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't abort on "cassetteplayer <file>" cmd with invalid filename
- * Print warning when initial font or background images can't be read
- 2003-06-08 Maarten ter Huurne <maarten@treewalker.org>
- * In the command engine, only act on display mode switches if a
- different command engine mode is entered.
- * Fixed various GCC 2.95 compile problems.
- 2003-06-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Print error msg when user gives wrong diskimage on the cmd line
- * same for cas and wav images
- * Fix core dump while writing to read-only disk images
- * Don't put empty lines in console history
- 2003-06-06 Maarten ter Huurne <maarten@treewalker.org>
- * Added FloatSetting class.
- * Introduced new setting "gamma" for gamma correction.
- Not yet implemented in Renderers.
- * Refactored EnumSetting:
- - Split into type-safe inline wrapper class "EnumSetting" and
- type-indedendent implementation class "IntStringMap".
- Forced template instantiations are no longer necessary.
- - Made strings in string-enum map constant.
- 2003-06-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Refactored consolecolumns and consolerows settings
- 2003-06-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Merged Arjan's YMF278 fixes/improvements, plus did some optimizations
- * Take default MapperIO type in case the machine configuration doesn't
- specify one (all MSX1 machines)
- 2003-06-04 Maarten ter Huurne <maarten@treewalker.org>
- * New console font: ConsoleFontRaveL.png, this is a larger version of
- ConsoleFontRave.png (easier to read on hi-res screens).
- * New extensions: 512K/1MB/2MB/4MB external mapper.
- 2003-06-04 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Background and Fonts are not reset anymore when changing renderers.
- * Added 10 machine configurations, made by BifiMsx
- 2003-06-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * support 8kb roms
- * fixed SDLFont, sometimes the font was completely transparent
- * fixed UMR in Timer class (caused Toshiba rom to hang openMSX)
- * Implemented fake "per pixel alpha blending" for SDLFont
- 2003-06-03 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed SDLGL tile cache when character and pattern table use mirroring.
- Solves glitches in Dr Archie, Relax and probably others.
- 2003-06-02 Maarten ter Huurne <maarten@treewalker.org>
- * New console font: ConsoleFontRave.png, based on Bitstream Vera, but
- renamed due to license requirements (see http://www.gnome.org/fonts/).
- * Re-encoded existing console fonts to make their files smaller.
- 2003-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented MegaRam
- * Implemented PAC (like FMPAC, but without FM and without ROM)
- 2003-06-01 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Added a setting for grabbing mouse and keyboard input. When input
- is grabbed, the windowsmanager won't be able to mask keys from
- openmsx and the mousecursor won't be able to leave the openmsx
- window.
- 2003-06-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed mouse (hopefully)
- * Removed "loadsram" and "savesram" settings
- 2003-05-31 Maarten ter Huurne <maarten@treewalker.org>
- * When pausing, store last frame and keep plotting it during pause.
- Also keep redrawing the console, so it is usable during pause.
- Current implementation is a bit of a hack, but it works.
- * Implemented afterglow effect, try "set glow N" in SDLGL.
- 2003-05-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * VDPCmdEngine cleanups
- 2003-05-31 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Changed console save file into ascii. When loading the history,
- empty lines are ignored.
- * Removed error when unable to load consolehistory
- * Only two identical commando's directly after eachothers are now
- removed if removedoubles is active to improve performance.
- * Remove settings for consolehistory load & save. Default are now:
- - Always load and save.
- - Filename is now fixed as 'history.txt'
- 2003-05-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Refactored VDPCmdEngine, use VDPCmd subclasses for each command
- instead of function pointers
- 2003-05-30 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Implemented save/load consolehistory
- 2003-05-30 Maarten ter Huurne <maarten@treewalker.org>
- * Implemented Text2 and MultiColour modes in SDLGL using one texture
- per character approach (the approach Graphic2/3 already used).
- * Implemented screen accuracy.
- * Do not sync during a skipped frame.
- 2003-05-27 Maarten ter Huurne <maarten@treewalker.org>
- Dirty checking improvements:
- * Removed all old character dirty checking code from SDLRenderer and
- SDLGLRenderer.
- * Added DirtyChecker class, a generic VRAM cache administration.
- * Use new DirtyChecker in SDLGLRenderer for pattern and colour table.
- Caching the name table is useless in SDLGLRenderer.
- This is a work in progress, but the current state seems to be stable.
- 2003-05-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * More RealTimeRTC improvements
- * Some frameskip tuning
- * Keep frameskip setting between renderer switch
- 2003-05-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Use RTC Timer for RealTime syncing when available
- 2003-05-25 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed a problem with the consolesize when switching from SDLLo
- to SDLHi or SDLGL.
- * When the console is resized, the text in it will be rebuild.
- * Fixed a bug in the cursormovement (broke with the text rebuild).
- 2003-05-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Split RealTime in generic part and implementation specific part.
- This decouples time synchronization from SDL and paves the way
- for more accurate implementation (like RTC)
- 2003-05-24 Maarten ter Huurne <maarten@treewalker.org>
- * I/O to extended VRAM now goes to limbo, instead of main VRAM.
- * Changed VDPVRAM::Window to VRAMWindow.
- There is not much added value to a public inner class in C++...
- * Changed VDPVRAM::VRAMObserver to VRAMObserver, in its own file.
- Own file reduces the risk of cyclic header dependencies.
- * Renderer gets VRAM updates through VRAMObserver.
- This is a preparation for later optimisations.
- * Make sure no sprite checking is done in spriteless display modes.
- * In a spriteless mode, or when sprites are disabled, the entire sprite
- plane is skipped. This is more efficient than the previous checks for
- a "no sprites" situation, because it occurs earlier in the rendering
- process.
- 2003-05-24 Herman Oudejans <hn.oudejans@quicknet.nl>
- * commands can now be on multiple lines in the console.
- 2003-05-23 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed an error when processing the commandline and one
- device exists twice in the configurationfile(s).
- 2003-05-21 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Double commands in the console commandhistory can no
- longer occur.
- * Made 'remove doubles' and history size configurable
- 2003-05-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented run-time tuneable volume for sound devices
- 2003-05-19 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Implemented search history in the console
- * added Ctrl-C to clear the current command.
- 2003-05-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added MoonSound:
- - code was largly taken from mame
- - fm part is quite good already
- - wave part still needs some improvements:
- - some waves sound weird at certain frequencies??
- - missing features like: pseudo-reverb, LFO, vibrato, ...
- 2003-05-18 Maarten ter Huurne <maarten@treewalker.org>
- * Released openmsx-0.3.1.
- 2003-05-18 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Converted a lot of spaces into tabs.
- * Changed int into bool for zoomSurface().
- * Fixed indentation in zoomSurface().
- 2003-05-18 Maarten ter Huurne <maarten@treewalker.org>
- * Removed "ConsoleSource" directory and moved its code elsewhere:
- - actual console code moved to new directory "console"
- - command code moved to existing directory "events"
- - circular buffer code moved to directory "src"
- * Moved input devices code to new directory "input".
- Maybe more can be moved there in the future.
- * Changed "cpudebug" command into "cputrace" setting.
- Also fixed the duplicate "cpudebug" command on a turbo R (dual CPU).
- Note: this setting exists only if "cpu" dir is built in debug mode.
- 2003-05-17 Maarten ter Huurne <maarten@treewalker.org>
- * Removed EmuTime parameter from Command::execute.
- Since most commands do not interact with the emulated machine,
- they do not need EmuTime.
- * Removed EmuTime parameter from EventListener.
- The only reason this was needed before, was to execute commands.
- * Removed code that is no longer needed in the single thread model.
- * Fixed event handling during pause.
- 2003-05-17 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Implemented configurable file-extentions.
- * Lined the help-text up, properly.
- * Renamed lines/rows/columns/width/height -> rows/columns
- * Fixed a uncaught exception when the SDLConsole is resized
- and the backgroundfile can't be loaded.
- * Fixed -h when the specified machine can't be loaded.
- * Console now resets the scrollback when any key other than
- page up/down is used.
- * Fixed the blinking cursor in the SDLConsole.
- * Fixed Ctrl-A/E when numlock is active
- * Fixed a few small bugs in the CommandLineParser.
- 2003-05-17 Reikan <openMSX4Win32@ranpub.com>
- * Changed to single thread model.
- Now fixed SDLGL renderer fault on XFree86-4.3.0.
- 2003-05-11 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed colour of font on GLConsole overlayed on Text1 mode.
- 2003-05-11 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed segfault in the SDL background scaling when using 8bpp.
- tested and working in 15,16 and 24 bpp. in 8 bpp it doesn't
- give a segfault, but since the whole display isn't working, I
- can't see if the scaling really works.
- * SDL backgroundimage can now have any pixelformat.
- * SDL Console characters are no longer blended.
- 2003-05-10 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Fixed wrong initial default size of the console.
- * Fixed range of the consolecolumns-setting
- 2003-05-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Replaced old YM2413 code by new one. Volume still needs some tuning:
- - relative volume between music and drum channels
- - relative volume between YM2413 and other sound chips
- 2003-05-09 Herman Oudejans <hn.oudejans@quicknet.nl>
- * Added resizing and moving to the console.
- * Extended the console editing keys.
- * Added keyrepeat to the console.
- * Added setValueInt() and setRange() to Integersetting.
- * Added SDL background scaling.
- 2003-05-08 Maarten ter Huurne <maarten@treewalker.org>
- * Another GCC 3.3-pre fix: passing signed byte references as unsigned
- byte references. Typecasting to "(byte &)" instead of "(byte)" works
- on both GCC 3.2 and GCC 3.3-pre.
- 2003-05-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * a few fixes in new YM2413 code. Still not made default because
- drums in illusion city are screwed
- 2003-05-06 Maarten ter Huurne <maarten@treewalker.org>
- * Compiled with GCC 3.3-pre:
- - Fixed missing "#include <cassert>" directives.
- - Fixed some warnings, suppressed others.
- 2003-05-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * release openmsx-0.3.0
- * added "mbstereo" extension
- 2003-05-04 Maarten ter Huurne <maarten@treewalker.org>
- * Swapped the threads: event handling now occurs in the main thread,
- emulation occurs in a worker thread. Inspired by Reikan's UOW32 patch.
- This removes a lot of differences between the Linux and Win32 ports.
- Also, renderer switching and runtime full screen toggle should work
- on Win32 now.
- * Bug fixes on thread swap:
- - Fixed compile error on GCC 2.95.
- - Workaround for incompatibility of SDL_PushEvent.
- - Print exceptions thrown in emulation thread.
- * Minor bug fix on video init attempts in RendererFactories.
- * Merged Reikan's configure.ac improvements.
- * Fixed magnified sprites in sprite mode 2.
- Glitches in Eindeloos are gone.
- * Fixed bug: display was disabled after switching renderers during
- overscan (for example Unknown Reality title screen).
- * Fixed bug: possible writes outside screen buffer on overscan.
- Crashed Ark-a-Noah on SDLHi.
- 2003-05-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Trojka starts playing ADPCM samples without initializing the
- sample volume. The sample volume after a reset was set to
- minimum, changed it to maximum.
- 2003-05-03 Maarten ter Huurne <maarten@treewalker.org>
- * Removed EmuTime parameters from Settings methods.
- * Centralized GL header check in new GLUtil.hh file.
- In the future, GLUtil.hh will contain GL utility classes/functions.
- * Replaced "renderer" command by a "renderer" setting.
- This also makes sure the user cannot switch to a non-existant renderer.
- * Moved "Rom.(hh|cc)" and "SRAM.(hh|cc)" from "src" to "src/memory".
- * Removed obsolete "cfg" directory; configurations are in "share" now.
- 2003-05-02 David Heremans <david.heremans@gnu-linux.net>
- * Added the Contrib/cbios directory to 'make install'
- * Have make install create some nice softlinks
- * Added md5sum files
- 2003-04-30 Maarten ter Huurne <maarten@treewalker.org>
- * Introduced Blender class and use it from Character/BitmapConverter.
- * Implemented narrow SCREEN6 sprite pixels in SDLGL.
- * Implemented blended SCREEN6 sprite pixels in SDLLo.
- * Refactored ROM related classes to get device ID from hardwareconfig.xml
- into RomInfo.
- In the process all mapper type code has been centralized in RomInfo.
- All of this just to get "slot 3.3: Firmware" in the slotmap ;)
- 2003-04-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fix tabcompletion for absolute paths
- 2003-04-28 David Heremans <david.heremans@gnu-linux.net>
- * Fixed make install to /opt/openMSX and create extra link for
- binary in /usr/local/bin
- * added (no)debug to main makefile
- 2003-04-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented more complete filename completion as described in
- feature request 713442
- 2003-04-27 Maarten ter Huurne <maarten@treewalker.org>
- * Added a console background to SDLGL when no image is used.
- * Minor cleanups to console classes.
- * Take horizontal adjust into account for calculating HR and horizontal
- retrace interrupt timing.
- Fixes some of the glitches in No Waste, but not all.
- * Fixed text colour in Text1 mode in SDLGL: reverted a misguided
- optimisation. (in GL, full intensity of int is 0x7FFFFFFF, not 0xFF)
- * Updated C-BIOS to version 0.16.
- 2003-04-25 David Heremans <david.heremans@gnu-linux.net>
- * Allowed JoyNet to accept a new connection if
- previous connection is closed.
- 2003-04-25 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed sprite colours in Graphic5 (SCREEN6).
- The turbo R boot logo looks OK now.
- However, narrow sprite pixels do not yet work in SDLGL.
- * Implemented horizontal scroll high and multi page in SDLGL.
- This implementation is based on Wouter's horizontal scroll patch.
- * Implemented horizontal scroll high and multi page in SDLHi/Lo.
- Note that some horizontal scroll features are still missing:
- * Multi page scrolling in combination with deinterlace.
- * Scrolling in character modes.
- However, the current state should be enough to run most games and demos.
- 2003-04-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * if an extension exists both in user as in system directory, prefer
- the one in user directory
- 2003-04-23 Maarten ter Huurne <maarten@treewalker.org>
- * Added update calls for horizontal scroll settings.
- 2003-04-22 Maarten ter Huurne <maarten@treewalker.org>
- * Partial horizontal scroll implementation: scroll low and border mask.
- Scroll high and multi page to be done.
- Space Manbow works fine in MSX2+ mode now.
- 2003-04-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Improved DACSound quality:
- - improved quality at the expense of an (extra) delay
- - samples in Swiss Demo sound acceptable now
- - modplayer sounds better but still not very good
- * Updated FMPAC:
- - ROM is not visible while SRAM is active
- 2003-04-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added alternative YM2413 core (implemented by Jarek Burczynski):
- - still needs some work before it can replace old core
- - volume needs some tuning
- - performance optimizations (silent channels)
- - bug fixes(?)
- - if you want to try it copy YM2413.cc.new and YM2413.hh.new over
- YM2413.cc and YM2413.hh and recompile
- 2003-04-18 David Heremans <david.heremans@gnu-linux.net>
- * Fixed a bug in JoyNet, but need a program with a good asyncron
- protocol to test it
- 2003-04-17 Maarten ter Huurne <maarten@treewalker.org>
- * Separated drawSprites from drawDisplay in subclasses of PixelRenderer.
- 2003-04-16 Maarten ter Huurne <maarten@treewalker.org>
- * Moved display coordinate calculation from subclasses to PixelRenderer.
- 2003-04-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reworked SCC
- - Manuel Pazos's SCC detection routine works correctly now
- - Optimized for common case. You mostly write to SCC and hardly
- ever read from it
- 2003-04-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reworked consoles:
- - splitted console in "core console" and "console renderer",
- the main advantage is that command history is preserved
- while switching renderers
- 2003-04-12 Maarten ter Huurne <maarten@treewalker.org>
- * Created util.hh: currently only contains fillBool, which used to be
- duplicated in SDLRenderer and SDLGLRenderer.
- * Removed system.h: this file has probably been obsolete for some time,
- but managed to escape everyone's attention.
- * Changed SDLGLRenderer to use SpriteConverter.
- 2003-04-10 Maarten ter Huurne <maarten@treewalker.org>
- * Moved the VDP and rendering code into new "video" directory.
- Thanks to Manuel for suggesting how to solve symbol dependencies.
- But I still don't like recursive Make...
- 2003-04-09 Maarten ter Huurne <maarten@treewalker.org>
- * Merged SDLLoRenderer and SDLHiRenderer into SDLRenderer.
- Template expansion replaces duplicated code.
- From a user perspective, "SDLLo" and "SDLHi" still exist.
- 2003-04-06 Manuel Bilderbeek <manuel@msxnet.org>
- * Clean up in RomInfo stuff for empty ROMs. Note that I'm now assuming
- that an empty ROM is always an empty SCC. Is this a valid
- assumption? The problem is that `forced' ROM types (as with an empty
- SCC) are not put in the ROMInfo. So I can't check if it is really
- an SCC...
- 2003-04-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added Korean80-in-1 mapper type
- * Added Korean90-in-1 mapper type
- * Added Korean126-in-1 mapper type
- * Implemented "keyjoystick", joystick emulation via keyboard:
- - use like this "plug joyporta keyjoystick"
- - joystick direction is mapped on cursors
- button-A space
- button-B left alt
- - TODO mapping should become configurable
- - TODO you should be able to configure more than one keyjoystick
- * Implemented V9958 CMD bit:
- I don't know any program that actually uses this, so it is
- not yet tested
- 2003-04-04 David Heremans <david.heremans@gnu-linux.net>
- * Getting everything in /opt/openmsx installed, no links yet
- 2003-04-04 Maarten ter Huurne <maarten@treewalker.org>
- * Introduced SpriteConverter, a utility class for the Renderers to use,
- similar to BitmapConverter and CharacterConverter.
- * Changed SDLHiRenderer to use SpriteConverter.
- * Removed PixelRenderer's protected fields from SDLGL and SDLHi.
- 2003-04-03 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed remaining reads of uninitialised VDP fields.
- 2003-04-02 David Heremans <david.heremans@gnu-linux.net>
- * First cleanups to prepare for a 'make install'
- 2003-04-02 Maarten ter Huurne <maarten@treewalker.org>
- * Minor cleanups in SpriteChecker.
- 2003-03-31 Maarten ter Huurne <maarten@treewalker.org>
- * Turned DisplayMode into a class (makes code easier to read).
- * SpriteChecker no longer checks sprites in text mode.
- * Various minor cleanups along the way.
- 2003-03-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Don't abort (only warn) when there occurs an error during processing
- of autocommands
- * Converted "frontswitch" command into a setting
- 2003-03-30 Maarten ter Huurne <maarten@treewalker.org>
- * Removed fullScreen parameter from Renderer constructors.
- * Made Renderer constructors private, only available to their
- respective factories.
- * VDP subsystem reset methods are no longer called by their constructor,
- instead they are called explicitly by the VDP.
- * Removed EmuTime parameter from VDP subsystem constructors.
- * Rearranged VDP constructor to remove overlap with reset method.
- * Fixed uses of display mode which could not yet handle the YJK bits.
- * Fixed a tricky bug that could occur if rendering was performed in the
- middle of a series of updates that all occur at the same EmuTime.
- 2003-03-29 Manuel Bilderbeek <manuel@msxnet.org>
- * Moved other configs from src/cfg to share/machines
- * Added some more extensions
- * Changed settings.xml to use cbios-msx2 and added skins/ prefix to
- ConsoleFont.png
- * Updated the HOWTO. I wish the make install was finished, so that I
- can cut 10% of the HOWTO... (it's getting complicated to explain...)
- 2003-03-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed crashes on missing arguments (e.g. "openmsx -ext")
- * Added extra FDC names:
- National --> MB8877A
- Panasonic --> TC8566AF
- Philips --> WD2793
- The old names are deprecated, as soon as the machine configuartions
- are changed to use the new names, the old names will be removed.
- * Fixed crash on missing console font
- 2003-03-28 Manuel Bilderbeek <manuel@msxnet.org>
- * More refactoring of Rom objects to add RomInfo:
- - all Rom objects now have a RomInfo object
- - get information that was in the romdb from that object
- - slotmap uses this and prints real Rom info, when available; later,
- the GUI should be able to use this too, in some way
- - note that all MSXRom constructors changed :-)
- - note that it's my first big change, please fix things that
- could be a lot better and tell me about it :-)
- Maarten, Wouter and Joost: thanks for your help!
- * Added loads of machine configs (thanks Atarulum):
- - when we decide what to do with the patches for the FDC, I'll
- add the others
- 2003-03-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed RomPanasonic SRAM
- * Optimized VDPCmdEngine for common case: no command in progress
- 2003-03-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed VDP Command Engine bug:
- - on every sync() the engine processed at least one 'pixel',
- when you poll the VDP very fast (R800) the time between
- two syncs is less than one pixel. This screws up the
- bookkeeping.
- - Fixes MSXView startup problem, Relax demo, ...
- 2003-03-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Another directory structure change:
- moved machines/ -> share/machines/
- extensions/ -> share/extensions/
- etc/romdb.xml -> share/romdb.xml
- settings.xml -> share/settings.xml
- * Create share directory, moved a lot of files around
- 2003-03-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reimplemented Panasonic memory system:
- - in TurboR rom/ram are tightly connected (dram mode, ...)
- Memorymapper, RomMapper, BiosRom are now implemented as special
- as special devices
- - TurboR hardwareconfig.xml updated
- - MSXView almost works now, without "set cmdtiming broken" openmsx
- wait for a never ending VDP command. Still investigating...
- 2003-03-22 Manuel Bilderbeek <manuel@msxnet.org>
- * Refactored ROM mappertype retrieval/ROM Info (WIP, to enable readout
- of ROM info in the console.)
- 2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented timeout for reading mouse:
- - this fixes the '"plug joyporta mouse" in settings.xml' bug
- - current timeout is 1/100s, I've no idea of the timeout
- value of a real MSX mouse
- 2003-03-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Various minor optimizations / cleanups, mostly better cache for
- unmapped memory regions
- 2003-03-16 Manuel Bilderbeek <manuel@msxnet.org>
- * When a ROM is found in the romdb, the info about the ROM is now
- printed. Later, this info could be stored somewhere, so that the GUI
- can use it to show a ROM title, e.g.
- 2003-03-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added HALNOTE mapper type:
- - Doesn't work yet! Only 'normal' rom switching is emulated.
- The program also writes to pages 0 en 3 and it selects rom
- pages > 0x80, I've no idea what this should do.
- * Fixed format command, apparently I broke it several months ago.
- 2003-03-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "vramdump" console command, only available when
- compiled with DEBUG
- 2003-03-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reworked MSXRom:
- - made a (small) subclass for every mapper type:
- * Moved MSXRom MSXRam related files to a new directory "memory"
- * Fixed rom-cartridge SRAM saving, path was wrong:
- - it is now ~/.openMSX/persistent/roms/<romname>/<sramname>
- 2003-03-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "Harry Fox" mapper type
- * Fixed ASCII8 mapper type:
- Annimal Land works now
- 2003-03-03 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed bug in PixelRenderer: finishFrame was called every frame,
- even with frame skip active.
- This also fixes the special effects in GL with frame skip active.
- 2003-03-02 Maarten ter Huurne <maarten@treewalker.org>
- * Introduced RendererFactory.
- This should help in making the renderer selection a setting.
- It will also make it possible to query which renderers are available.
- 2003-03-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Converted "frameskip" console command into a setting
- * Implemented BooleanSetting as a specialization of EnumSetting<bool>
- * Fixed path resolution bug:
- all files were also searched for relative to the current directory
- 2003-03-01 Maarten ter Huurne <maarten@treewalker.org>
- * Updated C-BIOS to version 0.15.
- 2003-03-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Converted "throttle" console command into a setting
- * Converted "pause" console command into a setting
- * Converted "mute" console command into a setting
- * Converted "console" console command into a setting
- 2003-02-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Converted "speed" console command into a setting
- 2003-02-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented free slot selection:
- - this is only a temporary solution, it will very likely change
- in the next release
- - when you specify -1 for the primary slot, the cartridge will
- be inserted in a free external slot. Very usefull to write
- generic extensions.
- * romdb.xml is now searched in /opt/openMSX/etc/romdb.xml
- or in ~/.openMSX/etc/romdb.xml
- * removed -fmpac and -musmod command line options, they are
- replaced by extensions
- 2003-02-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * extension directory now has the same structure as the
- machines directory:
- - for example the scc extension lives in
- ~/.openMSX/extensions/scc/hardwareconfig.xml
- * Implemented Jon's SCC amplitude measurements
- 2003-02-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented command line extensions:
- - you can load configuration files located in
- ~/.openMSX/extensions/
- /opt/openMSX/extensions/
- with the "-ext" command line option
- - example:
- ./openmsx SDNATCH1.DSK -ext scc+
- * Removed -msx1 -msx2 -msx2+ -turbor command line options
- * SRAM of rom cartridges is saved in
- ~/.openMSX/persistent/roms/<rom-name>/
- 2003-02-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "console_font" setting:
- - change the console font at run-time
- * Fixed SCC+
- 2003-02-19 Maarten ter Huurne <maarten@treewalker.org>
- * Implemented "toggle" command, which toggles any BooleanSetting.
- * Replaced "fullscreen" command by "toggle fullscreen".
- * Support key binding of command including parameters.
- 2003-02-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reworked File / FileContext classes:
- - separated "searchpath-resolution" from file opening
- * Implemented "console_background" setting:
- - change the console background at run-time
- 2003-02-16 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed a bug in the VDP, where display-on was reported before the sync
- with VDP subsystems was completed. Can cause the command engine to
- run too slow, among other things.
- 2003-02-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * First step to persistent state directories:
- - persistent state files are saved in
- ~/.openMSX/persistent/<machine>/<username>/
- - <machine> is the name of the directory where we found the
- hardware description. Maybe we should get this from inside the
- config file?
- - it's not yet possible to specify <username>, so for now it's
- always "untitled<n>"
- * Default machine can be specified in settings.xml:
- - see example settings.xml, this will load
- ~/.openMSX/machine/nms8250/hardwareconfig.xml
- * Added "-machine" command line option
- 2003-02-13 Maarten ter Huurne <maarten@treewalker.org>
- * Made "full screen" into a setting.
- The "fullscreen" command still works, but will disappear in the future.
- 2003-02-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Uninline cpu rdmem and wrmem slowpaths:
- this actually increased performance a little
- * RTC uses generic SRAM class for persistent data:
- - SRAM is now the _only_ class in the whole tree that writes files
- - parameters "filename, load, save" changed to "sramname, loadsram,
- savesram". This means all configuartion files must be updated.
- * Implemented SCC+ subtypes:
- "Snatcher" "SD-Snatcher" "mirrored" "expanded"
- 2003-02-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed MSX-AUDIO mapper:
- - it has 4 pages of 32kB instead of only 2
- - it has 4kB RAM
- - is mirrored at 0x8000-0xffff
- * Fixed Y8950 interrupt masks
- 2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented Panasonic MSX-Audio mapper type (untested)
- 2003-02-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Compiled with some extra warnings enabled and fixed the
- resulting warnings
- * Renamed MSXRomDevice to Rom (it isn't a device anymore)
- * Default values for settings.xml:
- - all sections in settings.xml now have default values if they
- are left out the config file
- - don't abort when settings.xml is not found
- - but I really advise _against_ using these features
- 2003-01-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "user directories" (see settings.xml)
- * Fixed "specify other config file" bug
- * Relative-from-config was broken, fixed it
- 2003-01-30 David Heremans <david.heremans@gnu-linux.net>
- * altered a code comment and added some extra config examples
- 2003-01-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented home-directory-substitution for local files:
- When a filename starts with "~", this character is replaced by
- the content of the environment variable HOME. I'm not sure
- this will work for non-UNIX OS'es.
- * Implemented system-directories:
- - The files romdb.xml, msxconfig.xml and settings.xml are searched
- in the "system directories". For the moment these are (in this
- order)
- ~/.openMSX/
- ~/openMSX/
- /usr/local/etc/openMSX/
- /etc/openMSX/
- But we need to discuss about this list. Note that "." is not in
- the list.
- 2003-01-27 David Heremans <david.heremans@gnu-linux.net>
- * Increased usefulness of error message in DeviceFactory
- 2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Automatically load "settings.xml" on startup:
- - you can specify an alternative file with the "-setting" command
- line option
- - For the moment "settings.xml" must be in the current directory
- * Moved hard-coded HotKey bindings to settings.xml
- 2003-01-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed Z80/R800 switching again
- * Removed "sync_interval" parameter from RealTime
- 2003-01-26 Maarten ter Huurne <maarten@treewalker.org>
- * Relaxed over-zealous assert in PixelRenderer by one tick.
- 2003-01-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed TurboR assertion:
- targetTime wasn't set properly when switching CPU (Z80 <-> R800)
- * Added dummy MSX-Midi:
- Illusion city works now!
- 2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reworked MSX-MUSIC / FMPAC:
- removed enable/disable logic from MSX-MUSIC
- 2003-01-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Renamed "TurboR" FDC type to "Panasonic"
- * Fixed "cpudebug" command (I broke it yesterday)
- * Fixed MSXMatsushita:
- this caused FS-4700 build-in word processor hang
- * Removed ROM files from CVS
- 2003-01-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Allow muliple commands with the same name:
- - for example both Z80 and R800 could have a "cpudebug" command
- at the same time (not implemeted yet)
- 2003-01-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed SearchPath stuff
- * Relative paths in config files are now relative to the location
- of the config file:
- - this together with the change above probably means you have
- to rewrite some/all of your config files
- * Moved some #include's from .hh to .cc
- 2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented 8-bit unsigned 16-bit signed DAC
- * Implemented MSX-AUDIO 13-bit DAC:
- untested because TurboR (needed for modplayer) is broken
- for the moment
- 2003-01-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed MSXF4Device:
- FS-A1FX (re)boots correctly now
- 2003-01-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Removed possibility to use other than XML config files
- 2003-01-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed Kanji12
- * Removed some unused classes from config directory
- 2003-01-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented Kanji 12x12:
- - not tested, I don't have correct ROM
- * Implemented front switch:
- - use console command "frontswitch [on/off]"
- - not tested yet, will do it tomorrow
- 2003-01-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added powerOff() method to MSXDevice
- * Removed getCurrentTime() calls from destructors
- 2003-01-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * removed MSXCPU::getTargetTime() method
- * added EmuTime argument to the execute() method of a Command:
- this removes some of the calls to MSXCPU::getCurrentTime()
- * An empty SCC cartridge no longer needs "/dev/zero" as filename,
- just don't specify a filename:
- this also works in OSes that don't support /dev/zero
- * Removed "readromfile" parameter from SCCPlusCart:
- if you don't want to read a rom just don't specify one
- * Better(?) rom placement heuristics:
- fixes zanac
- 2003-01-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed CPU on big endian machines
- * TurboR PCM update:
- - It now works in Seed of Dragon, although the frequency seems
- wrong. The game also hangs when you start to play.
- 2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed CPU HALT instruction
- * Semi-fixed CPU/Scheduler interaction:
- - seems to work, but I still need to take a very close look at
- the code
- 2003-01-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Large CPU rewrite:
- - we never perform IO at a timestamp greater or equal than
- the earliest sync point
- - 1% - 2% slowdown compared to previous implementation
- - ZEXALL tests still pass
- - still need to verify if the timimng of the instructions is
- still correct
- 2003-01-05 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed mode number for Text 2 in VDP::updateColourBase.
- * Recalculate pattern and colour base when switching modes.
- 2003-01-04 Maarten ter Huurne <maarten@treewalker.org>
- * Implemented colour and pattern index mask calculation.
- * Fixed remaining Doxygen warnings.
- 2003-01-03 Maarten ter Huurne <maarten@treewalker.org>
- * Fixed Doxygen warnings.
- * Fixed I/O port handling of Matsushita switched device, which I forgot
- in yesterday's changes.
- 2003-01-02 Maarten ter Huurne <maarten@treewalker.org>
- * Moved I/O port registration out of VDP and into DeviceFactory.
- Eventually, all I/O port registration should move to the machine
- description file.
- * Moved I/O port registration of all other I/O devices out of the
- device and into DeviceFactory (or FDCFactory in one case).
- 2003-01-01 Maarten ter Huurne <maarten@treewalker.org>
- * Workaround to prevent out-of-order I/O with the VDP.
- * Added asserts to VDP code to check timing constraints.
- * Fix for sprites in planar modes.
- * Fixed behaviour of port #99, #9A and #9B interference.
- * Colour and pattern base mask calculation are now done in a single
- method each.
- 2002-12-30 Joost Yervante Damad <joost@lumatec.be>
- * updated AUTHORS
- 2002-12-30 Maarten ter Huurne <maarten@treewalker.org>
- * Let VDPVRAM::Window notify its observer of base/index changes and
- windows that become disabled.
- 2002-12-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Autodetect BASIC ROM cartridges:
- code mostly taken from windows port
- * Don't abort when "romdb.xml" is missing, just print a warning.
- * Added a lot of const qualifiers
- * Implemented TurboR PCM device:
- - only playing (no recording)
- - sound quality is really bad (like all our DACSound based devices)
- 2002-12-29 Maarten ter Huurne <maarten@treewalker.org>
- * The VDPVRAM::VRAMObserver interface is put to use for the first time,
- by SpriteChecker. Cleans up the VDP subsystem synchronisation code.
- 2002-12-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Released 0.2.1
- * Better rom placement heuristics:
- should solve bug 658430 point 3 (rom files without "AB" header)
- * Allow filenames that contain a ',' on the commandline
- * Support roms that don't like to be mirrored:
- - solves bug 658430 point 1 (BASIC prog at 0x8000)
- - can't be autodetected (yet?), you must specify romtype as
- "PAGE[...]" (examples "PAGE2", "PAGE01", "PAGE12", ...)
- - romdb.xml should be updated for these 'problem' roms
- 2002-12-28 Maarten ter Huurne <maarten@treewalker.org>
- * Cleaned up sprite checker synchronisation.
- 2002-12-27 Maarten ter Huurne <maarten@treewalker.org>
- * Created VDPSettings class, moved cmdTiming there.
- * Moved limitSprites from config to VDPSettings.
- 2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Support for second MSX-AUDIO:
- - add this to the AUDIO section in the config
- <parameter name="number">2</parameter>
- - alex' modplayer doesn't work yet :-(
- 2002-12-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Tabcompletion for setting values:
- example: set accuracy p<tab>
- * Implemented "cmdtiming" setting:
- Switch between real or instantaneous VDP command timing.
- Should only be used for debugging purposes.
- * Implemented YJK/YAE (screen11/12) rendering
- 2002-12-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Updated RealTime class:
- - this should improve the cases where emulation is too slow,
- but openMSX doesn't claim 100% CPU time
- * SDLLoRenderer inherits from PixelRenderer iso Renderer
- - SDLLoRenderer now also has "accuracy" setting
- 2002-12-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made some IDE stuff configurable:
- - master/slave device
- - HD image
- - HD size is not yet configurable
- - see someconfig.xml for format of new config
- 2002-12-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented MSX Bunsetsu Henkan / Jisyo:
- - I don't have much info on this device, but at least BUNSDUMP.BAS
- gives the correct result
- 2002-12-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed assertion in VDP when computer was reset while in PAL mode
- 2002-12-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented MSXDeviceSwitch:
- - IO-ports 0x41-0x4F are (possibly) shared between several devices
- - IO-port 0x40 selects the active device
- * Converted MSXS1985 to a MSXSwitchedDevice
- * Converted MSXFS4500SRAM to a MSXSwitchedDevice:
- - renamed to MSXMatsushita
- - implemented PUT KANJI function (IO-ports 0x43-0x44)
- 2002-12-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented correct mirroring for National based FDC's
- 2002-12-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented mmap() in File classes:
- - map a file direclty into the process memory range, the OS can
- perform some optimizations this way:
- - only read data when actually used
- - faster swapping
- - ...
- - I'm not sure non-UNIX OSes (windows) have a similar function,
- if not there is a fallback implemented in FileBase (we also
- need this fallback for FTP, HTTP, ... files)
- * Simplified/updated MSXRomDevice:
- - simpler interface: you no longer need to inherit from MSXRomDevice
- - use mmap() to read files
- * Implemented FS4500SRAM (suggestions for a better name are welcome):
- put this in your config file:
- <device id="FS4500 SRAM">
- <type>FS4500SRAM</type>
- <parameter name="loadsram">true</parameter>
- <parameter name="savesram">true</parameter>
- <parameter name="sramname">FS4500.SRAM</parameter>
- </device>
- 2002-12-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * added SRAM class:
- This is just a small helper class that offers loading and
- saving of a byte-array. For the moment only MSXRom and MSXFmPac
- use it.
- 2002-12-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * added CRC16 routine, can be used by FDC / FDCBackends
- * fixed TC8566AF: completely forgot to send step/side/motor
- commands to the DiskDrive
- 2002-11-30 David Heremans <david.heremans@gnu-linux.net>
- * Still working towards raw track read
- 2002-11-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * fixed auto frameskip:
- probably still needs some finetuning
- 2002-11-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed FDC bug (DriveMultiplexer)
- 2002-11-27 David Heremans <david.heremans@gnu-linux.net>
- * Working towards raw track read
- 2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * FDC rewrite, introduced DiskDrive and DriveMultiplexer classes:
- - this is a relatively large rewrite, so I may have broken
- something. I wanted to commit rather soon, so I only tested
- the Philips FDC.
- - WD2793 Type I commands are now executed the same as in the
- flowcharts of the technical datasheet (verify step not yet).
- 2002-11-18 David Heremans <david.heremans@gnu-linux.net>
- * a small WD2793 update:
- quick implementation of multi sector read
- not tested and DSK backend needs to be changed
- for correct behaviour!
- 2002-11-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Mapped TurboR keys to left and right windows key:
- I haven't checked this, so possible I swapped left and right
- 2002-11-17 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * a few WD2793 updates (David please review):
- MicrosolFDC partly works now: in BASIC the commands files load save
- work, but starting a game from disk doesn't work.
- * converted "deinterlace" from a command to a setting:
- - you should now use "set deinterlace [on|off]" instead of just
- "deinterlace [on|off]"
- * converted "accuracy" from a command to a setting:
- - you should now use "set accuracy [line|pixel|screen]" instead of
- just "accuracy [line|pixel|screen]"
- 2002-11-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * renamed BrazilFDC to MicorsolFDC:
- doesn't work yet, I'm investigating...
- * cleanups, small fixes in WD2793
- 2002-11-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented 'PUT KANJI acceleration' of S1985:
- This fixes the font printing problem of the FS-4600F internal
- software. AFAIK the FS-4600F now works completely (or at least
- as good as NMS8250).
- You need to add this to the FS-4600F config file:
- <device id="S1985">
- <type>S1985</type>
- <device>
- 2002-11-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * National mapper type fixes:
- - FS-4600F internal software seems to work, but I'm not certain
- the 1st and 2nd menu option work as they should. Can someone
- verify this?
- * Fixed National FDC
- 2002-11-11 David Heremans <david.heremans@gnu-linux.net>
- * completed timing in WD for writeTrack command:
- Timing still needs some fine tunning, but not much
- * implemented writetrackdata in DSK backend:
- Formatting with _format in BASIC seems to work
- Need to compare with some real disks just to be sure.
- 2002-11-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * fixed PhilipsFDC: IDEFDISK doesn't coredump anymore
- * use old style file functions: should work with both old and new gcc
- 2002-11-08 Maarten ter Huurne <mth@stack.nl>
- * Improved scanline emulation: the dark line is now an interpolation of
- the visible lines above and below.
- * Added horizontal blur: emulates the fact that MSX monitors and TVs
- are not as sharp as typical PC monitors. Many game graphics are drawn
- with this blurring in mind and look poor on a sharp display.
- Note: scanlines and blur are implemented only in the GL renderer.
- 2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * added VDP reset() methods (not finished)
- 2002-11-03 Maarten ter Huurne <mth@stack.nl>
- * Initial version of generic settings is working now.
- Currently there is only 1 setting: scanline alpha.
- 2002-11-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * minor cleanups
- * fixed a few uninitialized variables:
- - discoverd with valgrind
- - some were harmless, fixed anyway to keep valgrind quiet
- 2002-11-02 David Heremans <david.heremans@gnu-linux.net>
- * Added two calls to the FDC backend:
- These should later be used to enable the writeTrack command
- 2002-11-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Basic TC8566AF disk controller support (TurboR):
- - Based on code from NLMSX written by Frits Hilderink
- - TurboR boots now! It still has a lot of missing features though.
- 2002-11-01 Maarten ter Huurne <mth@stack.nl>
- * Scanline emulation in SDLGLRenderer.
- Very rudimentary in this stage, but it works.
- 2002-10-31 Maarten ter Huurne <mth@stack.nl>
- * Changed SDLGLRenderer to make it a subclass of PixelRenderer.
- * Minor cleanups in SDLHiRenderer.
- 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * rewrite of FDC infrastructure:
- - the existing diskroms are too different to handle them all
- in one class -> made FDCFactory that instantiates the right
- object
- - Implemented support for:
- - Philips based diskroms: were already supported
- - Brazil based diskroms (needs better name?): IO-based
- were already supported, but I never tested them
- I also didn't test the new implementation
- - National based diskroms (needs better name?):
- also untested
- The three diskroms above are all build around the WD2793 (or
- compatible) controller.
- - Configuration format changed slightly, see msxconfigFDC.xml
- for details
- 2002-10-29 Maarten ter Huurne <mth@stack.nl>
- * Minor cleanups in PixelRenderer and SDLHiRenderer.
- 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented mapper type "NATIONAL":
- completely untested, will have to wait till this weekend
- 2002-10-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Replaced all file reading related classes with a new class
- structure. This structure:
- - has a simpler and more robust interface
- - is easier to port(?)
- a large part of the WIN32 patch deals with file reading stuff
- - has real filetype separation: rom, disk, tape, config files have
- their own searchpaths
- 2002-10-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "CartridgeSlotManager"
- 2002-10-25 David Heremans <david.heremans@gnu-linux.net>
- * "frameskip auto" completed
- 2002-10-24 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Cartridges are only inserted after configuration is parsed, this
- allows in the future to have configurable cartridge slots
- * Added PANASONIC mapper type (for example used in Turbo-R for
- MSX-VIEW ROM). Untested!!
- 2002-10-23 Maarten ter Huurne <mth@stack.nl>
- * Fixed bug in sprite drawing of SDLLo.
- * Fixed bug in initialisation of horizontal adjust.
- * PixelRenderer now offers left border calculation to its subclasses.
- * Bug fixes and cleanups in coordinate calculation of
- SDLHiRenderer::drawDisplay; SCREEN0 no longer fails the asserts.
- * Cleanups in SDLHiRenderer::drawSprites.
- Should be applied to other Renderers as well.
- 2002-10-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Rewrite of "CommandLineParser":
- - CLI options and CLI file types must be registered now, this allows
- to move the implementation of, for example the "-fmpac" option, to
- the MSXFmPac class where it belongs.
- - This should keep the CLI more up to date with code changes and
- make it easier to support new CLI options / file types.
- 2002-10-21 David Heremans <david.heremans@gnu-linux.net>
- * "frameskip auto" implementation started
- 2002-10-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Replaced "Simple64Kb" device with "RAM" device. This device also
- supports random sizes, so it is possible to make 8Kb machines.
- 2002-10-20 Maarten ter Huurne <mth@stack.nl>
- * Moved subdivision of area-to-be-rendered from SDLHiRenderer to
- PixelRenderer. Also changed subdivision approach: before, displayPhase
- would draw display area and the borders; while the new drawDisplay only
- draws the display area and all the border colour drawing is done by
- drawBorder.
- 2002-10-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented frameskip command:
- TODO "frameskip auto", skip frames depending on CPU speed
- 2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Some IDE fixes:
- Harddisk works now! Following is still hardcoded:
- master: harddisk, size 1GB filename "hd.dsk"
- slave : not connected
- I'll change this in the next couple of days
- 2002-10-16 Joost Yervante Damad <joost@lumatec.be>
- * removed compile-time disables for now
- 2002-10-13 Maarten ter Huurne <mth@stack.nl>
- * Moved absolute X coordinate to screen X coordinate translation from
- PixelRenderer to SDLHiRenderer.
- 2002-10-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented Sunrise IDE interface:
- only interface, no IDE devices yet
- * Implemented very simple IDE harddisk:
- IDE-BIOS detects the disk
- IDE Master:LBA,Mode 4:OPEN MSX HARD DISK
- IDE Slave :not detected.
- but the disk can't be used. Probably because the HD isn't
- partioned yet.
- 2002-10-12 Maarten ter Huurne <mth@stack.nl>
- * Split off some functionality from SDLHiRenderer into new PixelRenderer.
- PixelRenderer will contain the common code of the pixel-based
- renderers (SDLHi, SDLLo, SDLGL).
- 2002-10-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed sound on high endian machines (untested)
- 2002-10-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Horizontal adjust is only updated the next scanline:
- fixes some glitches in the "threedee rules" part of "relax"
- 2002-10-05 Maarten ter Huurne <mth@stack.nl>
- Last minute Bussum fixes:
- * Temporarily reverted name table base fix.
- This fix needs modifications in the renderers as well and I don't have
- time right now to find out exactly where.
- * Rewrote PhaseHandlers to specify rectangles in VDP absolute coordinates
- and using exclusive limits.
- Fixes crashes on MSX1 and excessive draws, maybe more.
- Unknown Reality shows only minor glitches, so we can demo with pride!
- 2002-10-03 Maarten ter Huurne <mth@stack.nl>
- * Fixed bug in VDP: name table base was not adjusted for planar modes.
- This caused wrong rendering in SCREEN7/8.
- * Disabled "inside window" check for now.
- Parts of the code are not ready yet to use the VRAM windows properly.
- 2002-10-02 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.13.
- 2002-09-30 Maarten ter Huurne <mth@stack.nl>
- * The Great VRAM Rewrite, part 4:
- Introduction of VRAMObserver interface. Not used yet.
- * Minor VRAM cleanups.
- 2002-09-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Read/Write memory cache for SCC+
- * Unified Xanadu and Royal Blood mapper types
- 2002-09-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * SCC+ didn't work at all, fixed it.
- Fixes Snatcher and SDSnatcher.
- * Fixed RoyalBlood mapper type (not sure about Xanadu)
- * Fixed Majutsushi, bad sound quality (DAC) though
- * Implemented CrossBlaim mapper type (untested)
- 2002-09-28 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.12.
- * I forgot that the cbios.xml used TMS99x8A.
- With a V9938, C-BIOS can run many MSX2 ROMs as well.
- I created two separate config files: cbios-msx1.xml and cbios-msx2.xml.
- 2002-09-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * GLFont uses 16x16 character texture instead of 256x1
- 2002-09-22 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.11.
- Boukichi sure understands "release early; release often". :)
- 2002-09-20 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.10.
- 2002-09-17 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.08.
- 2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added "deinterlace" command:
- switch at-run-time between stable and unstable interlace
- only SDLHiRenderer and SDLGLRenderer
- 2002-09-08 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.07.
- 2002-09-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Enabled pixel accurate rendering in SDLHiRenderer:
- - for some reason the NOTONLYSNESCANDOTHIS part in Unknown Reality
- is not extremely slow (it is when using SDLGLRenderer)
- - remember you have to manually enable pixel accurate rendering
- with the command "accuracy pixel"
- * Enabled pixel accurate rendering in SDLLoRenderer
- 2002-09-08 Joost Yervante Damad <joost@lumatec.be>
- * mv configure.in -> configure.ac [autotools recommendation]
- * configure exits on failure to find SDL_image library
- 2002-09-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Correct blending in all non-paletted modes, no blending in
- paletted modes
- * Implemented "accuracy" command. This allows to switch at-run-time
- between pixel/line/screen accuracte rendering. For the moment
- no screen accurate rendering and only for SDLGLRenderer.
- 2002-09-02 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Dont't stop when sound device couldn't be opened, just continue
- without sound.
- 2002-09-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Added some Turbo-R specific devices:
- - MSXTurboRPauze: without this BIOS gets stuck in pauze loop
- - MSXS1990 (minimal): Needed to switch between Z80 / R800
- - MSXF4Device (needs a better name): to distinguish between
- cold/warm boot and Z80/R800 boot-pass
- - MSXTurboRLeds
- Turbo-R doesn't boot yet :-(
- 2002-09-01 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.06.
- 2002-08-31 Maarten ter Huurne <mth@stack.nl>
- * The Great VRAM Rewrite, part 3:
- SpriteChecker does all of its VRAM reading through VDPVRAM::Window.
- Only CPU does non-windowed reads anymore.
- All planar remapping occurs outside of VDPVRAM.
- 2002-08-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Move common code from SDLConsole and GLConsole to a new parent class
- * Added R800:
- there is nothing implemented to switch from Z80 to R800, so for the
- moment R800 is not yet usable
- 2002-08-30 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * SDLGLRenderer:
- small cleanups
- when interlaced, display odd fields half a line lower
- 2002-08-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * FDC supports 2 drives
- 2002-08-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented pixel-accurate rendering in SDLGLRenderer:
- - scope part in Unknown Reality is correct now!
- - some parts are _very_ slow now, implementation can still be
- optimized a lot and speed should also improve when VDPVRAM
- is finished.
- * Implemented "vdpregs" command to help vdp debugging
- 2002-08-26 Maarten ter Huurne <mth@stack.nl>
- * Updated C-BIOS to version 0.05.
- 2002-08-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented partial character rendering for SDLGLRenderer:
- - fixes top border while vertical scrolling in Space Manbow
- - fixes Psycho World
- * Implemented vertical scrolling in TextMode1 in SDLGLRenderer
- 2002-08-25 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Use SDL_image to load images (.png .bmp .jpg ...)
- * Implemented GLConsole for SDLGLRenderer
- - old console didn't always work for SDLGLRenderer
- - a lot faster
- - per pixel alpha blending:
- ConsoleBackground and ConsoleFont can be true RGBA images
- (current pictures are .bmp, they don't have an alpha channel)
- 2002-08-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented R-Type mapper
- * Fixed vertical scrolling in text modes
- (except TextMode1 in SDLGLRenderer)
- 2002-08-21 Maarten ter Huurne <mth@stack.nl>
- * Added C-BIOS 0.04 to Contrib directory.
- * Added config XML for using C-BIOS to src/cfg.
- 2002-08-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * VDP code:
- - trivial fixes / cleanups
- - low resolution (SDLLo) rendering improvements
- try SCREEN 0 WIDTH 80
- only 24bpp modes yet
- * Z80 fix:
- IFF2 should be reset while acknowledging an IRQ
- this fixes music in "Break-In"
- 2002-08-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * major cleanups, minor tweaks / fixes
- 2002-08-16 Maarten ter Huurne <mth@stack.nl>
- * Fixed wrong use of sizeof(array): it returns #bytes, not #elements.
- Caused a segfault on Sparc.
- 2002-08-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Fixed SD-Snatcher loading bug:
- - disk has a non-standard bootsector (sectors per track and number
- of sides) is wrong. Updated heuristics to detect 9 sectors per
- track and 2 sides in case disk image has 80*2*9 sectors.
- How does the BDOS read this disk? Perhaps it uses the media
- descriptor?
- 2002-08-13 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Split MSXMotherBoard in:
- - MSXCPUInterface: handles communication between a MSXDevice and CPU
- - registration of IO- and memory-space
- - slotselection mechanism
- - MSXMotherboard: keeps a list of all MSXDevices
- 2002-08-11 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * more Z80 cleanups
- * commands can now also be bound to key releases (was only keypresses)
- example: unbind F9
- bind F9 "throttle off"
- bind f9,up "throttle on"
- this disables throttling while you hold F9
- 2002-08-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Z80 fixes:
- V_FLAG was wrong with SUB/SBC/CP instructions
- * Z80 fixes:
- XF and YF flags where wrong with BIT n,r instruction
- * major Z80 cleanup:
- - greatly reduced code duplication in CPUCore.n2
- 2002-08-09 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * More robust Thread class
- * cleanups, especially in JoyNet
- * fix bug [592594] MSXFDC doesn't work with single sided disks
- 2002-08-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Z80 cleanups / fixes:
- especially fixes for the 2 undocumented flags (bit 3 and bit 5)
- * New config file format for inserted disks / tapes
- * Applied Manuel's patch [592591]:
- romdb.xml is searched with FileOpener
- 2002-08-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Full support for .XSA disk images
- 2002-08-05 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Enabled SDLConsole in SDLGL renderer:
- current code is only a temporary solution for the following reasons:
- - use of SDL_OPENGLBLIT is heavily discouraged, see
- http://www.libsdl.org/pipermail/sdl/2001-November/039852.html
- - transparancy doesn't work in 16-bit video modes
- (an SDL limitation)
- in the future we should make a native GLConsole
- 2002-08-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Allow multiple "md5" tags per "rom" tag
- * Low level tape support (experimental)
- 2002-08-03 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * wrote doc/commands.txt
- * cleanups, small fixes in RomTypes and MSXRom
- * added some entries in romdb.xml
- 2002-08-01 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * EmuTime cleanups:
- introduced EmuDuration class
- - the subtraction of 2 EmuTimes results in an EmuDuration,
- this used to result in another EmuTime
- - an EmuDuration can be added to / subtracted from an EmuTime,
- this results in another EmuTime
- * DACSound:
- - totally discarded old implementation
- - new implementation is extremely simple, relatively slow, has
- poor sound quality, but is bug free
- 2002-07-31 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Made "check-db":
- a primitive tool to compare a romtype database against the build-in
- rom autodetection algorithm
- * When console is up, keypresses are blocked for MSX-Keyboard:
- this implementation should work in all cases (hopefully)
- 2002-07-29 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * cleanups
- * Support for "ROM database"
- 2002-07-26 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Experimental support for .xsa disk images
- * Removed "automappertype" parameter, you can still explicitly specify
- autodetection by setting "mappertype" to "auto"
- * Added MD5 class:
- will be used for mappertype detection of difficult ROMs
- 2002-07-24 Maarten ter Huurne <mth@stack.nl>
- * Added debug option NOTIME_EXECUTION, to make VDP command execute in
- zero EmuTime. Useful for tracking "no/partial images" bugs.
- 2002-07-23 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * MSXDiskRomPatch supports 2 drives again
- 2002-07-22 Maarten ter Huurne <mth@stack.nl>
- * The Great VRAM Rewrite, part 2:
- SpriteChecker does most of its VRAM reading through VDPVRAM::Window.
- Updated doc/vram-addressing.txt with details of sprite indexing.
- Proper support for planar modes is still missing.
- 2002-07-21 Maarten ter Huurne <mth@stack.nl>
- * The Great VRAM Rewrite, part 1:
- Renderers do all their VRAM reading through VDPVRAM::Window now.
- See doc/vram-addressing.txt for background info.
- 2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "bind" and "unbind" command
- 2002-07-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Moved event related files to new directory
- * Added Keys class:
- translates keyCodes to keyNames and vice versa
- 2002-07-09 David Heremans <david.heremans@gnu-linux.net>
- * Improved portbased interface to MSXFDC
- 2002-07-08 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Enabled console in SDLLoRenderer
- 2002-07-07 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Reenabled SDLLoRenderer:
- - just a copy-paste from SDLHi and adjusted a few routines
- - console is disabled in SDLLo
- - not very well tested yet
- 2002-07-07 David Heremans <david.heremans@gnu-linux.net>
- * Added portbased interface to MSXFDC for Brazilian MSX's
- 2002-07-06 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Moved cassette related code to its own directory
- * Cleanups
- 2002-06-30 David Heremans <david.heremans@gnu-linux.net>
- * Added index mark to the FDC status register (not tested yet!)
- 2002-06-28 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Initial version of DiskImageManager (WIP):
- - insert disk from commandline doesn't work yet
- - MSXFDC compiles, but not yet tested
- - MSXDiskROMPatch only supports 1 drive
- - FDC_DSK backend only supports double sided disks
- * Insert disk from command line works again:
- - just a hack, we need a better configuration format for this
- * MSXFDC still seems to work:
- - config file changed slightly, see msxconfigFDC.xml
- - David please check my modifications, especially the error
- handling code
- 2002-06-27 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * MSXRom fix:
- map 32kb ROMs in the right place
- 2002-06-22 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Small Mixer fix, cleanups
- 2002-06-21 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Enabled console background
- * Console font and background filename are read from config file
- 2002-06-20 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Moved thread related code to its own subdirectory
- * Added unregisterHotKey() and unregisterHotKeyCommand() methods
- * Enabled "renderer" command
- 2002-06-19 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Console commands and HotKeys are now executed by the main thread:
- - this removes some (potential) races, so some bugs like
- "This crashed once, but I can't reproduce it"
- might be gone.
- - this is a rather fundamental change, it might still contain some
- glitches.
- * Removed all registerAsync__() methods:
- they aren't used anymore and they shouldn't be in the future
- * Introduced condition variables (thread locking):
- used in Scheduler to implement pause
- * Added unregisterEventListener() method
- 2002-06-18 David Heremans <david.heremans@gnu-linux.net>
- * Basic timing for all FDC Type I commands
- 2002-06-18 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Tab-completion now works for zero-length tokens
- 2002-06-16 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Use exceptions for command error reporting
- 2002-06-15 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Simplified MSXRomPatchInterface
- 2002-06-14 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Scheduler fixes
- * Removed MSX16KB device:
- MSXGameCartridge can do everything what MSX16KB could
- * Renamed:
- MSXRom -> MSXRomDevice
- MSXGameCartridge -> MSXRom
- * Moved common code to MSXRomDevice
- * "filesize 0" no longer means autodetection, instead use
- "filesize auto" (or just don't mention filesize)
- 2002-06-12 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * ConsoleCommand parser now understands quoted tokens or tokens with
- escaped characters. Examples:
- diska a\ space.dsk
- diska "a space.dsk"
- diska a\"quote.dsk
- It should now be possible to enter any string as a command token.
- 2002-06-11 David Heremans <david.heremans@gnu-linux.net>
- * basic FDC fully working:
- Fixed minor bug (all my tested disks work now)
- Implemented small speed up
- 2002-06-10 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Commands can now be unregistered again
- * cleanups
- 2002-06-10 David Heremans <david.heremans@gnu-linux.net>
- * basic FDC implemenation partialy working:
- DSK backend working
- All Type I functions working
- Type II partial (readSector OK, writeSector doesn't check for write
- protected images yet)
- No Type III commands yet
- 2002-06-06 David Heremans <david.heremans@gnu-linux.net>
- * First step towards an FDC implemenation:
- Basic structure is provided
- MSXFDC as good as finalized.
- 2002-06-05 Joost Yervante Damad <andete@worldcity.nl>
- * preliminary auto* libpng support [David is learning auto* woowoo!]
- 2002-06-04 Wouter Vermaelen <wouter.vermaelen@pi.be>
- * Implemented "speed" command, try "help speed" in console
- 2002-06-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * MSXGameCartridge cleanup
- 2002-05-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed PAINTER.ROM:
- mappertype autodetection doesn't work, start with
- ./openmsx roms/PAINTER.ROM,64kb
- * Fixed MSXSCCPlusCart:
- delete SCC in destructor
- ignore reads/writes outside address space
- 2002-05-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * writing the same value twice to an (output) connector doesn't change
- the status of that connector, so don't call the write method of that
- connector twice (Joystick, PrinterPort, Y8950Keyboard)
- 2002-05-23 Bas Wijnen <b.wijnen@student.rug.nl>
- * Mutexes added around PRT_* macros
- 2002-05-22 Maarten ter Huurne <mth@stack.nl>
- * SDLGLRenderer uses block textures in Text1 (SCREEN0.40).
- * SDLGLRenderer uses block textures in Graphics2 (SCREEN2).
- * Rendering sprites in SDLGLRenderer is a lot faster now, because
- textures aren't immediately destroyed after drawing.
- 2002-05-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * small sprite rendering optimizations
- 2002-05-18 Bas Wijnen <b.wijnen@student.rug.nl>
- * Added files for Xlib renderer. Mostly unimplemented.
- 2002-05-15 Maarten ter Huurne <mth@stack.nl>
- * SDLGLRenderer uses textures.
- 2002-05-15 Bas Wijnen <b.wijnen@student.rug.nl>
- * g++-3.0 fixes
- 2002-05-15 David Heremans <david.heremans@gnu-linux.net>
- * JoyNet cable using TCP/IP implemented
- 2002-05-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * converted some ints to unsingned ints
- 2002-05-13 Joost Yervante Damad <andete@worldcity.nl>
- * fixed some files mising in the Makefile.am
- 2002-05-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made "diska" and "diskb" commands
- 2002-05-09 Joost Yervante Damad <andete@worldcity.nl>
- * File, HttpFile, LocalFile [work in progress]
- 2002-05-08 Bas Wijnen <b.wijnen@student.rug.nl>
- * fixed console-key-pass-bug and some minor things
- 2002-05-06 David Heremans <david.heremans@gnu-linux.net>
- * Skeleton files for JoyNet configuration
- 2002-05-05 Bas Wijnen <b.wijnen@student.rug.nl>
- * Game Master 2 is working with SRAM and guessing.
- 2002-05-03 Bas Wijnen <b.wijnen@student.rug.nl>
- * Created src/FileType.hh for g++-3.0 and some g++-3.0 fixes
- 2002-05-02 Maarten ter Huurne <mth@stack.nl>
- * Calculate pixel precision coordinates.
- They are approximately right, but not exactly right yet.
- 2002-05-02 Joost Yervante Damad <andete@worldcity.nl>
- * File, HttpFile, LocalFile [work in progress]
- 2002-05-01 David Heremans <david.heremans@gnu-linux.net>
- * Skeleton files for JoyNet device
- 2002-04-30 Joost Yervante Damad <andete@worldcity.nl>
- * s/-fhuge-objects//g
- * verious g++-3.0 fixes
- 2002-04-29 Maarten ter Huurne <mth@stack.nl>
- * SDLGLRenderer is working again.
- * SDLGLRenderer now uses CharacterConverter and BitmapConverter.
- * Removed double buffering from SDLHiRenderer. It didn't work and
- without double buffering more optimisations are possible.
- * Renderers use screen position instead of EmuTime for internal update
- targets. It was like this before the VDPVRAM introduction and with
- the cleaned up implementation it is possible again.
- It also fixes a bug where too many lines were scanline converted.
- This caused no glitches, but it did waste CPU cycles.
- * Also made SpriteChecker use screen position rather than EmuTime.
- 2002-04-29 Joost Yervante Damad <andete@worldcity.nl>
- * small cleanup FilePath [sorry guys!]
- * more proper cleanup
- 2002-04-28 Maarten ter Huurne <mth@stack.nl>
- * Some VDP cleanups.
- 2002-04-28 Joost Yervante Damad <andete@worldcity.nl>
- * FilePath stuff for future FileManager
- 2002-04-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Tab-completion updates
- 2002-04-28 Maarten ter Huurne <mth@stack.nl>
- * Removed re-entering of SpriteChecker::sync and Renderer::sync.
- Display enable/disable changes now go through VDPVRAM.
- Various other cleanups.
- Most sprite glitches are fixed now.
- 2002-04-28 Bas Wijnen <b.wijnen@student.rug.nl>
- * Added includes, std:: prefixes and unsigned char casts
- to allow compile with g++-3
- 2002-04-27 Maarten ter Huurne <mth@stack.nl>
- * Display mode changes now go through VDPVRAM.
- It also performs planar reorder on single-byte reads and writes.
- 2002-04-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * VDP Text2 dirty colour table check
- 2002-04-24 Maarten ter Huurne <mth@stack.nl>
- * Fixed a bug in SpriteChecker and also simplified it.
- 2002-04-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * more accurate VDP command timing:
- 2002-04-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Enabled VDP command timing:
- recalculated table, no difference 50/60Hz anymore
- 2002-04-23 Maarten ter Huurne <mth@stack.nl>
- * Re-enabled SDLGLRenderer.
- 2002-04-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * tuned relative volume Y8950-ADPCM / -FM (thanks Manuel)
- 2002-04-18 Maarten ter Huurne <mth@stack.nl>
- * Separated sprite checking into a separate class.
- Works, but with glitches.
- 2002-04-17 Joost Yervante Damad <andete@worldcity.nl>
- * added tools/ dir and bin2c tool
- * added --disable-SCC
- * added --disable-FMPAC
- * added --disable-MSXMUSIC
- * more "--disable-XXX"'s to come ;-)
- 2002-04-16 Maarten ter Huurne <mth@stack.nl>
- * More VDPVRAM and related cleanups.
- 2002-04-15 David Heremans <david.heremans@gnu-linux.net>
- * Enhancements to the developpers FAQ
- 2002-04-15 Joost Yervante Damad <andete@worldcity.nl>
- * extended commandline parser to support keyinserter
- 2002-04-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Extended KeyEventInserter so it can be used in Tilburg
- * Fixed YM2413 drums: playing the same drum twice now works
- 2002-04-13 Maarten ter Huurne <mth@stack.nl>
- * VDPVRAM and related cleanups.
- 2002-04-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * DACSound cleanup (still has the same(?) bug)
- * EventDistributor simplification:
- use Scheduler for synchronous event delivery
- thanks Maarten for the idea
- * Made Scheduler thread safe
- * #include cleanups
- * Y8950 generates an IRQ on end-of-sample _in_EmuTime_ (was realtime)
- * Implemented Y8950 keyboard connector:
- just the connector, no keyboard yet
- * More accurate ADPCM readback (thanks Maarten)
- 2002-04-11 David Heremans <david.heremans@gnu-linux.net>
- * Royal blood works, use type ASCII8SRAM2!
- Xanadu resets to Basic, Hydlide2 hangs.
- 2002-04-11 Maarten ter Huurne <mth@stack.nl>
- * Introduced "renderer" command to print current renderer and switch
- to another one. However, switching from SDLHi to SDLGL hangs SDL.
- Well, at least the renderer destructors are finally implemented.
- 2002-04-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Finally (?) fixed Y8950 samples:
- "Arranger 4" sounds ok now
- * Implemented ADPCM readback (untested)
- 2002-04-11 David Heremans <david.heremans@gnu-linux.net>
- * Royal blood works, use type ASCII8SRAM2!
- Xanadu resets to Basic, Hydlide2 hangs.
- 2002-04-11 David Heremans <david.heremans@gnu-linux.net>
- * Added (not tested) support for ASCII8SRAM type to MSXGameCartridge.
- 2002-04-08 David Heremans <david.heremans@gnu-linux.net>
- * Added support for Hydlide2 type to MSXGameCartridge.
- * Added generic support for SRAM to MSXGameCartridge.
- * Enhanced CommandLineParser to support SRAM filenames
- for games.
- 2002-04-08 Maarten ter Huurne <mth@stack.nl>
- * Took character scanline conversion out of SDLHiRenderer as well,
- its new home is a class called CharacterConverter.
- 2002-04-07 Maarten ter Huurne <mth@stack.nl>
- * Took bitmap scanline conversion out of SDLHiRenderer and put it in
- a separate class called BitmapConverter.
- It is necessary to reduce the size of SDLHiRenderer, because its
- source had become too large to manage (over 1250 lines).
- 2002-04-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * small update to doc/developersFAQ.txt
- 2002-04-05 Joost Yervante Damad <andete@worldcity.nl>
- * added --enable-interlacing ./configure argument
- see also ./configure --help and src/config.h.in
- after rerunning ./autogen.sh
- 2002-04-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Console cleanup
- * Console is no longer a singleton, instead there is now a singleton
- ConsoleManager. All Consoles must register with the ConsoleManager.
- * Made InteractiveConsole subclass of Console:
- SDLConsole inherit from InteractiveConsole
- a logging-only console inherits from Console
- * Bumped version number
- * ConsoleFont.bmp can now be in any configured directory
- 2002-04-04 David Heremans <david.heremans@gnu-linux.net>
- * Added more debug info to MSXGameCartrdige.
- * Fixed an error in SCCplus cartridge
- * Addapted SCCplus cartridge to use FileOpener
- 2002-04-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Moved ADPCM part of Y8950 to its own file
- * Fixed ADPCM bug:
- addresses where a factor 8 too low, only first sample was
- played correctly
- * Made console command "fullscreen", PrtScrn is bound to this command
- * Console command "mute" takes on/off parameter
- * Console command "pause" takes on/off parameter
- * Made console command "console", F10 is bound to this command
- 2002-04-01 Joost Yervante Damad <andete@worldcity.nl>
- * FileManager sync [WIP]
- * a first proposal for a FileManager API, I'll
- implement it soon if noone objects [or at least
- something like this!]
- 2002-03-31 Maarten ter Huurne <mth@stack.nl>
- * Cleaned up VRAM implementation a little.
- Still plenty of work to be done.
- 2002-03-30 Maarten ter Huurne <mth@stack.nl>
- * Added new VDPVRAM class, which manages VRAM.
- It is far from finished, but even in the current state it should be
- no less accurate than what we had before.
- 2002-03-30 Joost Yervante Damad <andete@worldcity.nl>
- * made CommandlineParser xml entity safe
- 2002-03-28 David Heremans <david.heremans@gnu-linux.net>
- * Added MC6850 and sampleram to '-musmod' CLI option.
- * Added article written for the Dutch MSX-infoblad.
- The png's are ment to be printed and where not scaled for
- webpurposes.
- 2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Added dummy MC6850 (ACIA used in MSX Music Module for MIDI):
- "FAC demo 3" now detects MSX Music Module
- 2002-03-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * amount of sample-ram is now configurable
- 2002-03-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * implemented Y8950 timers
- * implemented "throttle" command
- 2002-03-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixed crash when a specified file did not exists:
- for some reason C++ doesn't throw exception beyond the constructor,
- even explicitly (re)throwing an exception in the constructor doesn't
- work
- 2002-03-25 Joost Yervante Damad <andete@worldcity.nl>
- * made VPATH compiles work, fixes 'make distcheck' also
- * bumped version no
- 2002-03-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * implemented RYTHM sounds for Y8950 (MSX-AUDIO): untested!
- * reworked IRQ handling:
- CPU keeps IRQStatus (was CPUInterface)
- this way CPU can react directly on unannounced IRQs
- (eg: Y8950 end-of-sample IRQ)
- 2002-03-24 David Heremans <david.heremans@gnu-linux.net>
- * Added more helptext to the CommandlineParser.
- * Made the 64 kB roms Manuel send me working.
- * Enhanced the autodection of MSXGameCartrdige.
- 2002-03-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Y8950 and YM2413 cleanups
- 2002-03-24 Joost Yervante Damad <andete@worldcity.nl>
- * fixed configure.in
- * continuation of <filepath>
- 2002-03-23 Joost Yervante Damad <andete@worldcity.nl>
- * more CustomConfig framework
- * started on FilePath CustomConfig
- * this is WIP, and is not finished yet!
- 2002-03-21 David Heremans <david.heremans@gnu-linux.net>
- * Again a (total) rewrite of CommandlineParser.
- A simpler and cleaner design then the previous one, and
- easy to extend for other CLI-options.
- 2002-03-20 Joost Yervante Damad <andete@worldcity.nl>
- * XML::Escape support added to libxmlx
- * usage is explained in the header
- * if you make xml that is feeded into libxmlx,
- you need to escape it first, to allow entity
- escaping for &, <, >, ...
- * cleaned up libxmlx dir, libxmlx is now dual
- licensed GPL and LGPL
- 2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * updated config files
- 2002-03-19 Joost Yervante Damad <andete@worldcity.nl>
- * started on CustomConfig
- * added src/config/ dir, moved initial files
- 2002-03-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * various Y8950 improvements, not sure adpcm part is completely fixed
- * fixed getName() for Schedulable (eg VDP)
- * fixed virtual inheritance constructor invocations
- 2002-03-18 Joost Yervante Damad <andete@worldcity.nl>
- * small fix in src/Makefile.am, I hope this solves
- David's compilation problems
- 2002-03-17 Maarten ter Huurne <mth@stack.nl>
- * Fixed graphical glitch when switching between PAL and NTSC timing.
- * Minor clean-ups in SDLGLRenderer.
- 2002-03-16 Maarten ter Huurne <mth@stack.nl>
- * Implemented blanking in SDLGLRenderer.
- * Implemented side borders in SDLGLRenderer.
- * Implemented sprites in SDLGLRenderer.
- * Only compile SDLGLRenderer if OpenGL was detected.
- 2002-03-15 Maarten ter Huurne <mth@stack.nl>
- * Improved line rounding in renderer sync.
- * Fixed side border widths in text mode.
- 2002-03-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed SCC distortion (was unsigned->signed conversion bug)
- * [Experimental] First order high-pass IIR filtering in Mixer
- * Tab completion of filenames for "disk" and "tape" command
- 2002-03-14 Maarten ter Huurne <mth@stack.nl>
- * Fixed ASCII16K MegaROM mapper.
- Eggerland 2 works now, but is still autodetected incorrectly.
- 2002-03-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed tab completion bug
- * Fixed printed CPU T-States (only printed value was wrong)
- * Fixed crash when RTC.SAVE or FMPAC.PAC where missing
- 2002-03-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * convert CassettePort to Connector-Pluggable structure
- * MSXSimple:
- - converted from MSXIODevice to PrinterPortDevice
- - renamed to PrinterPortSimple
- * MSXPrinterLogger:
- - converted from MSXIODevice to PrinterPortDevice
- - renamed to PrinterPortLogger
- 2002-03-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made Connector-Pluggable aware of EmuTime
- * convert PrinterPort to Connector-Pluggable structure
- 2002-03-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Console cleanup
- * Added console prompt
- * Tab completion for help command
- * Fixed uninitialized variable (enabledSCC) in MSXGameCartridge
- * made MSXConfig::getParameterAsXXX() methods throw execptions again
- 2002-03-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Split Console in Console and CommandController:
- commands can now execute without a Console
- * Implemented help command
- * Re-implemented tab-completion:
- - completion till longest common match
- - if there is only one match left a ' ' is added
- - option for context sensitive completion (not yet tested)
- * Implemented tab completion for (un)plug command:
- name of connector and pluggable gets completed
- 2002-03-07 Maarten ter Huurne <mth@stack.nl>
- * Fixed Generic16K MegaROM mapper. DOS2 works now.
- 2002-03-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Added plug-connector infrastructure:
- - only very basic support yet
- - changed joystick stuff to use this
- 2002-03-07 David Heremans <david.heremans@gnu-linux.net>
- * New internal structure of CommandlineParser is working
- This will make it possible to have extra parameters for
- cartridges,disks, or in a more global context.
- * Small fix to MSXGameCartridge
- 2002-03-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * split console commands in tokens
- 2002-03-05 Joost Yervante Damad <andete@worldcity.nl>
- * simplified auto* support for OpenGL
- see src/config.h after running autogen.sh
- to see which vars to use. For now it searches
- for <gl.h> or <GL/gl.h> and for -lGL
- This should allow easy conditional compile
- of SDLGLRenderer.
- 2002-03-04 Maarten ter Huurne <mth@stack.nl>
- * Added SDLGLRenderer (work in progress).
- * Added nms8250.xml to distributed files.
- * Fixed compile warnings in VDPCmdEngine.
- 2002-03-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * SCC cleanups and tiny tweaks
- 2002-03-04 Joost Yervante Damad <andete@worldcity.nl>
- * added auto* support for OpenGL
- 2002-03-03 Maarten ter Huurne <mth@stack.nl>
- * Made sure unused bits in GRB palette value are zero.
- 2002-03-02 Maarten ter Huurne <mth@stack.nl>
- * Implemented fixed palette for sprites in Graphic 7 mode.
- 2002-03-01 Joost Yervante Damad <andete@worldcity.nl>
- * cleanup & documentation for libxmlx
- * tightened interface in xmlx.hh
- * tiny configure.in fixes
- * bumped version number
- 2002-02-28 Maarten ter Huurne <mth@stack.nl>
- * Fixed enlarged sprites. (David, you can fly your heli now! ;)
- 2002-02-28 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * moved sound related files to new directory "sound"
- * fixed MSX-MUSIC in CTNG products:
- a real MSX-MUSIC is enabled on power-on
- 2002-02-27 Joost Yervante Damad <andete@worldcity.nl>
- * doxygen cleanups
- * updated homepage
- 2002-02-27 Maarten ter Huurne <mth@stack.nl>
- * Fixed even/odd page flipping, it was overzealous.
- 2002-02-27 Joost Yervante Damad <andete@worldcity.nl>
- * simplified auto* setup for crosscompiling
- * added atoll.c code for platforms that don't support that function
- * crosscompiling now works, xmlxdump.exe works, openmsx.exe
- doesn't work yet
- * for instructions, see README.WIN32
- * fixed faulty CHECK_FUNC in configure.in
- * atoll.c is now only used when needed
- 2002-02-25 Maarten ter Huurne <mth@stack.nl>
- * Implemented even/odd and interlace display.
- 2002-02-24 Maarten ter Huurne <mth@stack.nl>
- * Fixed port C read bug in PPI.
- Now keyboard works in SBB promo and CAPS is off at boot time.
- * Implemented VDP name table masking (R#2) in bitmap modes.
- The 12 scrolls part of the Source of Power works now.
- * Implemented blinking in Text2 display mode.
- * Disabled SDLLoRenderer for now; it is not actively maintained.
- 2002-02-23 Maarten ter Huurne <mth@stack.nl>
- * Fixed Graphic7 border colour.
- 2002-02-22 Maarten ter Huurne <mth@stack.nl>
- * Implemented VDP overscan.
- Can use some more cleanup, but it works.
- 2002-02-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * PrinterPortDevice now receives EmuTime:
- this is necessary for devices like Simple
- 2002-02-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * moved CPU related files to subdirectory
- 2002-02-18 David Heremans <david.heremans@gnu-linux.net>
- * added simple and a printerlogger.
- Two devices that are connect to the printerport on a real MSX.
- The first is a DAC to play samples, the other logs all the data
- that a printer would normally print.
- 2002-02-17 Joost Yervante Damad <j.damad@qahwah.net>
- * added atoll support for platforms that don't have
- that function [code taken from newlib, a libc for
- embedded systems]
- 2002-02-16 Maarten ter Huurne <mth@stack.nl>
- * Moved "display or border" calculation from renderer to VDP.
- This is a preparation for overscan and for accurate VRAM timing.
- 2002-02-15 David Heremans <david.heremans@gnu-linux.net>
- * Nicer mappertypes for the MSXGameCartridge:
- As requested by Maarten you can now specify easier to remember
- names (like ASCII8, SCC,KONAMI4,...) for the different mapper
- types instead of the numbers.
- 2002-02-15 Maarten ter Huurne <mth@stack.nl>
- * Added "palette" console command.
- 2002-02-15 David Heremans <david.heremans@gnu-linux.net>
- * Nicer mappertypes for the MSXGameCartridge:
- As requested by Maarten you can now specify easier to remember
- names (like ASCII8, SCC,KONAMI4,...) for the different mapper
- types instead of the numbers.
- 2002-02-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * CPU speedup:
- CPU doesn't check the IRQ line after each instruction anymore, only
- directly after synchronization points. This also means that all
- irq.set() instruction must also set a synchronization point.
- TODO: check this for VDP, Y8950 and document this
- * VDP bug fix:
- writes to register > 46 (non existing registers) overwrite other
- variables
- 2002-02-13 David Heremans <david.heremans@gnu-linux.net>
- * MSX MUSIC/MSX AUDIO Stereo now possible:
- The xml has an extra parameter allowing the Y8950 and YM2413
- to be activated in mono, left or right channel mode
- 2002-02-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed FM-modulation error in both Y8950 as YM2413
- 2002-02-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed some bugs in Y8950:
- it is usable now, both OPL part as ADPCM part
- but there are a few bugs left (YM2413 has the same problems)
- relative volume of opl vs adpcm might need some tuning
- 2002-02-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Made "cpudebug" command:
- must be enabled in CPU.hh (#define CPU_DEBUG)
- * Y8950 (AUDIO) updates
- * Implemented auto commands:
- automatic joystick/mouse insertion is now possible
- 2002-02-10 Maarten ter Huurne <mth@stack.nl>
- * Moved SDL dependent code out of VDP:
- - Renderer instantiation happens in PlatformFactory (new class)
- - full screen toggle was moved to Renderer (not its final location)
- 2002-02-08 Maarten ter Huurne <mth@stack.nl>
- * Fixed secondary slot select bug for real now.
- The cause was uninitialised variables, the previous "fix" turned
- out to be no more than a workaround.
- 2002-02-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Large Console cleanup:
- convert code to C++
- split code in SDL dependent and SDL independent part
- moved all console code to directory ConsoleSource
- * Support for 9 joysticks
- * Stricter syntax checking for joyport command
- 2002-02-07 Maarten ter Huurne <mth@stack.nl>
- * Fixed ASCII 16K (type 5) mapper.
- Re-engineered Zanac-Ex ROM works now.
- * Made MSXMotherBoard console command inner classes private.
- 2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * More cleanups in ConsoleSource:
- made SDLFont class, replaces DT_drawtext
- 2002-02-06 Maarten ter Huurne <mth@stack.nl>
- * A few small fixes in joystick implementation.
- It works now. Thanks Wouter!
- 2002-02-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Console cleanups
- * ConsoleCommand inner classes for Scheduler, MSXMotherBoard
- * Implemented "disk" command (similar as "tape" command):
- works only for drive a:
- 720kb disks
- * Implemented "joyport" command:
- joyport[a|b] [unplug|mouse|joystick[1|2]]
- * First cleanup in ConsoleSource:
- use hash_map in CON_consolecommand instead of self-made linked list
- 2002-02-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Implemented "reset" console command.
- 2002-02-05 Maarten ter Huurne <mth@stack.nl>
- * Added MSXMotherBoard::IRQHelper class.
- * Removed IRQ helper functionality from MSXDevice.
- 2002-02-04 Maarten ter Huurne <mth@stack.nl>
- * Took advantage of new raiseIRQ/lowerIRQ semantics in VDP.
- 2002-02-04 Maarten ter Huurne <mth@stack.nl>
- * Fixed bug where devices in non-expanded slots would only be
- visible when subslot 0 was selected.
- * Implemented "slotselect" console command.
- 2002-02-03 Maarten ter Huurne <mth@stack.nl>
- * Implemented "slotmap" console command.
- * Console::printOnConsole now accepts multi-line texts.
- * Fixed buffer overrun in CON_Out.
- * Renamed DummyDevice's device name to "empty", which makes
- more sense to the user (who sees it in the slotmap).
- 2002-02-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Removed class LoadFile: it was only used by MSXRom and it was only
- usefull for that class (two classes merged now)
- 2002-02-02 Maarten ter Huurne <mth@stack.nl>
- * Implemented memory overlay behaviour in SCC page (0x3F).
- 2002-01-30 David Heremans <david.heremans@gnu-linux.net>
- * MSXTapePatch uses console:
- Now possible to change or eject tapes using the console
- 2002-01-29 David Heremans <david.heremans@gnu-linux.net>
- * Console enhancements:
- -calls CommandHelp when tabcomplition has
- already found a complete command
- * DiskPatch can now reports problems with disks during
- initialization:
- This should help Maarten if he has a 'black screen' :-)
- 2002-01-28 Joost Yervante Damad <j.damad@qahwah.net>
- * made libxmlx an 'utility' library, this implies that
- openmsx links this statically, which makes for easier
- debugging, no more 'wrapper script' for now
- 2002-01-27 Joost Yervante Damad <j.damad@qahwah.net>
- * Made SDL console autotools enabled
- 2002-01-26 David Heremans <david.heremans@gnu-linux.net>
- * Console now usable:
- - registered as ansynchron event listener
- - Scheduler has now two commands registered
- 2002-01-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed double delivery of syncronous events
- 2002-01-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Exception cleanups
- * Y8950 adpcm support (untested)
- 2002-01-24 Joost Yervante Damad <j.damad@qahwah.net>
- * added support for streamstring xml config per
- request of David
- 2002-01-24 David Heremans <david.heremans@gnu-linux.net>
- * Altered SDL_Console:
- - C++-ed the code and files
- - dumped unwanted function
- - now registers objects from type ConsoleInterface
- to use for callback instead of C-function pointers
- * Scheduler has now one (1) registered command with console:
- - press tab for autocomplete :-)
- * Added cartridge to help debug ARC protection cartridge
- * DummyDevice warns about unregistered I/O port calls
- 2002-01-22 David Heremans <david.heremans@gnu-linux.net>
- * Added an SDL_console:
- Not usefull for the moment but you can toggle it with F10
- No commands possible and double key registration but the
- effect is "cool" :-)
- 2002-01-20 David Heremans <david.heremans@gnu-linux.net>
- * Added DSKFMT-implementationr:.
- Formating of a 360kB dsk file doens't work. A 720kB dsk file
- can be formated single or double sided.
- * Autofill of empty,newly generated .dskfiles:
- No auto formating however, maybe later.
- 2002-01-19 Joost Yervante Damad <j.damad@qahwah.net>
- * openmsx now uses new config code
- * features:
- - supports multiple config files
- - it's possible to create alternative config backends
- - no more libxml++ *yipee*
- - uses libxmlx, right now still linked dynamically,
- this means that ./openmsx is actually a libtool provided
- script, soo for debugging use .libs/openmsx and alter
- the LD_LIBRARY_PATH environment variable if needed
- - support for save not yet added, but it will be easy
- * xmlconfig raises exception on duplicate "id"
- 2002-01-12 Maarten ter Huurne <mth@stack.nl>
- * Compile fix for Thread class:
- explicitly convert between Runnable pointer and void pointer.
- 2002-01-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made a Thread class, interface is SDL independent,
- implemenation uses SDL
- * made a Mutex class, analog as Thread
- * sync MSX-MUSIC and MSX-AUDIO on register write
- * made all sound related classes (except Mixer) SDL independent
- 2002-01-11 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Implemented RTC load/save on power on/off
- (this is not the same as saveState)
- * Implemented FMPAC-SRAM load/save on power on/off
- 2002-01-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * MSXMemoryMapper <-> MSXMapperIO cleanup (thanks Maarten)
- 2002-01-10 David Heremans <david.heremans@gnu-linux.net>
- * Added FileOpener. This implements the needed routines to
- support "rompaths". It also provides easy to use functions
- to open files in the other devices.
- 2002-01-09 Maarten ter Huurne <mth@stack.nl>
- * VR resets one line before start of display.
- Fixes Almost Real Copper Bars part.
- 2002-01-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Prepared CPU and Z80 class for inclusion of R800:
- - moved as much code as possible from Z80 to CPU
- - separated timimg dependent code from the rest of the code
- - ugly "#inlude-hack" to avoid the overhead of virtual functions
- 2002-01-09 Maarten ter Huurne <mth@stack.nl>
- * Fixed MSXMemoryMapper so that it can handle over 64K of memory.
- 2002-01-08 Maarten ter Huurne <mth@stack.nl>
- * Red and green were swapped in Graphic7 rendering.
- * Apply planar reorder also on CPU reading VRAM and sprite checking.
- Fixes Hydefos intro, all Graphic6/7 rendering should be OK now.
- 2002-01-08 Maarten ter Huurne <mth@stack.nl>
- * Preliminary Graphic6/7 rendering.
- Works somewhat, but not in all cases.
- * Fixed transparency bug; Psycho World sky is blue again.
- 2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * DiskRomPatch cleanup: I wanted to fix the PHYDIO routine, but it
- was already correct (the result in the B register). Maybe it is
- now more obviously correct?
- 2002-01-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80: fixed HALT instruction (rounding error)
- * more #include cleanups
- * getCPURegs() interface cleanup
- 2002-01-06 Maarten ter Huurne <mth@stack.nl>
- * Implemented rendered line caching in bitmap modes (SDLHi).
- * Fixed GETDPB in MSXDiskRomPatch: uses static table based on passed
- media descriptor instead using values from boot sector.
- 2002-01-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80: reverted buggy optimization,
- fixes undeadline, track&field, flickering in space manbow
- 2002-01-06 Joost Yervante Damad <j.damad@qahwah.net>
- * small fixes
- * XMLConfig skeleton + some code
- 2002-01-06 Maarten ter Huurne <mth@stack.nl>
- * Text mode extra-wide border now drawn at once (SDLHi).
- 2002-01-05 Maarten ter Huurne <mth@stack.nl>
- * Implemented CC and IC bits of sprite mode 2.
- Now OR-ed sprite patterns are rendered as they should.
- 2002-01-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * #include cleanup
- * Changed PSG mute routine:
- PSG-samples in "time curb" now work!
- 2002-01-05 Joost Yervante Damad <j.damad@qahwah.net>
- * small libxmlx improvements
- - should handle comments and pcdata correctly
- - started modifications of msxconfig code, first in
- a seperate temporarely program cfgtest, to avoid
- hindering the other coders
- 2002-01-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Changed interaction Mixer-SoundDevice:
- Mixer now calls the updateBuffer() method of each SoundDevice, even
- if device is muted (device can update internal counter). If the
- device was muted is must return a null-pointer.
- 2002-01-03 Maarten ter Huurne <mth@stack.nl>
- * SDLHiRenderer needs to sync on VRAM updates after all.
- This solves the disappearing boss blocks of Knightmare stage 1.
- * The VDP (sprite checking) needs to sync on VRAM updates as well.
- Hopefully this will solve the Knightmare stage 2 boss problem.
- 2002-01-03 Joost Yervante Damad <j.damad@qahwah.net>
- * libxmlx sync
- 2002-01-03 David Heremans <david.heremans@gnu-linux.net>
- * Improved tape support, tested with Time_Curb.cas file
- 2002-01-03 Maarten ter Huurne <mth@stack.nl>
- * Changed pause implementation in Scheduler to make it thread safe.
- * Fixed PAL timing in SDLHiRenderer.
- 2002-01-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * RealTime syncronizer improvements
- 2002-01-02 David Heremans <david.heremans@gnu-linux.net>
- * Added tape support, not yet tested
- * Restored old filesize behaviour in gamecartridge
- 2002-01-02 Maarten ter Huurne <mth@stack.nl>
- * Improved VDP accuracy.
- Space Manbow still flashes, but less than before.
- 2001-12-31 Maarten ter Huurne <mth@stack.nl>
- * SDLHiRenderer uses double buffering.
- * Prepared SDLHiRenderer for RealTime sync, but if I enable it the
- emulated MSX slows down (even though host CPU load remains low).
- * Added FDC values as patches to nms8250.xml, fixes disk ROM hang.
- 2001-12-31 Joost Yervante Damad <j.damad@qahwah.net>
- * lots of small C++ standard compliancy fixes
- * Z80Core.hh -> Z80Core.nn
- * more disk support, still partially works only
- * disk support now works completely, but not yet
- for all programs [starquake, on mania036.dsk
- works completely]
- * fixes for slotselection [thanks Maarten]
- 2001-12-31 Maarten ter Huurne <mth@stack.nl>
- * Render accuracy is now one line instead of one frame.
- * Implemented line interrupt (horizontal scanning interrupt).
- Timing is still a bit off though.
- * Implemented horizontal display adjust (vertical not yet).
- * Implemented HR/VR status bits.
- * Prepared for caching of rendered lines in bitmap modes.
- * Command engine cleanups.
- 2001-12-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80: correct inter-instruction timing for DDCB and FDCB instrcutions,
- 2001-12-30 Joost Yervante Damad <j.damad@qahwah.net>
- * more disk support, it already works a little bit,
- but the slot switching still needs to be added
- 2001-12-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Memory reads/writes can now be cached (if possible)
- measured 10% - 20% performance gain
- not completely finished, especially documentation
- 2001-12-29 Joost Yervante Damad <j.damad@qahwah.net>
- * synced in libxmlx skeleton [W.I.P.!]
- * header file include cleanup, this should avoid alot
- of useless recompilation
- 2001-12-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Scheduler now uses a heap instead of sorted set
- * SyncPoints can now be removed
- * SyncPoints take an optional userData parameter, this parameter
- is later passed to executeUntilEmuTime() method
- * MSXDevice does not inherit from Schedulable anymore, devices that
- still need to be Schedulable must inherit itself from Schedulable
- (eg VDP)
- 2001-12-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added getCPURegs() and setCPURegs() methods in class CPU
- 2001-12-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * small optimization in Scheduler:
- no overhead when unpaused
- 2001-12-25 Joost Yervante Damad <j.damad@qahwah.net>
- * added --enable-profile and --enable-release to ./configure
- * added "debug" and "nodebug" targets to Makefile in src dir [toggle]
- usage: "make debug" turns on debug for this and next makes
- "make nodebug" turns it of again
- 2001-12-24 Maarten ter Huurne <mth@stack.nl>
- * Added "unsigned" to uint64 definition in Scheduler.
- Before, Scheduler::INFINITY was -1.
- * Implemented PAL at 50Hz and NTSC at 60Hz.
- * Restructured VDP timing routines.
- 2001-12-24 Maarten ter Huurne <mth@stack.nl>
- * Added render routine for Graphic4 mode.
- * Added support for 212 lines display.
- * Added partial sprite mode 2 implementation.
- 2001-12-24 Maarten ter Huurne <mth@stack.nl>
- * Added render routine for Graphic5 mode.
- * Added support for transparency control (R#8 bit 5).
- 2001-12-24 Maarten ter Huurne <mth@stack.nl>
- * Finished integration of command engine.
- It runs, but without render routines for the bitmap modes,
- it is not possible to visually check the results.
- 2001-12-23 Maarten ter Huurne <mth@stack.nl>
- * Fixed a design flaw in the Renderer interface.
- The update methods were called *after* the changed VDP state
- became effective. That way, delayed rendering operations cannot
- be completed because the old VDP state is no longer available.
- In the new interface, update methods are called *before* the
- new state becomes effective. So the old values can be retrieved
- from the VDP, while the new values are passed as parameters
- of the update method.
- 2001-12-22 Maarten ter Huurne <mth@stack.nl>
- * Fixed dirty check bugs.
- The "inside name/colour/pattern table" checks were wrong:
- too much was considered inside, therefore too many characters
- were considered dirty.
- Also the attempt to make Text2 use the same dirty checking code
- as the MSX1 display modes failed, instead I wrote different
- dirty checkers for different display modes. This was bound to
- happen in the future anyway, because bitmap modes will require
- different dirty checks than pattern modes.
- 2001-12-22 Maarten ter Huurne <mth@stack.nl>
- * Added VDP Command Engine 1.0 from Alex Wulms.
- Adapted the code to C++ and to openMSX conventions.
- Only functional change is SCREEN7/8 pixel lookups (two defines).
- The command engine compiles and links, but cannot run yet.
- 2001-12-21 Maarten ter Huurne <mth@stack.nl>
- * Implemented Text2 display mode (SCREEN0.80).
- * Prepared for blinking (not finished yet).
- 2001-12-21 Maarten ter Huurne <mth@stack.nl>
- * Applied gamma correction to V9938/58 palette.
- My guess is that the gamma of MSX and PC monitors is slightly
- different; the palette precalc now compensates for that.
- 2001-12-21 Maarten ter Huurne <mth@stack.nl>
- * Implemented palette feature of V9938/58.
- Can be seen by running Nemesis 3 using NMS8250 config.
- 2001-12-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed uninitialized variable in RP5C01:
- this caused a delay of several seconds at start-up
- 2001-12-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added MSX-AUDIO: no ADPCM yet, not optimized
- * LoadFile and MSXGameCartridge cleanup
- 2001-12-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Removed more indirections from YM2413
- 2001-12-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixed CassettePort:
- exceptions don't work if you compile with -fno-rtti, removed it
- 2001-12-18 David Heremans <david.heremans@gnu-linux.net>
- * MapperType guesser can be turned on/off
- * MapperType now configurable in MSXGameCartrdige.
- * Integrated MSXKonamiSynthesizer into MSXGameCartrdige.
- 2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * sound on/off (F11) and pause (PAUSE) now work together
- * fixed "pure virtual function called" error
- 2001-12-16 David Heremans <david.heremans@gnu-linux.net>
- * Extende LoadFile to autodetermine file-size.
- * Renamed MSXMegaRom to MSXGameCartrdige.
- * MSXGameCartridge can now handle smaller game roms (<= 64kB)
- 2001-12-15 David Heremans <david.heremans@gnu-linux.net>
- * Added volume to the SCC.
- * Used F11 as HotKey to sound on/off:
- 2001-12-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Fixed DACSound, KeyClick now works
- 2001-12-11 Maarten ter Huurne <mth@stack.nl>
- * Optimised MSX-MUSIC mixing.
- * Removed indirection on ch array ("Channel *" -> "Channel).
- 2001-12-12 David Heremans <david.heremans@gnu-linux.net>
- * Added the SCC+ cartridge
- 2001-12-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Cleanup MSXMusic / MSXFmPac:
- "CALL FMPAC" now works!
- 2001-12-11 Maarten ter Huurne <mth@stack.nl>
- * Compacted the SCC mixing and muting code.
- * Added offset to lookups in SCC::getFreqVol.
- * SCC::ch_enable is not masked upon write.
- * Added "currentChipMode = chip" to SCC::setChipMode.
- * Changed size of waveform array to 32 (was 64).
- 2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Implemented Z80 inter-instruction-timing
- (DD CB instructions not correct yet)
- 2001-12-11 David Heremans
- * uploaded SCC soundchip:
- This chip can emulate the SCC hardware in the 3 know modes
- - Real SCC
- - SCC+ cartridge in SCC compatible mode
- - SCC+ cartridge in SCC+ mode
- * Changed MegaRom:
- Megarom of type 2 know use the SCC soundchip.
- 2001-12-10 Maarten ter Huurne <mth@stack.nl>
- * Implemented indirect register write for V9938/58.
- * V9938/58 can now have 16K, 64K or 128K of VRAM.
- * Upgraded CPU interface to read/write more than 16K of VRAM.
- * Changed video mode naming scheme to match V9938 data book.
- 2001-12-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Cleanups in MSXMemoryMapper, requires config file change
- * More config file changes:
- PSG -> volume parameter
- MUSIC -> volume parameter
- PPI -> volume parameter
- -> key_ghosting parameter
- Mixer -> frequency parameter
- -> samples parameter
- * RealTime cleanups:
- - MSXRealTime renamed to RealTime
- - RealTime is no longer a MSXDevice
- - moved parameters to config file
- 2001-12-09 Maarten ter Huurne <mth@stack.nl>
- * Faked enough V9938 features to make nms8250.xml boot.
- 2001-12-09 Maarten ter Huurne <mth@stack.nl>
- * Fixed compilation with Z80DEBUG enabled.
- * Fixed single-width pixels in SCREEN0 in SDLHiRenderer.
- * Re-enabled resetting of dirty flags at end-of-frame.
- This was probably disabled during debugging and accidentally
- commited to CVS.
- 2001-12-09 Maarten ter Huurne <mth@stack.nl>
- * Introduced VDP class, which will replace MSXTMS9928a.
- 2001-12-09 Joost Yervante Damad <j.damad@qahwah.net>
- * Rom Patching Code skeleton
- * MSXDiskRomPatch skeleton
- 2001-12-09 Maarten ter Huurne <mth@stack.nl>
- * Fixed uninitialised struct field in SDLLoRenderer.
- * SDLHiRenderer renders doubled pixels now.
- 2001-12-09 Maarten ter Huurne <mth@stack.nl>
- * Introduced SDLHiRenderer.
- Opens 640x480 screen, although it still renders low-res.
- * Changed configuration:
- - new category: "renderer"
- type selects renderer: "SDLLo" or "SDLHi"
- - "fullscreen" moved to "renderer" and renamed "full_screen"
- plus it's an actual boolean now
- - new parameter: "limit_sprites" in "msx1vdp"
- * Setting "limit_sprites" to false actually works now.
- 2001-12-08 Maarten ter Huurne <mth@stack.nl>
- * Improved Doxygen comments in MSXTMS9928a and Renderer.
- * Small optimisations in sprite rendering.
- * Renamed XPal to Pal: it hasn't been X for quite some time.
- * Introduced sprite buffering: VDP stores sprite info for one
- frame, so Renderer can retrieve it on demand. This removes
- the need for the Renderer to call checkSprites, making the
- VDP behaviour completely independant of the Renderer used.
- 2001-12-08 Joost Yervante Damad <j.damad@qahwah.net>
- * Loadfile now handles patching of files
- 2001-12-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added several missing reset() calls
- 2001-12-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * MSXPPI is no longer a singleton
- 2001-12-06 Maarten ter Huurne <mth@stack.nl>
- * Small initialisation fix in MSXTMS9928a.
- Thanks to Wouter for spotting the problem.
- 2001-12-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * removed init() method from MSXDevice:
- initialization should be done in the constructor
- * all MSXDevice constructors (former init() methods) now take an
- EmuTime parameter
- 2001-12-05 Joost Yervante Damad <j.damad@qahwah.net>
- * MSXRom continued [reworked, no longer inherited from MSXDevice]
- 2001-12-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Made MSXIODevice and MSXMemDevice both subclasses of MSXDevice:
- these 2 classes take functionality away from MSXDevice and put it
- in more specialized classes. They also offer things like automatic
- slot-registration (and in the future automatic IO-registration)
- * removed start() and stop() methods from MSXDevice
- * reset() method in MSXDevice now takes an EmuTime argument
- 2001-12-04 Joost Yervante Damad <j.damad@qahwah.net>
- * added MSXRom subclass and LoadFile mixin, as first step
- towards ROM patching support
- 2001-12-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * correct use of register 0x7ff6 for MSX-MUSIC
- * MSXMotherBoard is no longer a MSXDevice
- 2001-12-03 Joost Yervante Damad <j.damad@qahwah.net>
- * fixed Config *getConfigById(const std::string &type)
- * started on disk support "level 2" [not in CVS yet]
- 2001-12-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Made a new EmuTime class (for details search mailarchives for
- "[RFC] new EmuTiem class"). This gave a large performance gain,
- more than I had hoped for.
- * SoundDevices now unregister themself before destruction
- 2001-12-02 Maarten ter Huurne <mth@stack.nl>
- * Integrated name/pattern/colour table base addresses and mask
- into a single mask. This is probably how the hardware does it.
- * Fixed dirty checks.
- King's Valley 2 is now actually fixed, blanking just happened
- to make the problem go away without fixing the bug causing it.
- * Moved to "pull" model for VDP - Renderer communication:
- VDP sends update signals when parts of its state change,
- Renderer can get current state from VDP at all times.
- 2001-12-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixed pause:
- - <F12> now works when paused
- - after pause emulation isn't too fast
- * correct inline in Z80
- * MSXMegaRom cleanup, minor speedup
- 2001-12-01 Maarten ter Huurne <mth@stack.nl>
- * Fixed compile error in CassettePlayer.cc:
- PRT_ERROR contains exit(), which needs <stdlib.h>.
- 2001-12-01 Maarten ter Huurne <mth@stack.nl>
- * Fixed bug which caused Z80 to fail when methods were not inlined.
- Problem was that ld_xix_byte() and ld_xiy_byte() called Z80_WRMEM
- with two parameters, each of which read an opcode, an operation
- which increases the program counter. This is wrong because the
- evaluation order of parameters is not guaranteed.
- 2001-12-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added FMPAC
- * MSXMotherBoard is now also a CPUInterface, this eliminates one
- indirection in readMem()-like methods but these get called a few
- 100 000 times a second. I measured 10%-20% performance gain
- 2001-11-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made a helper function registerSlots()
- * made a helper function loadFile()
- note: config file format changed!
- 2001-11-29 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Added a CassettePlayer (no record function yet)
- A CassettePlayer must be plugged into the CassettePort and
- you must insert a tape (= .wav file) into the CassettePlayer
- Currently you can't do either of these operations.
- 2001-11-27 Maarten ter Huurne <mth@stack.nl>
- * Added updateBlanking to Renderer interface.
- Fixes redraw problem in King's Valley 2.
- * Various cleanups in MSXTMS9928a and SDLLoRenderer.
- 2001-11-26 Maarten ter Huurne <mth@stack.nl>
- * Introduced SpriteInfo in MSXTMS9928a, this is a prelude to
- sprite info buffering (separating calculation time from
- rendering time).
- * Introduced VdpVersion enum in MSXTMS9928a.
- 2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Small CassettePort update, implemented very primitive filter
- 2001-11-25 Maarten ter Huurne <mth@stack.nl>
- * Sprites are now rendered in the screen buffer rather than in the
- display cache (which replaced "canvas"). As a result, sprite drawing
- code became simpler and the display cache needs less updates.
- 2001-11-25 Maarten ter Huurne <mth@stack.nl>
- * Render on demand:
- New Renderer can render as many lines as requested.
- Many lines at once has lower overhead, but if necessary it
- can still render one line at a time.
- This code can be converted to pixel-precision rendering that
- has decent performance.
- * All change tracking (dirty flags etc) is moved to Renderer.
- * Interface between VDP and Renderer is much cleaner now.
- (no more public fields)
- * Got rid of "tms" struct.
- 2001-11-20 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added basic support for CassettePort
- - CassettePort has no filters yet
- - no output (record) yet
- - !! no CassttePlayer (must be plugged in a CassettePort) !!
- 2001-11-18 Maarten ter Huurne <mth@stack.nl>
- * The drawing area (now called "canvas") is now an off-screen SDL
- surface instead of a pixel array. SDL calls are for blitting and
- drawing empty lines (top and bottom border).
- * Cleanup of change tracking in VDP.
- * Cleanup of Renderer access to VDP state:
- public fields replaced by inline methods.
- * Cleanup of VDP fields: slowly getting rid of "tms" struct.
- 2001-11-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * updated KeyEventInserter, it works now but it is not yet useable,
- needs to read text from config file or something
- 2001-11-17 Maarten ter Huurne <mth@stack.nl>
- * MSXTMS9928a and SDLLoRenderer respect SIZEOF_BOOL now.
- * Introduced Renderer: pure abstract superclass to all renderers.
- * Changed SDLLoRenderer into a template class.
- All supported colour depths are compiled in.
- A factory method selects a suitable colour depth automatically.
- 2001-11-17 Joost Yervante Damad <j.damad@qahwah.net>
- * added sizeof(bool) autoconf macro
- * rearranged configure.in to avoid problems
- with simple checks being confused by the extra
- CXXFLAGS and libs
- 2001-11-17 Maarten ter Huurne <mth@stack.nl>
- * SDLRenderer is now SDLLoRenderer (low-res: 320x240) and
- was given its own files.
- Also removed MESS history comments from MSXTMS9928a.
- 2001-11-16 Maarten ter Huurne <mth@stack.nl>
- * Split off SDLRenderer from MSXTMS9928a.
- This makes it easier to support different renderers
- (320x240, 640x480, 8/16/32bpp).
- In the near future SDLRenderer will get its own file.
- 2001-11-16 Maarten ter Huurne <mth@stack.nl>
- * Disabled 512K mapper in cfg/someconfig.xml because it conflicted
- with the MegaROM.
- 2001-11-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * cleanup EventDistributor/HotKey
- 2001-11-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80: interrupt state is only checked right after a sync point
- halt now "burns" CPU cycles
- --> large CPU speedup
- 2001-11-14 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * an MSXDevice is now associated with an MSXConfig object as soon as
- it is instantiated. Before this change it was possible that a
- MSXDevice (mostly singletons) was used before it could access its
- parameters.
- * AY8910: fixed uninitialized variables
- 2001-11-13 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixed HotKey: method find() returns a normal iterator, not an
- iterator that goes over elements that match the search criteria
- 2001-11-13 David Heremans
- * openMSX now stops when using the WM close button:
- * Correct close behaviour:
- Set a sync point so that if the CPU is scheduled until
- infinite we still can stop openMSX.
- Wouter will look into the HotKey event distribution,
- it is temporarly fixed using if comands.
- 2001-11-09 David Heremans
- * quickly add a fullscreen flag in the TMS code:
- extra parameter in config.xml file
- use PrintScreen key to togle
- * openMSX now stops when pressing F12:
- however make sure that openMSx is full screen when you press F12
- 2001-11-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * reworked CPU related classes:
- much simpler structure
- more optimizations possible in the future
- * Z80: correct wait-state handling
- 2001-11-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80: undocumented instructions like "res 4,(ix+5),b" implemented
- * Z80: correct(?) timing for undocumented instructions
- 2001-11-04 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80 cleanup/fixes:
- fixed DAA instruction, bug in Penguin Adventure should be fixed now
- correct 'undocumented-flag-handling' for most instruction
- 2001-10-31 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixed bug in Z80, some instruction had a negative T-State count!!
- Road Fighter works again
- 2001-10-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added MSX-MUSIC, code largly taken from Mitsutaka Okazaki
- http://www.angel.ne.jp/~okazaki/ym2413/
- no "suspend" function yet
- 2001-10-29 Joost Yervante Damad <j.damad@qahwah.net>
- * finished migration of CVS and mailinglists to sf.net
- * thank you sourceforge team!!
- * http://openmsx.sf.net
- 2001-10-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixes, improvements to DACSound (untested)
- * updated KeyClick, the "click too short" problem should be solved now
- KeyClick now uses a DACSound object to play sound, playing samples
- on KeyClick should also be possible now (untested)
- * pause sound while pause emulation
- * SoundDevices default now to muted after creation, fixes a race in
- Mixer::registerSound()
- 2001-10-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * SoundDevices can now mute themselves, mixer doesn't ask
- for soundbuffer of muted devices
- * added KeyClick support, PPI had to be made time aware for this
- doesn't work very well yet because a typical key-click-spike
- takes about 34us which is shorter than the duration of 1 sample
- 2001-10-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * make DACSound compile again (doesn't work yet)
- * add HotKey service
- * openMSX can be paused (pause key), added to demonstrate the
- use of HotKey. Problems with current pause implementation:
- - sound must also be paused
- - realtime keeps running, so after unpausing openMSX
- tries to catch up and runs too fast for a while
- * MSXKanji now supports both class 1 as class 2 Kanji
- * Added MSXPrinterPort and DummyPrinterPortDevice (= no device
- connected)
- 2001-10-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Changed Mixer and SoundDevice interface (David's request).
- Now each SoundDevice must do its own buffer-managment, this gives
- more flexibility to devices like DAC's
- 2001-10-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * small performance improvement in MSXZ80
- 2001-10-21 Joost Yervante Damad <j.damad@qahwah.net>
- * added some basic conversions to MSXConfig##Device
- let me know when more are needed
- * updated msxconfig.dtd to reflect soon te be added
- non-device configuration entries
- * added support for non-device configuration entries
- this is not thoroughly tested, but should work
- 2001-10-19 Joost Yervante Damad <j.damad@qahwah.net>
- * started TODO file to collect ideas/things todo
- 2001-10-19 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * documented SoundDevice interface on David's request
- * RP5C01 can now optionally sync with host-clock, but this
- limitates some functionality
- 2001-10-18 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * implemented test register in RP5C01,
- corrected 12/24 hour mode, month-wrap-bug fixed
- * RP5C01 is now emutime synced instead of realtime
- 2001-10-17 Joost Yervante Damad <j.damad@qahwah.net>
- * added src/cfg dir for storing config file templates
- * started in KeyEventInserter
- 2001-10-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made improvements to MSXRealtime
- * small fixes to MemoryMapper, E6Timer
- * improvements to RP5C01 (RTC)
- 2001-10-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixed bug in Keyboard (uninitialized variable)
- and made minor performance improvement in keyGhosting
- * add 1 extra waitState after each instruction
- * Corrected MSXRealTime, speed is now correct. Deviation was
- caused by accumulation of rounding errors.
- 2001-10-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Scheduler can now schedule "Schedulable" objects instead of
- only MSXDevices, this is necessary for sub-device scheduling
- (e.g. counters in I8254
- 2001-10-15 Marcel Harkema <marcel@qahwah.net>
- * * Set the MAINTAINERCLEANFILES variable in Makefile.am files
- (for make maintainer-clean)
- * * EventDistributor.hh should include <map> and not <multimap.h>
- (which is an internal header file)
- * * Add {XML,SDL}_CFLAGS, {XML,SDL}_LIBS, etc. to CXXFLAGS and
- LIBS in configure.in (and remove openmsx_LDADD line from
- src/Makefile.am)
- * Include <cassert>, <cstdio>, etc. instead of <assert.h>,
- <stdio.h>, .. [I might have missed some... please check your
- code]
- * [patch applied by joost]
- 2001-10-14 Joost Yervante Damad <j.damad@qahwah.net>
- * Made EmuTime printable [read streamable] for David
- 2001-10-12 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Simplified MSXRealTime implementation
- 2001-10-11 David Heremans <david.heremans@gnu-linux.net>
- * MSXTMS9928a and MSXRealTime updates
- 2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * update parts of audio-buffer when registers have changed
- * fixed tone generation in AY8910 (overflow in calculation)
- 2001-10-09 Joost Yervante Damad <j.damad@qahwah.net>
- * removed all automake/autoconf utility files,
- use autogen.sh to install them locally
- 2001-10-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added a real time synchronizer (MSXRealTime)
- * fixed keyGhosting bugs in Keyboard
- 2001-10-07 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * renamed Inputs --> Keyboard
- * forgot to initialize keyboard matrix
- * moved method keyGhosting() from MSXPPI to Keyboard
- --> method is now only called when
- * keymatrix has changed and
- * keymatrix is read
- * extended Mixer to support (pseudo)stereo
- 2001-10-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Made a very simple mixer, made AY8910 register itself as
- sound generator.
- 2001-10-03 Joost Yervante Damad <j.damad@qahwah.net>
- * updated automake utility files
- 2001-10-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * "static const int -> enum" cleanup
- * Reworked EventDistributor, it is now possible to deliver events
- synchronously and asynchronously. This makes the EventDistributor
- more complex, but it eliminates locking problems in synchronous
- ( = almost all) client code.
- 2001-10-02 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made Philips mapper-IO behaviour
- * read mapper behaviour from config file, this needed some
- restructuring in MapperIO and related classes
- * Fixed TurboR ST mapperIO
- 2001-10-01 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80 converted to a C++ class, still needs cleanups
- * IRQ handling cleanup
- 2001-09-30 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * second part of Z80 cleanup
- 2001-09-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * #define -> static const int cleanup
- * first part of Z80 cleanup
- 2001-09-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * reimplemented Scheduler, total new algorithm
- * made some changes to cpu-device's
- these need some cleanup, especially the c/c++ mix (Z80)
- 2001-09-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * added locking to class EventDistributor (maybe std::multimap is
- thread-safe and no locking is necessary)
- * added locking to class Mouse, there was a small race that could cause
- some mouse-movement-glitches
- 2001-09-24 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * implemented Real Time Clock device
- * implemented joystick support. Cannot be used yet since there is no
- mechanism to plug a Joystick in a joystickPort yet (dynamically nor
- statically)
- * implemented mouse support. Cannot be used yet, same reason as above
- 2001-09-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made sperate thread for event handler
- other classes can ask EventDistributor to receive specific events
- * adapted Inputs for new event model
- * respond to SDL_QUIT event
- 2001-09-23 Joost Yervante Damad <j.damad@qahwah.net>
- * various small fixes
- * started working on making the code work with gcc-3.0
- * added autogen.sh: use to regenerate build files
- * added m4/ dir for own autoconf m4 macros
- * added fstream_templ.m4, since in gcc-3.0 ifstream
- is templatized on type, and .read() returns char,
- not unsigned char, soo this needs ifstream<byte> in
- openmsx, but in gcc-2.95 ifstream is not a template.
- * added -fno-rtti to compile-flags since we don't use
- runtime type inspection anyway, and it increases binary size
- see also: http://gcc.gnu.org/ml/gcc-help/2000-03/msg00064.html
- 2001-09-22 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * cleanups in most devices
- * small bug fixes in some devices
- * Implemented memory mapper
- all mappers share one MapperIO device
- reading from mapper ports can be customized
- 2001-09-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * Z80/R800 separation cleaned up:
- only the class MSXCPU knows there are 2 CPU's, all other devices
- should talk to MSXCPU instead of MSXZ80 or MSXR800 (nor ask
- MSXMotherBoard which CPU to talk to)
- Removed some code marked as "ugly hack"
- * added support for Kanji ROM
- * cleanups in MSXRom16KB
- 2001-09-19 Joost Yervante Damad <j.damad@qahwah.net>
- * various small fixes around the code
- * the 16k rom still needs a C++ makeover
- 2001-09-17 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * implemented kana/code led
- * implemented joystick-ports. This is only the port, not the devices
- that can be plugged into the port (joystick, mouse, ...)
- * interupt handling was seriously broken (CPU jumped to 0x38 at every
- di->ei transition even when there was no device that had raised an IRQ)
- Fixed now (I think). Also moved interrupt related methods from class
- Scheduler to class MSXMotherBoard.
- 2001-09-16 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * implemented sound generation for PSG (code taken from xmame-0.37b)
- mixer is not finished, so you won't hear anything yet
- 2001-09-16 Joost Yervante Damad <j.damad@qahwah.net>
- * added endian-ness check to configure.in
- * removed -DLDB_FIRST, and made it dependant on
- configure result
- * added sizeof long autoconf check, to make Z80.cc
- also work correctly on 64 bit and 128 bit cpu's [untested]
- 2001-09-15 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * started implemention of MSXPSG (no sound generation yet)
- 2001-09-15 Joost Yervante Damad <j.damad@qahwah.net>
- * reworked msxconfig.cc by using the xmlhelper
- * xmlhelper is a simplified xml interface
- 2001-09-13 Joost Yervante Damad <j.damad@qahwah.net>
- * added xmlhelper class, which I will start using
- to make xmlconfig code cleaner
- * made msxconfig more standards-compliant
- 2001-09-10 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * removed double initialization
- * CPU is no longer a special case with initialization
- * fixed various bugs
- * made Inputs independent from MSXPPI
- * implemented CAPS LED + support for all other LEDs
- 2001-09-09 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * print more usefull debug messages
- * use DummyDevice instead of the general MSXDevice for all the
- emptyDevice's
- * registering SP must be done by Scheduler, not Motherboard
- 2001-09-08 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * some fixes (yesterday discussed with Davy)
- 2001-09-06 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * fixed a few classes to make them compile again
- * made some minor addition to emutime
- 2001-09-05 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * print debug information only if compiled for debugging
- 2001-09-05 David Heremans <david.heremans@gnu-linux.net>
- * sync : PPI, Z80, ...
- * Z80 should be completely correct now
- * started integrating SDL keys
- * VDP integration Sean's code started
- * subslot selecting and mainslot selecting imped
- * MSXMotherboard slotlayout filled with dummy
- empty devices to avoid 0-pointers
- 2001-09-03 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * In class Scheduler, use "set" instead of "list" or "sortedlist"
- * Split MSXPPI in a MSX depended part and a reuseable 8255 part
- 2001-08-27 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * made a more complete PPI implementation
- * made new device: E6Timer (TurboR)
- 2001-08-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * removed linkedlist.hh and use stl list instead
- * made template SortedList and use it in Scheduler
- this compiles, but does not link yet
- 2001-08-25 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * updated class Emutime
- * make use of emutime
- 2001-08-23 Joost Yervante Damad <j.damad@qahwah.net>
- * msxconfig: added <desc> and <rem>
- * msxconfig.hh: externalized nested classes
- * msxconfig: started saveFile support
- 2001-08-10 David Heremans <david.heremans@gnu-linux.net>
- * sync : PPI, Z80, ...
- 2001-08-09 Joost Yervante Damad <j.damad@qahwah.net>
- * reworked msxconfig code, now more C++
- * added support for multiple slotted's
- 2001-07-07 Joost Yervante Damad <j.damad@qahwah.net>
- * added class property to <parameter> tag in msxconfig
- * also slightly reworked that code
- * bumbed version to 0.1.1
- * added SDL auto* support
- 2001-07-06 Joost Yervante Damad <j.damad@qahwah.net>
- * merge David's code in CVS
- this includes: PPI, Z80, RomDevice, Motherboard, ...
- 2001-06-26 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * more updates tex docu file
- 2001-06-23 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * more updates tex docu file
- 2001-06-23 Joost Yervante Damad <j.damad@qahwah.net>
- * finished readonly MSXConfig interface
- 2001-06-22 Joost Yervante Damad <j.damad@qahwah.net>
- * added MSXException exception base class.
- * created MSXConfig exceptions
- * started using them.
- * make distcheck now works
- * openmsx.tex is part of the dist
- 2001-06-21 Joost Yervante Damad <j.damad@qahwah.net>
- * made MSXConfig code -> this code needs serious cleaning
- later ! :)
- 2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * updated tex docu file
- 2001-06-20 Joost Yervante Damad <j.damad@qahwah.net>
- * initial MSXConfig interface/singleton skeleton
- * first touch with libxml++
- * links smoothly now with libxml++ and libxml
- * !!warning!! needs libxml++ version 0.13 (debian ships with 0.10)
- * see also http://lusis.org/~ari/xml++/
- 2001-06-21 Wouter Vermaelen <wouter.vermaelen@student.kuleuven.ac.be>
- * created tex docu file
- 2001-06-19 Joost Yervante Damad <j.damad@qahwah.net>
- * added autoconf support for libxml
- * added some $Id magic tags
- 2001-06-18 Joost Yervante Damad <j.damad@qahwah.net>
- * Emutime tweaks as per Wouter and David
- 2001-06-16 Joost Yervante Damad <j.damad@qahwah.net>
- * added autoconf support for libxml++
- * various small tweaks
- 2001-05-06 Joost Yervante Damad <j.damad@qahwah.net>
- * made a nice and clean CVS/automake/autoconf/libtool
- * restructured source
- * versioned files
- 2001-05-04 David Heremans <david.heremans@gnu-linux.net>
- * openmsx: initial version.
|