{ "info": { "author": "Simon Forman", "author_email": "sforman@hushmail.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Intended Audience :: Developers", "License :: OSI Approved :: GNU General Public License v3 or later (GPLv3+)", "Operating System :: OS Independent", "Programming Language :: Python :: 2.7", "Topic :: Software Development :: Assemblers", "Topic :: Software Development :: Libraries :: pygame", "Topic :: System :: Emulators" ], "description": "Python Oberon\n=============\n\nSome software for [Oberon 2013](http://www.inf.ethz.ch/personal/wirth/ProjectOberon/).\n\n- [Documentation](https://pythonoberon.readthedocs.io/en/latest/)\n- [Source code](https://git.sr.ht/~sforman/PythonOberon)\n- [Bugs & issues](https://todo.sr.ht/~sforman/python-oberon)\n\n\nSee also:\n\n- [projectoberon.com](http://projectoberon.com/)\n- [pdewacht/oberon-risc-emu on github](https://github.com/pdewacht/oberon-risc-emu)\n- [Project Oberon emulator in JavaScript and Java](http://schierlm.github.io/OberonEmulator/)\n- [A resource page for Oberon-07](http://oberon07.com/)\n\n\nA hardware emulator for the new RISC processor written in Python. If\nPygame is available it will open a screen of the standard dimensions of\n1024 x 768 pixels. I've also implemented a very crude \"assembler\" which\nis really little more than a bunch of helper functions to emit binary\ninstructions (in the form of 32-bit-wide ints. However, it also provides\na function dis() that will return a string representing the (integer)\ninstruction passed to it.\n\nStart with:\n\n```\npython -i -m oberon\n```\n\nThis will use `disk.img` by default. At around 3400000 cycles the screen\nbackground begins to fill in, and at around 6500000 cycles the window\ncontent begins to be drawn:\n\n![PyGame window showing Oberon](https://git.sr.ht/~sforman/PythonOberon/blob/master/Screenshot.png \"PyGame window showing Oberon\")\n\n(The `-i` option tells Python to drop into interactive REPL mode after\nthe script has run. You can interact with the risc object.)\n\n\n", "description_content_type": "text/markdown", "docs_url": null, "download_url": "", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://git.sr.ht/~sforman/PythonOberon", "keywords": "", "license": "GPLv3+", "maintainer": "", "maintainer_email": "", "name": "PythonOberon", "package_url": "https://pypi.org/project/PythonOberon/", "platform": "", "project_url": "https://pypi.org/project/PythonOberon/", "project_urls": { "Homepage": "https://git.sr.ht/~sforman/PythonOberon" }, "release_url": "https://pypi.org/project/PythonOberon/0.1.0/", "requires_dist": null, "requires_python": "", "summary": "A hardware emulator for the Oberon RISC processor.", "version": "0.1.0" }, "last_serial": 5265784, "releases": { "0.1.0": [ { "comment_text": "", "digests": { "md5": "56715d138e6f2663dae7bfa8611b9546", "sha256": "16717de13dccf4d8536b235bd92200600cce21aa271b8d7088a4df003c45e1f2" }, "downloads": -1, "filename": "PythonOberon-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "56715d138e6f2663dae7bfa8611b9546", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 242233, "upload_time": "2019-05-14T06:34:07", "url": "https://files.pythonhosted.org/packages/36/b5/80474eea340e8d3eb9d349b2702051c783ce95ac63a934feb294e8879947/PythonOberon-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "165bd326bff44cf547958de803111b2d", "sha256": "2cb4b6f9881729c1d37e37a3c065a742da40a3125659f985cdcea450ec8466f3" }, "downloads": -1, "filename": "PythonOberon-0.1.0.tar.gz", "has_sig": false, "md5_digest": "165bd326bff44cf547958de803111b2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 225078, "upload_time": "2019-05-14T06:34:10", "url": "https://files.pythonhosted.org/packages/db/e6/5f601a6206d47411253096c0016489d31f94cd9d4431ee33d25245cfc3ae/PythonOberon-0.1.0.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "56715d138e6f2663dae7bfa8611b9546", "sha256": "16717de13dccf4d8536b235bd92200600cce21aa271b8d7088a4df003c45e1f2" }, "downloads": -1, "filename": "PythonOberon-0.1.0-py2-none-any.whl", "has_sig": false, "md5_digest": "56715d138e6f2663dae7bfa8611b9546", "packagetype": "bdist_wheel", "python_version": "py2", "requires_python": null, "size": 242233, "upload_time": "2019-05-14T06:34:07", "url": "https://files.pythonhosted.org/packages/36/b5/80474eea340e8d3eb9d349b2702051c783ce95ac63a934feb294e8879947/PythonOberon-0.1.0-py2-none-any.whl" }, { "comment_text": "", "digests": { "md5": "165bd326bff44cf547958de803111b2d", "sha256": "2cb4b6f9881729c1d37e37a3c065a742da40a3125659f985cdcea450ec8466f3" }, "downloads": -1, "filename": "PythonOberon-0.1.0.tar.gz", "has_sig": false, "md5_digest": "165bd326bff44cf547958de803111b2d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 225078, "upload_time": "2019-05-14T06:34:10", "url": "https://files.pythonhosted.org/packages/db/e6/5f601a6206d47411253096c0016489d31f94cd9d4431ee33d25245cfc3ae/PythonOberon-0.1.0.tar.gz" } ] }