An Emulator for my Old System Today and Tomorrow?
Ponsard, Christophe
Software emulators are wonderful tools to study old computer systems for different purpose from running legacy application to retrogaming. This talk explores the context of digital preservation triggered by on-going work in a Belgian computer museum where emulators help in rediscovering old systems, maintaining/recovering knowledge on their design and sharing the experience with the audience without stressing fragile old machines. This talk aims at exploring and somehow engaging the audience about some simple questions from that perspective: where to look for emulators (MAME/MESS, specific development, javascript ports...) ? How to select one for some usage context ? And last but not least as emulators are themselves part of history: How to make sure/contribute to the sustainability of those nice piece of software on the long run ? The talk will not provide definitive answers to the above questions but document some guidelines gathered so far from different perspectives: usage, architecture, exchange between emulated/physical word, open/closed approaches, community aspects... based on the speaker experience as user of emulators personally and at the NAM-IP computer museum but also as software engineer experienced in evaluting software maintainability, especially open source projects. It will be illustated on a practical case from the museum: the DAI "Imagination Machine" microcomputer. The ultimate long term goal could be to build a knowledge base shared across the community developping and using emulators.
 Hello, welcome to this first talk of the retro computing the from. I'm Chris of Ponsard speaking from Belgium, actually from retro computing cave and you can see behind me some of my old machines and in this talk I will share with you some thought about digital preservation. Actually, the context is that I am volunteer working at the NAMI computer museum which is located in Namur, Belgium, not far from Brussels, so if you are in Belgium sometimes in the future and hopefully maybe next year at the next for them I hope it will be physically again at ULB. Please pay a visit so you know well our general mission to preserve aqua exhibit and also research about a number of computer pioneer computer and digital heritage in general. You can see the design of the museum, it's a old sports hall and everything is managed in containers and you know containers evolved in parallel with with computer that's why we have that exhibition solution. As museum you know we have a lot of preservation constraints. Actually when a machine joins the collection it's become very hard to pour it up. As a use case I will use the dye in data computer. It's an early micro computer from 1978. It was quite advanced from that time and it's very rare so it's a problem really a problem to to to use it and the question is how we keep the expertise so do we transfer programs and how do we show running software to to visitors. So of course we ended up with the idea to use emulators and record some videos and things like that but that triggers a number of questions so we have to look for emulators what are the interesting usage scenarios how to select a convenient emulator and of course as the emulators are themselves software how can we make sure that they will be maintained and usable in the future. So clearly we are moving here from physical to digital preservation. Just a quick disclaimer to tell you I'm still discovering this area and my main goal is to share so about digital preservation and emulation with a focus on retro computing. I will not cover legal issues and of course this view does not claim to be exhaustive. The outlook will be as follow I will have a general look at digital preservation then focus on emulator then look at use case and preservation tool chain before looking at long term preservation strategies for the emulators and then go to some open discussion. Digital preservation means we want to maintain digital object accessible and usable in an authentic way for a long term future and digital object can cover a large scope all kinds of documents programs including games and also social media. Our focus will be more on the program side and there are two complementary dimensions first usability we want to be able to read the document to run the code. One point is in some case usability could even be better for example skipping the long tape loading is of course interesting improving the resolution is also an improvement but it could impact the other dimension for example which is authenticity of course we want to preserve the look and feel want to preserve the experience if the experience is better in some way for museum it's not our target but for other use case like for gaming it's interesting. So this is a matter of discussion. There are several strategies for digital preservation I will quickly go through them we focus on retro computing the first for centralization preservation encapsulation and extraction are not so interesting they have a lot of drawbacks like well standard didn't exist or may not be maintained total preservation is very expensive and limited usage. Capsulation will generally postpone the problem and extraction will only be a fallback for degraded mode so the main strategies that I recommend are migration and emulation media migration is always interesting because you are transferring the information from older support unsupported technology to newer media like from tape to flowp to hard drive or cloud storage for documents and application the idea is to migrate them to the most recent platform version so to be able to use them it means that you have to do this regularly each time that there is some kind of update and of course one problem there is that you might lose information each time and so have some progressive degradation and lose the authenticity of the media or the understandability so emulation is another solution that has the advantage to preserve the original digital resource but to just emulate the platform the old platform to be able to read that in that previous state of course there are a number of issues that we are discussing here like the need to maintain those emulators to evolve them and of course those are not totally perfect last one universal machine I will come back to that later coming back to emulation we can define it as an hardware or software well in your case enabling one computer system the host to behave like another one which is the guest it can be seen like the kind of digital twin of that computer system and really the technical goal is to be able to run the software in change on the host system in order to have a look at some scenarios for emulator I will go through a timeline so while I'll come on the timeline just maybe try to see how they can relate to the past to the present and to the future and we will come to that just after this is the emulator timeline let me go through the main milestones Larry must go in the term emulation at ebn the 60s and the first emulator was for the 7070 running on the 360 in 75 allen and gates developed their basic by emulating the 808 on a pdp10 emulator also used at CPU level for example the 286 can run the emulate the 8086 in real mode and floating point emulators are also emulated in software because they are they were very expensive in the 80s you can see also that as the ibn pc emerged as standard platform other platform developed emulator for it like the amigant the atari in the 90s we can see the development of game emulators with for example first the nes in 1991 95 the gameboy you can see 97 98 mess and mame project starting and merging a bit later in 2015 those books 2002 a virtualization technology here have been used virtual box qme 2007 compilation to javascript 2012 adopted by internet archive a bit later and interestingly also at os level migration to support migration of hardware from poor policy to entail the rosetta project in 2006 supported a few years but did a few years and then now in 2020-21 we have the rosetta 2 project to support emulator to support the migration from intel to arm so the same story again so if you listen to me you could discover the following user scenario about the past digital preservation this is our use case from past to present we have back part compatibility again text change for the present we have market compatibility or cost reduction and for the future that was interesting because the altibasic case was to develop a new system before or because the hardware was not available going quickly through retro computing use case of course the most famous is retro gaming you also want to use specific software from the past for some specificities like none what you see what you get text processor which has been used by some writer for example star by uh so your martin from game of thrones third accessing old files and for that you might have to use also old software and the last but not least for all case computer history we study the past and also provide some experience to the audience public audience about that time in order to select an emulator for specific usage scenario we can identify interesting scenario we'll quickly go through some about some goods of them first about the ease of installation and configuration of course you don't want to compile to look for rooms to configure keyboards you really want something that is already configured or even that runs in a browser about the ease of use you don't want the row emulator you want it to come with a number of utilities for major management snapshot with a nice user front end about accuracy actually it's more a trade-off between lower fidelity emulators and higher fidelity ones maybe cycle exact that will require more processing power but the second of course are no privilege because of the growing the growing power and of course also better for the preservation about long-term support of course you don't want to rely on the very recent project with few people exacting technology you want to make sure it will be sustainable so have a long history a large community maybe adopt virtual machine approach as we will see and maybe other ones so actually the choice will be some kind of depending on the scenario some kind of balance between those criteria actually you don't have to select only one it's interesting to have more than one emulator but then comes the overhead to manage those emulators so usually one good idea maybe use one multi-system because they provide unified management if it's necessary if you need something that has some specific feature or that has more accuracy then you can use a second one. To illustrate it is a comparison of two emulators for the java cpc you have mamay on the left and java cpc on the right so as you know mamay is a multi-system emulator so in this case you need to install the ROM so configure the keyboard it's written in c++ meaning if you want to evolve it it's true compilation the community is very large and you can see the codebase mature and it's maintained very well since it starts java cpc well when you run it everything is perfectly configured you can see you even have a desktop with many utilities a virtual keyboard it's written in java so you don't really need to recompile it if you are sure that you can still use a virtual machine in the future and so in the end you can see that both are perfectly running my basic applications not really any accuracy problem there and of course you can even exchange a program to a virtual disk so those are perfectly can perfectly be combined. So I want to look for emulators of course there are hundreds of websites so I'm just giving some entry points for multi-system just go to the game tech wiki you will find all the main multi-system emulators for specific emulators well for computer the wiki page is very good for console you can also look at the game tech wiki for the friend speaking planet emu is really good now for those looking at emulation or as per the there is the retro pi in recall box and for web browser you have here a few pointers to a website that use that technology internet archive pcg and tini emus that's but not least well this is a fan page there are many fan pages but there is one for my use case for the die computer and then you really have to look to to find those those pages that provide very very rich content usually about the the history of specific computer systems once you have selected your emulator it's interesting to understand or it will interact with all the physical and digital artifacts you have of course as retro gamer you will only use the emulator and the worm but in case of a museum we have a lot of artifacts like the listing steps flow piece and this is an illustration of those artifact interacts for the die computer so we are using the mame emulator this is a physical die you can see paper listings you can see tapes from this mini tapes from the memocom reader flow piece and we have a number of utilities that enables first well once we have what recording to transfer them to be binary maybe to transfer to disk image those images can be done from the flow piece then load it into physical die using sd drive and of course then we can also interact with the emulator loading the web file or directly injecting listings from the scripting interface for this part you will you can have a look at my talk later talk during this step home to illustrate this i will show how to load the tape in the die computer using a web file you can see here we are specifying the tape playing it okay it will start you can see it was recognized it will last for four minutes but the emulator is accelerated and the video is also accelerated so it will really start quick now we are in we are selecting the keyboard and winning the game and now we can enjoy backman finally now let's come to that question of the long-term preservation of emulator so as i told you emulators are also digital artifacts and they also depend on a guest system so to summarize there are three main approach to manage the long-term evolution the first one is migration again but migration of the mean emulator meaning recompiling to a new guest the second one is to emulate the preview system so it means that we will stack the guest emulator on the host emulator which is really another host and the last one the universal emulation machine is to really isolate from any kind of guest and of course they can be isolated to illustrate the migration approach here you can see we have an initial situation here with 2010 emulator and in order to run on the new hardware platform we will recompile this emulator to be able to use the service offered by this operating system of course it needs a community for the compiling but this is the same community that will also maintain improved emulator it will run at the same with no performance over it so it's interesting for reliability and performance in the second approach we are keeping the previous emulator in change but we are simply emulating the old platform on the new one using another emulator so it will be developed by another team for example it could be win32 emulator on win64 platform it will be transparent but it could have of course performance impact and maybe also some accuracy or reliability impact a third approach is to use a virtual computer for example considering we have our java cpc application running on an old hardware platform if you want to move to a new hardware platform we just have to change the virtual machine layer here and we keep in change the emulator and the application a point is that we have to make sure that this virtual machine is still able to run the same java version that the previous one so there is still some possible issues with the byte code evolution and some backward compatibility that must be ensured a more general approach is that idea of universal machine in that case actually we give really the specification of the virtual machine itself so we make sure that in the future that machine could be re-implemented as necessary so it's really a full specification of the machine but also all the format all the viewer and you make sure that you will be able to run on any guest system but re-implementing virtual machine can really take a lot of effort and it's not really suited for emulators more suited for documents and that approach is actually a bit idealistic to conclude emulators are really great tools for many purposes at technical level for museum but for everyone they provide easy installation to enjoy retro computing retro gaming and so help preserve collective memory i hope you enjoyed that quick journey in digital preservation and emulators my site i really enjoyed preparing this talk and it helped me realize it was not so easy to capture and explain the full picture and maybe it also raised some questions like do we need some way to manage that knowledge base so now well feedback ideas your questions are welcome
 Hello, welcome to this first talk of the retro computing the from. I'm Chris of Ponsard speaking  from Belgium, actually from retro computing cave and you can see behind me some of my old machines  and in this talk I will share with you some thought about digital preservation. Actually,  the context is that I am volunteer working at the NAMI computer museum which is located in  Namur, Belgium, not far from Brussels, so if you are in Belgium sometimes in the future and hopefully  maybe next year at the next for them I hope it will be physically again at ULB. Please pay a  visit so you know well our general mission to preserve aqua exhibit and also research about a  number of computer pioneer computer and digital heritage in general. You can see the design of  the museum, it's a old sports hall and everything is managed in containers and you know containers  evolved in parallel with with computer that's why we have that exhibition solution.  As museum you know we have a lot of preservation constraints. Actually when a machine joins the  collection it's become very hard to pour it up. As a use case I will use the dye in data computer.  It's an early micro computer from 1978. It was quite advanced from that time and it's very rare so  it's a problem really a problem to to to use it and the question is how we keep the expertise  so do we transfer programs and how do we show running software to to visitors. So of course  we ended up with the idea to use emulators and record some videos and things like that  but that triggers a number of questions so we have to look for emulators what are the interesting  usage scenarios how to select a convenient emulator and of course as the emulators are  themselves software how can we make sure that they will be maintained and usable in the future.  So clearly we are moving here from physical to digital preservation. Just a quick disclaimer  to tell you I'm still discovering this area and my main goal is to share so about digital  preservation and emulation with a focus on retro computing. I will not cover legal issues and of  course this view does not claim to be exhaustive. The outlook will be as follow I will have a general  look at digital preservation then focus on emulator then look at use case and preservation tool  chain before looking at long term preservation strategies for the emulators and then go to  some open discussion. Digital preservation means we want to maintain digital object accessible  and usable in an authentic way for a long term future and digital object can cover a large scope  all kinds of documents programs including games and also social media. Our focus will be more on  the program side and there are two complementary dimensions first usability we want to be able  to read the document to run the code. One point is in some case usability could even be better  for example skipping the long tape loading is of course interesting improving the resolution is  also an improvement but it could impact the other dimension for example which is authenticity of  course we want to preserve the look and feel want to preserve the experience if the experience is  better in some way for museum it's not our target but for other use case like for gaming it's interesting.  So this is a matter of discussion. There are several strategies for digital preservation I will  quickly go through them we focus on retro computing the first for centralization preservation  encapsulation and extraction are not so interesting they have a lot of drawbacks like  well standard didn't exist or may not be maintained total preservation is very expensive and limited  usage. Capsulation will generally postpone the problem and extraction will only be a fallback  for degraded mode so the main strategies that I recommend are migration and emulation media  migration is always interesting because you are transferring the information from older support  unsupported technology to newer media like from tape to flowp to hard drive or cloud storage  for documents and application the idea is to migrate them to the most recent platform version  so to be able to use them it means that you have to do this regularly each time that there is some  kind of update and of course one problem there is that you might lose information each time and so  have some progressive degradation and lose the authenticity of the media or the understandability  so emulation is another solution that has the advantage to preserve the original digital resource  but to just emulate the platform the old platform to be able to read that in that  previous state of course there are a number of issues that we are discussing here like  the need to maintain those emulators to evolve them and of course those are not totally perfect  last one universal machine I will come back to that later  coming back to emulation we can define it as an hardware or software well in your case  enabling one computer system the host to behave like another one which is the guest  it can be seen like the kind of digital twin of that computer system and really the technical goal  is to be able to run the software in change on the host system in order to have a look at some  scenarios for emulator I will go through a timeline so while I'll come on the timeline just  maybe try to see how they can relate to the past to the present and to the future and we will come  to that just after this is the emulator timeline let me go through the main milestones  Larry must go in the term emulation at ebn the 60s and the first emulator was for the 7070 running  on the 360 in 75 allen and gates developed their basic by emulating the 808 on a pdp10  emulator also used at CPU level for example the 286 can run the emulate the 8086  in real mode and floating point emulators are also emulated in software because they are they  were very expensive in the 80s you can see also that as the ibn pc emerged as standard platform  other platform developed emulator for it like the amigant the atari in the 90s we can see the  development of game emulators with for example first the nes in 1991 95 the gameboy you can see  97 98 mess and mame project starting and merging a bit later in 2015 those books 2002 a virtualization  technology here have been used virtual box qme 2007 compilation to javascript 2012 adopted by  internet archive a bit later and interestingly also at os level migration to support migration of  hardware from poor policy to entail the rosetta project in 2006 supported a few years but did a  few years and then now in 2020-21 we have the rosetta 2 project to support emulator to support  the migration from intel to arm so the same story again so if you listen to me you could discover  the following user scenario about the past digital preservation this is our use case from past to  present we have back part compatibility again text change for the present we have market  compatibility or cost reduction and for the future that was interesting because the altibasic  case was to develop a new system before or because the hardware was not available  going quickly through retro computing use case of course the most famous is retro gaming you also  want to use specific software from the past for some specificities like none what you see what you  get text processor which has been used by some writer for example star by uh so your martin from  game of thrones third accessing old files and for that you might have to use also old software  and the last but not least for all case computer history we study the past and also provide some  experience to the audience public audience about that time in order to select an emulator for  specific usage scenario we can identify interesting scenario we'll quickly go through some about  some goods of them first about the ease of installation and configuration of course you  don't want to compile to look for rooms to configure keyboards you really want something that is  already configured or even that runs in a browser about the ease of use you don't want the row  emulator you want it to come with a number of utilities for major management snapshot with a  nice user front end about accuracy actually it's more a trade-off between lower fidelity  emulators and higher fidelity ones maybe cycle exact that will require more processing power  but the second of course are no privilege because of the growing the growing power  and of course also better for the preservation about long-term support of course you don't want  to rely on the very recent project with few people exacting technology you want to make sure it will  be sustainable so have a long history a large community maybe adopt virtual machine approach  as we will see and maybe other ones so actually the choice will be some kind of depending on the  scenario some kind of balance between those criteria actually you don't have to select  only one it's interesting to have more than one emulator but then comes the overhead to manage  those emulators so usually one good idea maybe use one multi-system because they provide unified  management if it's necessary if you need something that has some specific feature or that has  more accuracy then you can use a second one. To illustrate it is a comparison of two emulators  for the java cpc you have mamay on the left and java cpc on the right so as you know mamay is a  multi-system emulator so in this case you need to install the ROM so configure the keyboard  it's written in c++ meaning if you want to evolve it it's true compilation  the community is very large and you can see the codebase mature and it's maintained  very well since it starts java cpc well when you run it everything is perfectly configured  you can see you even have a desktop with many utilities a virtual keyboard  it's written in java so you don't really need to recompile it if you are sure that you can  still use a virtual machine in the future and so in the end you can see that both are perfectly  running my basic applications not really any accuracy problem there and of course you can even  exchange a program to a virtual disk so those are perfectly can perfectly be combined.  So I want to look for emulators of course there are hundreds of websites so I'm just giving some  entry points for multi-system just go to the game tech wiki you will find all the main  multi-system emulators for specific emulators well for computer the wiki page is very good  for console you can also look at the game tech wiki for the friend speaking planet emu is  really good now for those looking at emulation or as per the there is the retro pi in recall box  and for web browser you have here a few pointers to a website that use that technology internet  archive pcg and tini emus that's but not least well this is a fan page there are many fan pages  but there is one for my use case for the die computer and then you really have to look to to  find those those pages that provide very very rich content usually about the the history of specific  computer systems once you have selected your emulator it's interesting to understand or it  will interact with all the physical and digital artifacts you have of course as retro gamer you  will only use the emulator and the worm but in case of a museum we have a lot of artifacts like the  listing steps flow piece and this is an illustration of those artifact interacts  for the die computer so we are using the mame emulator this is a physical die you can see  paper listings you can see tapes from this mini tapes from the memocom reader flow piece  and we have a number of utilities that enables first well once we have what recording to transfer  them to be binary maybe to transfer to disk image those images can be done from the flow piece  then load it into physical die using sd drive and of course then we can also interact with the  emulator loading the web file or directly injecting listings from the scripting interface  for this part you will you can have a look at my talk later talk during this step home  to illustrate this i will show how to load the tape in the die computer using a web file  you can see here we are specifying the tape playing it okay it will start you can see it  was recognized it will last for four minutes but the emulator is accelerated and the video is also  accelerated so it will really start quick now we are in we are selecting the keyboard and  winning the game and now we can enjoy backman finally now let's come to that question of the  long-term preservation of emulator so as i told you emulators are also digital artifacts and they  also depend on a guest system so to summarize there are three main approach to manage the  long-term evolution the first one is migration again but migration of the mean emulator meaning  recompiling to a new guest the second one is to emulate the preview system so it means that we  will stack the guest emulator on the host emulator which is really another host and the last  one the universal emulation machine is to really isolate from any kind of guest and of course they  can be isolated to illustrate the migration approach here you can see we have an initial situation here  with 2010 emulator and in order to run on the new hardware platform we will recompile this emulator  to be able to use the service offered by this operating system of course it needs a community  for the compiling but this is the same community that will also maintain improved emulator it will  run at the same with no performance over it so it's interesting for reliability and performance  in the second approach we are keeping the previous emulator in change but we are simply emulating  the old platform on the new one using another emulator so it will be developed by another team  for example it could be win32 emulator on win64 platform it will be transparent but it could  have of course performance impact and maybe also some accuracy or reliability impact  a third approach is to use a virtual computer for example considering we have our java cpc  application running on an old hardware platform if you want to move to a new hardware platform  we just have to change the virtual machine layer here and we keep in change the emulator and the  application a point is that we have to make sure that this virtual machine is still able to run  the same java version that the previous one so there is still some possible issues with the byte  code evolution and some backward compatibility that must be ensured a more general approach is  that idea of universal machine in that case actually we give really the specification of the  virtual machine itself so we make sure that in the future that machine could be re-implemented  as necessary so it's really a full specification of the machine but also all the format all the  viewer and you make sure that you will be able to run on any guest system but re-implementing  virtual machine can really take a lot of effort and it's not really suited for emulators more  suited for documents and that approach is actually a bit idealistic  to conclude emulators are really great tools for many purposes at technical level for museum  but for everyone they provide easy installation to enjoy retro computing retro gaming and so help  preserve collective memory i hope you enjoyed that quick journey in digital preservation and  emulators my site i really enjoyed preparing this talk and it helped me realize it was not so easy  to capture and explain the full picture and maybe it also raised some questions like do we need some  way to manage that knowledge base so now well feedback ideas your questions are welcome
