Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • Home
  • SEARCH
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 3356386
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 18, 20262026-05-18T02:30:29+00:00 2026-05-18T02:30:29+00:00

I have a class on low-level programming which requires a final project (syllabus at

  • 0

I have a class on low-level programming which requires a final project (syllabus at the end). It is basically a piece of software that puts to use all you learned.

I had a few ideas, like designing my own Roguelike (should be kind of like NetHack, only single-player), but I’d like some suggestions on alternatives. It needn’t be a game; it can be anything. The time frame is a month and a half, and I have other projects, etc. so it shouldn’t be too time-consuming to implement.

Requirements:

  • Use, at least, four I/O devices, one of which should be the mouse or serial port
  • Some of those devices should use interrupts, others should use polling
  • Languages: C and Assembly (mandatorily, else there is a penalization)
  • Implement state machines

The peripherals we were lectured on were:

  • Graphics card – Graphical mode
  • Graphics card – Text mode
  • Mouse
  • Keyboard
  • Real Time Counter
  • On-board Speaker (via timers 0 and 2)
  • Serial port

This is the abridged syllabus:

Input/Output peripherals and their
operation Direct mapping in a process
address space Access to peripherals in
polled mode and by interrupt Processor
interrupts in the IA-32 architecture
and the interrupt controller. Writing
interrupt service routines in Assembly
and in C Study of some typical
personal computer peripherals, such as
keyboard, mouse, graphics card, real
time clock, timer, loudspeaker and
serial port.

Programming in the C programming
language: main differences with
respect to C++ language; structured
programming in C. Memory layout of a
process. Function calls: mechanisms,
parameter passing, storage of local
variables and return values. Combined
programming in C and the IA-32
processor family assembly. Creation
and use of libraries. Static linking
of object code.

Use of software development tools:
gcc, make, gdb, ar, prof, diff, patch
and SVN

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-18T02:30:29+00:00Added an answer on May 18, 2026 at 2:30 am

    One simple option is to go for games. They can always use several devices, such as mouse, keyboard, timers, graphics card and (depending what you do) the RTC.

    Another option is to go for a "music composer" application. For instance, you could write (using the keyboard and mouse) a song (note frequency, duration) and then let the computer speaker play it.

    You could also go for a "clock/calendar application". It could draw a clock in the screen (which might be harder than it might look if you draw an analog one on the screen), and then let the user adjust the time of the day(saving the changes in the RTC). The clock could also include alarm and some ticking sound.

    As for the calendar, you could also allow the user to create "events" in the calendar, which could work a bit like alarms.

    You could also try to write your own "notepad"-like application. This would require having a working GUI(write area, menus, etc.). This could either be in text or graphics mode. You could detect the keyboard being pressed to add character, handle CAPS LOCK (giving you the opportunity to mess up with the keyboard LEDs). You could use mouse position/clicks to change position in text editor or trigger menus. Then timers to have the blinking caret in the text editor. Clicking a disabled menu option could cause a short speaker sound to indicate an invalid action.

    I’d recommend writing most of the code in C, except for little bits in Assembly. ISRs are a good opportunity for Assembly code.

    Regarding state machines:

    1. Games can have many states ("Main Menu", "Playing Game", "Pause Menu", "High scores") with well defined transitions between states.
    2. A music composer could have some states too("Stop", "Pause", "Playing")
    3. A clock application could have states such as "Show Clock", "Show Calendar", "Alarm Message Box", "Event Message Box", "Event Message Box With Pending Alarm.
    4. The notepad application could have states such as "Editing Text", "In Menu" or "In Message Box")

    Most of the devices you mentioned can be accessed with interrupts. Unfortunately, I can not think of good opportunities for polling…

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I have class method that returns a list of employees that I can iterate
I have class with a member function that takes a default argument. struct Class
Say I have class A with class A { final String foo() { //
I have a class (from NSObject ) that contains: NSString name int position float
I've got a strange problem here. Assume that I have a class with some
I am currently involved in developing a low level network application. We have lately
I have: class MyClass extends MyClass2 implements Serializable { //... } In MyClass2 is
I have class A: public class ClassA<T> Class B derives from A: public class
I have class with internal property: internal virtual StateEnum EnrolmentState { get { ..getter
I have class Cab(models.Model): name = models.CharField( max_length=20 ) descr = models.CharField( max_length=2000 )

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.