We may earn an affiliate commission when you visit our partners.
CodeMash

CodeMash 2020 | Assembly Language: The (Sega) Genesis of Programming | Joe Sewell

Read more

CodeMash 2020 | Assembly Language: The (Sega) Genesis of Programming | Joe Sewell

Have you wondered how many popular video games of the 70s, 80s, and 90s managed to look, sound, and play well despite running on very limited hardware? One reason is that many of these games were written in assembly languages. Unlike compiled or interpreted languages, in assembly, the programmer manually decides the CPU instructions the program will execute. This “by hand” approach, while difficult, allowed game developers to maximize their use of the hardware and still keep a playable framerate. This conference session with Joe Sewell dives into the ancient art of assembly programming with the Sega Genesis (aka Mega Drive) as an example. You will learn the basics of assembly languages and the unique quirks of video game hardware of the era with examples from real assembly code for the Genesis’ Motorola 68000 processor. You'll leave with a deeper understanding of computer architecture, the knowledge of what situations call for assembly programming, and the gratitude of being able to use higher-level languages in all other situations.

Enroll now

What's inside

Syllabus

Assembly Language: The (Sega) Genesis of Programming

Good to know

Know what's good
, what to watch for
, and possible dealbreakers
Demystifies an essential topic when developing home entertainment systems, such as video consoles
Examines techniques that experienced engineers and game developers use to build successful products
Suitable for learners with a background in computer architecture or assembly languages

Save this course

Save Assembly Language: The (Sega) Genesis of Programming: CodeMash to your list so you can find it easily later:
Save

Activities

Coming soon We're preparing activities for Assembly Language: The (Sega) Genesis of Programming: CodeMash. These are activities you can do either before, during, or after a course.

Career center

