由播客/导弹播客赞助的Atari 8位二进制编辑器。

omnivore的Python项目详细描述


===
杂食
==







摘要
=



>杂食-由播客/导弹播客赞助的Atari 8位二进制编辑器

在制作播客/导弹播客时,我对破解8位代码有很多想法id.我拥有的工具之一是cdy consulting的
omnimon系统监控板,这是atari
800的一个附加板,它提供了一个rom常驻监控器,类似于apple][series上的
default所提供的。事实上,我最初将这个程序命名为omnimon,但我觉得这太令人困惑了,因为在8位社区中仍有人使用原始的omnimon硬件。使用前缀"omni-"是我对omnimon硬件的所有乐趣的致敬。


omnivore是一个跨平台的应用程序,用于现代硬件(运行linux、os x和
windows)处理atari 8位机的可执行文件或磁盘映像。(i
具有长期目标,支持编辑其他8位机器(如c64和apple)的主rom和磁盘图像。[.)

omnivore不仅仅是一个atari二进制编辑器。它还可以使用基于字符的图形平铺创建和编辑地图。例如:许多游戏使用5色的背投模式4或5来提供复杂的滚动背景,而使用的内存比多色的位图模式要少得多。-导弹图形形状。



How to Run Omnivore
==

rmissile.com/omnivore/>;``或者直接通过'github
发布<;https://github.com/robmcmullen/omnivore/releases>;``页面。


linux的二进制文件目前不可用,尽管我希望在某个时候为ubuntu、linux mint和gentoo提供包。要在linux上运行
,必须从源代码安装它。这没那么复杂;
除了wxpython之外,任何东西都可以从使用pip的"python包"中安装。




是或
改进,您可以安装并运行源发行版。

如果您运行的是Linux(像我一样!),我建议您设置一个python
虚拟环境,其中包含您需要的所有依赖项,而不是将系统的python弄乱。

wxpython站点上的mg
<;http://wxpython.org/download.php\osxdefault>;`,并使用python 2.7的"framework
安装<;http s://www.python.org/downloads/mac osx/>;`,而不是
系统的python。

al
致力于杂食性开发的机器,并在该虚拟机中安装系统中的所有内容
python。

扩展,在大多数linux和os x上应该是自动的。你可能需要在linux发行版上安装python开发包,比如ubuntu或linux mint。

windows没有c编译器,但是很高兴的是,微软提供了一个其visual只用于编译python
扩展的studio编译器!从
`here<;https://www.microsoft.com/en-us/download/details.aspx下载并安装?id=44266>;`.

virtualenv安装程序--*仅限Linux*
--------

首先:下载"wxpython 3.0.2.0<;http://downloads.sourceforge.net/wxpython/wxpython-src-3.0.2.0.tar.bz2>;``源代码。

接下来,安装虚拟环境::


er表示动态库
被正确发现。您可以通过一个简单的多行shell来实现这一点:命令:


cat<;eof>>gt;$virtual-env/bin/activate
ld-libra库路径:$virtual-env/lib:$ld-libra库路径
export ld-libra库路径
eof











wxpythonvvvirtual/bin/activate



wxpython--*linux-linux-wxpython是的/>——————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————————8
使安装程序
cd wxpython
python setup.py install

---------------------------

*os x:`下载包安装程序<;http://wxpython.org/download.php osxdefault>;`
*windows:`下载并运行安装程序http://wxpython.org/download.php msw>;`

安装Omnivore--*类Unix平台*
——您系统上的包,可以通过Linux上的包管理器或其他平台上的"Git主页"获取。

<;https://git scm.com/downloads>;``在

因为我使用了unix shell脚本,这在windows上是行不通的。在我修复这个问题之前,您可以从"github releases"页面查看源代码分发版,该页面捆绑了所有完整的源代码。




Enthough库需要一个C模块,而Omnivore有几个用于图形加速的cython模块,您可以使用以下命令从主源目录运行程序:


$python run.py




development
==


一些时间关键型代码(如
重新绘制所有字符图形),但只有在
要调试或重新编译那些特定的.pyx文件时才需要它。破解python代码不需要cython


gins
----

omnivore通过插件进行扩展。插件是基于"热情框架"的,使用setuptools插件发现的。我打算制作一些示例插件来提供一些示例,以防其他人希望为Omnivore提供更多功能。




abbed用户界面和
是用python编写和扩展的。它是围绕emacs
主要模式的概念构建的——根据编辑的数据类型,不同的视图呈现给用户。

(注意
尽管enthough已经主要转向qt作为受支持的gui
工具包,但我已经派生了enthough的代码,并用更好的wxpython
支持对其进行了扩展。只有wxpython支持作为杂食动物的gui后端。我试图将补丁提交给enthough,但他们对wx的进一步支持并不感兴趣。体系结构的目标是提供一个低耦合的系统,以减少用新的主要模式、次要模式和边栏扩展编辑器所需的工作量。

为什么要重写原来的peppy_u编辑器?

…_ peppy:http://peppy.flipturn.org

***简化代码。**
peppy可以在任何窗口中使用任何主模式,但这需要大量代码来支持小模式在选项卡更改时的切换。
我让它正常工作,但代码相当复杂。杂食
只允许在窗口中使用类似的主模式,而不同的主模式需要
一个新窗口。这不是一个巨大的不便,但节省了大量的
编码,所以我对这种折衷很满意。它能让我尽可能多地使用热情的任务框架。

***使其他人更容易做出贡献。**
peppy使用的是我自己的框架,它有一个陡峭的学习曲线。
希望通过转到热情的框架,它会有更广泛的吸引力。

**利用其他人的代码。**
为我当时需要的东西定制代码,但现在
有类似的包,其他人支持和维护。例如,
我编写了一个虚拟文件系统实现,它工作正常,但本身就是一个完整的
项目。在接下来的几年里,pyfilesystem被编写出来,不再需要我使用自己的代码。_ pyfilesystem:http://packages.python.org/fs/index.html



由自由软件基金会发布的GNU通用公共许可条款;许可证的第3版,或任何更高版本(由您选择)。

目的明确。有关详细信息,请参阅GNU通用公共许可证。

T(C)2006-2014,Enthough,Inc.
保留所有权利。

aimer.
*以二进制形式重新分发必须复制上述版权声明,
此条件列表和文档中的以下免责声明
和/或随分发提供的其他材料。
*Enthough,Inc.的名称或其贡献者的名称均不得用于支持或推广ProduCTS来源于未经
事先书面许可,本软件由版权所有人和贡献者"按原样"和
提供任何明示或默示保证,包括但不限于对特定产品的适销性和适用性的默示保证。rpose是不允许的。在任何情况下,版权所有人或贡献者均不对任何直接、间接、附带、特殊、惩戒性或后果性损害承担责任r导致并在
任何责任理论,无论是在合同中,严格责任或侵权
(包括疏忽或其他)产生的任何方式使用本
软件,即使被告知此类损害的可能性。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java需要设置框架。可设置大小(false)以重新绘制()   java我对PDF文件感到困惑   为什么是太阳。jvm。热点。调试器。DebuggerException:无法打开二进制文件`?   设置结果为textview时出现java空指针异常   我应该使用什么同步原语在Java中实现事件驱动程序框架?   java为什么WindowClosing处理程序在退出程序之前不执行后台任务?   如何将“20170712T18:43:04.000Z”转换为安卓或java中的相对时间?   Java,获取按键的时间长度,currentTimeMillies()始终为24   maven构建的java可执行Jar找不到logback。xml   java在其外部的函数中使用for循环中的值   java如何以表格格式将不同长度的数据对齐   java Play 2.5 WebSocket连接构建   maven而非eclipse的java强制转换问题   java如何在JFreeChart中使X轴上的值水平?   构建Java Windows应用程序以访问在线MySQL数据库需要什么   java添加构造函数会出错吗?这没有道理,请帮忙,编程问题   java在一个jframe中的两个JPanel中使用两个绘制方法   java数学或逻辑问题   java如何复制Androids库存摄像头方向更改