#!/usr/bin/env python
# I, Danny Milosavljevic, hereby place this file into the public domain.

# see http://fms.komkon.org/EMUL8/NES.html#LABK

import pygtk
pygtk.require("2.0")
import gtk
import gobject
import sys
import gmonitor # Controls, StatusDialog.
import gdisplay # EventBox, View.

if __name__ == '__main__':
    from emulators.emulators import NES
    from optparse import OptionParser
    parser = OptionParser()
    parser.add_option("-u", "--unit-test", dest="unit_test", help="prepare for running unit test", metavar="UNIT_TEST")
    parser.add_option("-r", "--rom", dest="rom", help="NES file", metavar="ROM")
    (options, args) = parser.parse_args()
    nes = NES()
    if options.rom:
        nes.set_ROM_name(options.rom)
    if options.unit_test:
        nes.prepare_unit_tests()
        #nes.set_tape_loader(loaders.t64.Loader.parse(open(options.prg, "rb"), options.prg))
    for i in range(700): # 0000): # boot a little first
        nes.iterate()
    controls = gmonitor.Controls(nes)
    #nes.CPU.B_disasm = True
    assert(isinstance(controls, gtk.VBox))
    graphics_view = gdisplay.View(nes, controls)
    controls.graphics_view = graphics_view
    controls.set_timer()
    gtk.main()