Learners who complete Assembly Language: The (Sega) Genesis of Programming: CodeMash will develop knowledge and skills that may be useful to these careers:
Game Programmer
Game Programmers design, develop, and maintain video games. They use assembly languages to write code that interacts directly with the hardware, allowing them to optimize game performance and create immersive and engaging experiences. The course Assembly Language: The (Sega) Genesis of Programming can provide Game Programmers with valuable insights into assembly languages and game hardware, enabling them to create more efficient and visually stunning games.
Microprocessor Engineer
Microprocessor Engineers design, develop, and maintain microprocessors, which are the central processing units (CPUs) of computers. They use assembly languages to write code that interacts directly with the hardware, enabling them to optimize microprocessor performance and functionality. The course Assembly Language: The (Sega) Genesis of Programming can provide Microprocessor Engineers with valuable insights into assembly languages and computer architecture, helping them create more efficient and powerful microprocessors.
Hardware Engineer
Hardware Engineers design, develop, and maintain computer hardware. They use their knowledge of assembly languages to write code that interacts directly with the hardware, allowing them to test and optimize its performance. The course Assembly Language: The (Sega) Genesis of Programming can help Hardware Engineers build a foundation in assembly languages and computer architecture, which is crucial for developing high-performance hardware.
Embedded Systems Engineer
Embedded Systems Engineers design, develop, and maintain software for embedded systems, which are computers used in various devices such as cars, medical equipment, and industrial machinery. Their knowledge of assembly languages enables them to write efficient code that interacts directly with the hardware. The course Assembly Language: The (Sega) Genesis of Programming can help Embedded Systems Engineers build a foundation in assembly languages and computer architecture, which is essential for developing high-performance embedded systems.
Systems Engineer
Systems Engineers design, develop, and maintain computer systems. They use their knowledge of assembly languages to write code that interacts directly with the hardware, allowing them to optimize system performance and reliability. The course Assembly Language: The (Sega) Genesis of Programming can provide Systems Engineers with a foundation in assembly languages and computer architecture, enabling them to create more efficient and resilient systems.
Operating System Engineer
Operating System Engineers design, develop, and maintain operating systems (OSes), which manage computer hardware and software. They use assembly languages to write code that interacts directly with the hardware, allowing them to optimize OS performance and reliability. The course Assembly Language: The (Sega) Genesis of Programming can provide Operating System Engineers with a deeper understanding of assembly languages and computer architecture, enabling them to create more efficient and reliable operating systems.
Firmware Engineer
Firmware Engineers design, develop, and maintain firmware for electronic devices. They use assembly languages to write code that interacts directly with the hardware, enabling them to control various aspects of the device's operation. The course Assembly Language: The (Sega) Genesis of Programming can provide Firmware Engineers with a deeper understanding of assembly languages and computer architecture, helping them create more efficient and reliable firmware.
Robotics Engineer
Robotics Engineers design, develop, and maintain robots. They use their knowledge of assembly languages to write code that interacts directly with robot hardware, allowing them to control robot movement and behavior. The course Assembly Language: The (Sega) Genesis of Programming can provide Robotics Engineers with a foundation in assembly languages and computer architecture, which is essential for developing high-performance robots.
Security Software Engineer
Security Software Engineers design, develop, and maintain software that protects computer systems from unauthorized access, use, disclosure, disruption, modification, or destruction. They use their knowledge of assembly languages to write code that interacts directly with the hardware, allowing them to implement security measures and detect potential vulnerabilities. The course Assembly Language: The (Sega) Genesis of Programming can provide Security Software Engineers with a deeper understanding of assembly languages and computer architecture, helping them build more secure software.
Automation Engineer
Automation Engineers design, implement, and maintain software and systems that automate processes. They use their knowledge of computer architecture and assembly languages to optimize the performance of these systems. The course Assembly Language: The (Sega) Genesis of Programming can help Automation Engineers enhance their understanding of these concepts and improve their ability to develop efficient and reliable automation solutions.
Information Security Analyst
Information Security Analysts protect computer systems and data from unauthorized access, use, disclosure, disruption, modification, or destruction. Their knowledge of assembly languages enables them to write code that interacts directly with the hardware, allowing them to implement security measures and detect potential vulnerabilities. The course Assembly Language: The (Sega) Genesis of Programming can provide Information Security Analysts with a deeper understanding of assembly languages and computer architecture, helping them build more secure systems.
Network Engineer
Network Engineers design, develop, and maintain computer networks. They use their knowledge of assembly languages to write code that interacts directly with network hardware, allowing them to optimize network performance and reliability. The course Assembly Language: The (Sega) Genesis of Programming can provide Network Engineers with a deeper understanding of assembly languages and computer architecture, enabling them to create more efficient and resilient networks.
Computer Systems Analyst
Computer Systems Analysts design, develop, and implement computer systems. They use their knowledge of assembly languages to write code that interacts directly with the hardware, allowing them to maximize system performance. The course Assembly Language: The (Sega) Genesis of Programming can provide Computer Systems Analysts with a deeper understanding of assembly languages and computer architecture, enabling them to create more efficient and optimized systems.
Software Engineer
Software Engineers design, develop, and maintain software applications. While assembly languages are not commonly used in modern software development, understanding them can provide Software Engineers with a deeper understanding of computer architecture and low-level programming concepts. This knowledge can be beneficial in developing more efficient and reliable software, especially in performance-critical applications. The course Assembly Language: The (Sega) Genesis of Programming can provide Software Engineers with a foundation in assembly languages, helping them expand their skillset and become more versatile developers.
Technical Support Engineer
Technical Support Engineers provide technical support to computer users. While assembly languages are not commonly used in modern computer systems, understanding them can provide Technical Support Engineers with a deeper understanding of computer hardware and software. This knowledge can be helpful in troubleshooting and resolving technical issues. The course Assembly Language: The (Sega) Genesis of Programming can provide Technical Support Engineers with a foundation in assembly languages, helping them expand their skillset and become more effective in their role.

Reading list

We haven't picked any books for this reading list yet.

Share

Help others find this course page by sharing it with your friends and followers:

Similar courses

Similar courses are unavailable at this time. Please try again later.
Our mission

OpenCourser helps millions of learners each year. People visit us to learn workspace skills, ace their exams, and nurture their curiosity.

Our extensive catalog contains over 50,000 courses and twice as many books. Browse by search, by topic, or even by career interests. We'll match you to the right resources quickly.

Find this site helpful? Tell a friend about us.

Affiliate disclosure

We're supported by our community of learners. When you purchase or subscribe to courses and programs or purchase books, we may earn a commission from our partners.

Your purchases help us maintain our catalog and keep our servers humming without ads.

Thank you for supporting OpenCourser.

© 2016 - 2024 OpenCourser