retro_emulation_0_179.png retro_emulation_180_755.png retro_emulation_756_2183.png retro_emulation_2184_3995.png retro_emulation_3996_4943.png retro_emulation_4944_6491.png retro_emulation_6492_9599.png retro_emulation_9600_13799.png retro_emulation_13800_14543.png retro_emulation_14544_15683.png retro_emulation_15684_18983.png retro_emulation_18984_21071.png retro_emulation_21072_22907.png retro_emulation_22908_25319.png retro_emulation_25320_25391.png retro_emulation_25392_25463.png retro_emulation_25464_25583.png retro_emulation_25584_25799.png retro_emulation_25800_25871.png retro_emulation_25872_25979.png retro_emulation_25980_26027.png retro_emulation_26028_27383.png retro_emulation_27384_28511.png retro_emulation_28512_29411.png retro_emulation_29412_31607.png retro_emulation_31608_32759.png retro_emulation_32760_33194.png
Hello, welcome to this first talk of the retro computing the from. I'm Chris of Ponsard speaking from Belgium, actually from retro computing cave and you can see behind me some of my old machines and in this talk I will share with you some thought about digital preservation. Actually, the context is that I am volunteer working at the NAMI computer museum which is located in Namur, Belgium, not far from Brussels, so if you are in Belgium sometimes in the future and hopefully maybe next year at the next for them I hope it will be physically again at ULB. Please pay a visit so you know well our general mission to preserve aqua exhibit and also research about a number of computer pioneer computer and digital heritage in general. You can see the design of the museum, it's a old sports hall and everything is managed in containers and you know containers evolved in parallel with with computer that's why we have that exhibition solution. As museum you know we have a lot of preservation constraints. Actually when a machine joins the collection it's become very hard to pour it up. As a use case I will use the dye in data computer. It's an early micro computer from 1978. It was quite advanced from that time and it's very rare so it's a problem really a problem to to to use it and the question is how we keep the expertise so do we transfer programs and how do we show running software to to visitors. So of course we ended up with the idea to use emulators and record some videos and things like that but that triggers a number of questions so we have to look for emulators what are the interesting usage scenarios how to select a convenient emulator and of course as the emulators are themselves software how can we make sure that they will be maintained and usable in the future. So clearly we are moving here from physical to digital preservation. Just a quick disclaimer to tell you I'm still discovering this area and my main goal is to share so about digital preservation and emulation with a focus on retro computing. I will not cover legal issues and of course this view does not claim to be exhaustive. The outlook will be as follow I will have a general look at digital preservation then focus on emulator then look at use case and preservation tool chain before looking at long term preservation strategies for the emulators and then go to some open discussion. Digital preservation means we want to maintain digital object accessible and usable in an authentic way for a long term future and digital object can cover a large scope all kinds of documents programs including games and also social media. Our focus will be more on the program side and there are two complementary dimensions first usability we want to be able to read the document to run the code. One point is in some case usability could even be better for example skipping the long tape loading is of course interesting improving the resolution is also an improvement but it could impact the other dimension for example which is authenticity of course we want to preserve the look and feel want to preserve the experience if the experience is better in some way for museum it's not our target but for other use case like for gaming it's interesting. So this is a matter of discussion. There are several strategies for digital preservation I will quickly go through them we focus on retro computing the first for centralization preservation encapsulation and extraction are not so interesting they have a lot of drawbacks like well standard didn't exist or may not be maintained total preservation is very expensive and limited usage. Capsulation will generally postpone the problem and extraction will only be a fallback for degraded mode so the main strategies that I recommend are migration and emulation media migration is always interesting because you are transferring the information from older support unsupported technology to newer media like from tape to flowp to hard drive or cloud storage for documents and application the idea is to migrate them to the most recent platform version so to be able to use them it means that you have to do this regularly each time that there is some kind of update and of course one problem there is that you might lose information each time and so have some progressive degradation and lose the authenticity of the media or the understandability so emulation is another solution that has the advantage to preserve the original digital resource but to just emulate the platform the old platform to be able to read that in that previous state of course there are a number of issues that we are discussing here like the need to maintain those emulators to evolve them and of course those are not totally perfect last one universal machine I will come back to that later coming back to emulation we can define it as an hardware or software well in your case enabling one computer system the host to behave like another one which is the guest it can be seen like the kind of digital twin of that computer system and really the technical goal is to be able to run the software in change on the host system in order to have a look at some scenarios for emulator I will go through a timeline so while I'll come on the timeline just maybe try to see how they can relate to the past to the present and to the future and we will come to that just after this is the emulator timeline let me go through the main milestones Larry must go in the term emulation at ebn the 60s and the first emulator was for the 7070 running on the 360 in 75 allen and gates developed their basic by emulating the 808 on a pdp10 emulator also used at CPU level for example the 286 can run the emulate the 8086 in real mode and floating point emulators are also emulated in software because they are they were very expensive in the 80s you can see also that as the ibn pc emerged as standard platform other platform developed emulator for it like the amigant the atari in the 90s we can see the development of game emulators with for example first the nes in 1991 95 the gameboy you can see 97 98 mess and mame project starting and merging a bit later in 2015 those books 2002 a virtualization technology here have been used virtual box qme 2007 compilation to javascript 2012 adopted by internet archive a bit later and interestingly also at os level migration to support migration of hardware from poor policy to entail the rosetta project in 2006 supported a few years but did a few years and then now in 2020-21 we have the rosetta 2 project to support emulator to support the migration from intel to arm so the same story again so if you listen to me you could discover the following user scenario about the past digital preservation this is our use case from past to present we have back part compatibility again text change for the present we have market compatibility or cost reduction and for the future that was interesting because the altibasic case was to develop a new system before or because the hardware was not available going quickly through retro computing use case of course the most famous is retro gaming you also want to use specific software from the past for some specificities like none what you see what you get text processor which has been used by some writer for example star by uh so your martin from game of thrones third accessing old files and for that you might have to use also old software and the last but not least for all case computer history we study the past and also provide some experience to the audience public audience about that time in order to select an emulator for specific usage scenario we can identify interesting scenario we'll quickly go through some about some goods of them first about the ease of installation and configuration of course you don't want to compile to look for rooms to configure keyboards you really want something that is already configured or even that runs in a browser about the ease of use you don't want the row emulator you want it to come with a number of utilities for major management snapshot with a nice user front end about accuracy actually it's more a trade-off between lower fidelity emulators and higher fidelity ones maybe cycle exact that will require more processing power but the second of course are no privilege because of the growing the growing power and of course also better for the preservation about long-term support of course you don't want to rely on the very recent project with few people exacting technology you want to make sure it will be sustainable so have a long history a large community maybe adopt virtual machine approach as we will see and maybe other ones so actually the choice will be some kind of depending on the scenario some kind of balance between those criteria actually you don't have to select only one it's interesting to have more than one emulator but then comes the overhead to manage those emulators so usually one good idea maybe use one multi-system because they provide unified management if it's necessary if you need something that has some specific feature or that has more accuracy then you can use a second one. To illustrate it is a comparison of two emulators for the java cpc you have mamay on the left and java cpc on the right so as you know mamay is a multi-system emulator so in this case you need to install the ROM so configure the keyboard it's written in c++ meaning if you want to evolve it it's true compilation the community is very large and you can see the codebase mature and it's maintained very well since it starts java cpc well when you run it everything is perfectly configured you can see you even have a desktop with many utilities a virtual keyboard it's written in java so you don't really need to recompile it if you are sure that you can still use a virtual machine in the future and so in the end you can see that both are perfectly running my basic applications not really any accuracy problem there and of course you can even exchange a program to a virtual disk so those are perfectly can perfectly be combined. So I want to look for emulators of course there are hundreds of websites so I'm just giving some entry points for multi-system just go to the game tech wiki you will find all the main multi-system emulators for specific emulators well for computer the wiki page is very good for console you can also look at the game tech wiki for the friend speaking planet emu is really good now for those looking at emulation or as per the there is the retro pi in recall box and for web browser you have here a few pointers to a website that use that technology internet archive pcg and tini emus that's but not least well this is a fan page there are many fan pages but there is one for my use case for the die computer and then you really have to look to to find those those pages that provide very very rich content usually about the the history of specific computer systems once you have selected your emulator it's interesting to understand or it will interact with all the physical and digital artifacts you have of course as retro gamer you will only use the emulator and the worm but in case of a museum we have a lot of artifacts like the listing steps flow piece and this is an illustration of those artifact interacts for the die computer so we are using the mame emulator this is a physical die you can see paper listings you can see tapes from this mini tapes from the memocom reader flow piece and we have a number of utilities that enables first well once we have what recording to transfer them to be binary maybe to transfer to disk image those images can be done from the flow piece then load it into physical die using sd drive and of course then we can also interact with the emulator loading the web file or directly injecting listings from the scripting interface for this part you will you can have a look at my talk later talk during this step home to illustrate this i will show how to load the tape in the die computer using a web file you can see here we are specifying the tape playing it okay it will start you can see it was recognized it will last for four minutes but the emulator is accelerated and the video is also accelerated so it will really start quick now we are in we are selecting the keyboard and winning the game and now we can enjoy backman finally now let's come to that question of the long-term preservation of emulator so as i told you emulators are also digital artifacts and they also depend on a guest system so to summarize there are three main approach to manage the long-term evolution the first one is migration again but migration of the mean emulator meaning recompiling to a new guest the second one is to emulate the preview system so it means that we will stack the guest emulator on the host emulator which is really another host and the last one the universal emulation machine is to really isolate from any kind of guest and of course they can be isolated to illustrate the migration approach here you can see we have an initial situation here with 2010 emulator and in order to run on the new hardware platform we will recompile this emulator to be able to use the service offered by this operating system of course it needs a community for the compiling but this is the same community that will also maintain improved emulator it will run at the same with no performance over it so it's interesting for reliability and performance in the second approach we are keeping the previous emulator in change but we are simply emulating the old platform on the new one using another emulator so it will be developed by another team for example it could be win32 emulator on win64 platform it will be transparent but it could have of course performance impact and maybe also some accuracy or reliability impact a third approach is to use a virtual computer for example considering we have our java cpc application running on an old hardware platform if you want to move to a new hardware platform we just have to change the virtual machine layer here and we keep in change the emulator and the application a point is that we have to make sure that this virtual machine is still able to run the same java version that the previous one so there is still some possible issues with the byte code evolution and some backward compatibility that must be ensured a more general approach is that idea of universal machine in that case actually we give really the specification of the virtual machine itself so we make sure that in the future that machine could be re-implemented as necessary so it's really a full specification of the machine but also all the format all the viewer and you make sure that you will be able to run on any guest system but re-implementing virtual machine can really take a lot of effort and it's not really suited for emulators more suited for documents and that approach is actually a bit idealistic to conclude emulators are really great tools for many purposes at technical level for museum but for everyone they provide easy installation to enjoy retro computing retro gaming and so help preserve collective memory i hope you enjoyed that quick journey in digital preservation and emulators my site i really enjoyed preparing this talk and it helped me realize it was not so easy to capture and explain the full picture and maybe it also raised some questions like do we need some way to manage that knowledge base so now well feedback ideas your questions are welcome
and you can see behind me some of my old machines and in this talk I will share with you some context is that I am volunteer working at the Belgium, not far from Brussels, so if you are in number of questions so we have to look for of course as the emulators are themselves before looking at long term preservation to preserve the experience if the experience is really the technical goal is to be able to run 75 allen and gates developed their basic by 90s we can see the development of game emulators user scenario about the past digital preservation to use also old software and the last but not least for all case computer history we study the past and also provide some experience to the audience public audience about that time in order to select an emulator for specific usage scenario the history of specific computer systems once you those images can be done from the flow piece then course then we can also interact with the for this part you will you can have a look at my this is the same community that will also the old platform on the new one using another running on an old hardware platform if you want keep in change the emulator and the application a point is that we have to make sure that this that machine could be re-implemented as necessary and you make sure that you will be able to run on museum but for everyone they provide easy knowledge base so now well feedback ideas your