How does WinRom WORK?

All WinRom projects start life by reading the data from a Template File.  Each line of this file specifies information about some chunk of memory that will be programmd ito the ROM.  Every detail is specified, including what address, how many bytes, what type of data, and what the field means.  For a more detailed desccription, including instructions on how to create or modify templates, please see Template Files.

After WinRom digests a template file, it stores all that data in memory, and displays descriptions and fields to you (the user).  These fields are generated differently for different template files.  Since there's no nice way that I know of to scroll through dialogs, I have placed arrow icons which page up and down through the dialog.   WinRom allows you to make changes to some fields, and save or export your work.

You can open several windows of a project at the same time with the Window->New Window command.  The windows are called Views, and the project itself is called the Document.  Changing any of the data in a View will update the state of the Document.   The Document, then, will tell all the other Views that there has been a change.   In this way, all Views stay synchronized with the state of the project.

WinRom performs saving by dumping the contents of a project's Document  into a .wnr file.  The document contains the current state of everything in the project, so it's like taking a snapshot of your work, so you can come back to it later (with File->Open).

Exporting is different from saving, because instead of a raw dump of the project's Document, the information is interpreted and spit out in some other format.  This is how you get your project's data file into a format that things OTHER than WinRom can use (namely, a human being, a printer, a ROM programmer, etc...).  The details about how exporting is done are in the source code in the OnExport(...) functions of the CWinRomDocument class.