Skip to main content

myCHIP-8 Emulator: An Innovative Software Testing Strategy for Playing Online Games in Many Platforms

  • Chapter
  • First Online:
Optimization of Automated Software Testing Using Meta-Heuristic Techniques

Abstract

CHIP-8 is the name given to the interpreted programming language developed in the mid-1970s. The sole purpose of the language was to make video games easily programmable for the machines which employed the programming language and software testing. There exist a number of classic games such as Pong, Tetris, Space Invaders, and Pac-Man that have been ported to CHIP-8. Technically speaking, the games written for CHIP-8 run on the “CHIP-8 Virtual Machine” which has its own instruction set comprising of 35 instructions along with 16 registers. The virtual machine has a resolution of 64 × 32 pixels, and color is monochrome. In this paper, we have implemented a CHIP-8 emulator written in the C programming language. We have handled the drawing on screen with the Simple DirectMedia Layer library (SDL2) and continuous software testing. The CHIP-8 virtual machine is similar to that of the Java virtual machine of the Java programming language but is much simpler in design. We have listed each instruction explaining what it does and how it carries out it while providing the detailed documentation of our CHIP-8 emulator and thus providing metaheuristic high-level solutions to fix them.

This is a preview of subscription content, log in via an institution to check access.

Access this chapter

Subscribe and save

Springer+ Basic
$34.99 /Month
  • Get 10 units per month
  • Download Article/Chapter or eBook
  • 1 Unit = 1 Article or 1 Chapter
  • Cancel anytime
Subscribe now

Buy Now

Chapter
USD 29.95
Price excludes VAT (USA)
  • Available as PDF
  • Read on any device
  • Instant download
  • Own it forever
eBook
USD 84.99
Price excludes VAT (USA)
  • Available as EPUB and PDF
  • Read on any device
  • Instant download
  • Own it forever
Softcover Book
USD 109.99
Price excludes VAT (USA)
  • Compact, lightweight edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info
Hardcover Book
USD 109.99
Price excludes VAT (USA)
  • Durable hardcover edition
  • Dispatched in 3 to 5 business days
  • Free shipping worldwide - see info

Tax calculation will be finalised at checkout

Purchases are for personal use only

Institutional subscriptions

Similar content being viewed by others

References

  1. http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/

  2. http://devernay.free.fr/hacks/chip8/C8TECH10.HTM

  3. Osman, I., & Kelly, J. (1996). Meta-hueuristics theory and applications (pp. 1–690) ISBN:978-1-4613-1361-8.

    Google Scholar 

  4. Sharma, M., & Kaur, P. (2021). A Comprehensive analysis of nature-inspired meta-heuristic techniques for feature selection problem. Archives of Computational Methods in Engineering, 28, 1103–1127.

    Article  MathSciNet  Google Scholar 

  5. Jones, N. (1999). Arrays of pointers to functions: Embedded systems programming. Embeded Systems Programming, 46–56.

    Google Scholar 

  6. Martinez, F., Herrero, C., & Pablo, S. D. (2014). Open loop wind turbine emulator. In Renewable energy (Vol. 63, pp. 212–221). Elsevier.

    Google Scholar 

  7. Mizutani, I., & Mitsugi, J. (2016). A multicode and portable RFID tag events emulator for RFID information system. In Proceeding of 6th international conference on internet of things (pp. 187–188).

    Chapter  Google Scholar 

  8. Babacan, Y., & Kakar, F. (2016). Floating memristror emulator with subthreshold region (Vol. 90, pp. 471–475). Springer.

    Google Scholar 

  9. Priyadarshini, S. B. B., & Panigrahi, S. (2017). A distributed scalar controller selection schemefor redundant data elimination in sensor networks. International Journal of Knowledgediscovery in Bioinformatics, IGI Global, 7(1), 91–104.

    Google Scholar 

  10. Ahrenholz, J., Goff, T., & Adamson, B. (2011). Integration of the CORE and EMANE network emulators. In MILCOM 2011 military communications conference.

    Google Scholar 

  11. Jena, A., Das, A. K., Mohapatra, H., & Prasad, D. (2020). Automated software testing foundations, applications and challenges (pp. 1–165) ISBN:978-981-15-2455-4.

    Book  Google Scholar 

  12. Ellims, M., & Jackson, K. ISO 9001: Making the right mistakes (SAE Technical Paper Series 2000-01-0714).

    Google Scholar 

  13. Davis, M., & Weyuker, E. J. (1998). Metric-based Test data Adequacy criteria. Computer Journal, 13(1), 17–24.

    Article  MathSciNet  Google Scholar 

  14. Jorgensen. (1995). Software testing a craftsman’s approach. CRC Press.

    MATH  Google Scholar 

  15. Lyu, M. R., Huang, Z., Sze, S. K., & Cai, X. (2003). An empirical study on testing and fault tolerance for software reliability engineering (pp. 119–130).

    Google Scholar 

  16. McCabe, T. J. (1976). A complexity measure. IEEE Transactions on Software Engineering, 2(4), 202–213.

    MathSciNet  Google Scholar 

  17. Richard, D. J., & Thompson, M. C. (1993). An analysis of test data selection criteria using the relay model of fault detection. IEEE Transactions on Software Engineering, 19(6), 533–553.

    Article  Google Scholar 

  18. Torkar, R., Mankefors, S., Hansson, K., & Jonsson, A. (2003). An exploratory study of component reliability using unit testing. In Proceeding 14 international symposium on system reliability engineering (pp. 227–233).

    Google Scholar 

  19. Voas, J. M., & Miller, K. W. (1995). Software testability: The new verification. Software, 17–18.

    Google Scholar 

  20. Zhu, H. (1996). A formal analysis of subsume relation between software testing adequacy criteria. IEEE Transactions on Software Engineering, 22(4), 248–255.

    Article  Google Scholar 

  21. Zhu, H., Hall, P. A. V., & May, J. H. R. (1997). Software unit test coverage and adequacy. ACM Computing Surveys, 29(4), 366–427.

    Article  Google Scholar 

Download references

Acknowledgment

We would like to thank the Department of Computer Science & Information Technology, Institute of Technical Education & Research, Siksha ‘O’ Anusandhan Deemed to be University for making this investigation successful.

Author information

Authors and Affiliations

Authors

Editor information

Editors and Affiliations

Rights and permissions

Reprints and permissions

Copyright information

© 2022 Springer Nature Switzerland AG

About this chapter

Check for updates. Verify currency and authenticity via CrossMark

Cite this chapter

Priyadarshini, S.B.B., Mahapatra, A., Mohanty, S.N., Nayak, A., Jena, J.P., Samanta, S.K.S. (2022). myCHIP-8 Emulator: An Innovative Software Testing Strategy for Playing Online Games in Many Platforms. In: Khari, M., Mishra, D.B., Acharya, B., Gonzalez Crespo, R. (eds) Optimization of Automated Software Testing Using Meta-Heuristic Techniques. EAI/Springer Innovations in Communication and Computing. Springer, Cham. https://doi.org/10.1007/978-3-031-07297-0_9

Download citation

Publish with us

Policies and ethics