-##################################################
-# #
-# Assemble with gas #
-# --register-prefix-optional --bitwise-or #
-# #
-##################################################
+###############################################################################
+#
+# Copyright (c) 2009, Gražvydas Ignotas
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+# * Redistributions of source code must retain the above copyright
+# notice, this list of conditions and the following disclaimer.
+# * Redistributions in binary form must reproduce the above copyright
+# notice, this list of conditions and the following disclaimer in the
+# documentation and/or other materials provided with the distribution.
+# * Neither the name of the organization nor the
+# names of its contributors may be used to endorse or promote products
+# derived from this software without specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED ''AS IS'' AND ANY
+# EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
+# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
+# DISCLAIMED. IN NO EVENT SHALL <copyright holder> BE LIABLE FOR ANY
+# DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
+# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
+# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
+# ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
+# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
+# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+#
+# Assemble with gas
+# --register-prefix-optional --bitwise-or
+#
.text
.globl main
/* wait for vsync before unmask */
move.l #GFXCNTL,a3
+0:
+ move.w (a3),d0
+ and.b #8,d0
+ nop
+ nop
+ bne 0b
0:
move.w (a3),d0
and.b #8,d0
nop
beq 0b
- move.w #0x2000,sr
+ /* wait a bit to avoid nested vint */
+ move.w #20,d0
+0:
+ dbra d0,0b /* 10 cycles to go back */
+
+ /* enable vint */
+ move.w #0x2000,sr
##################################################
--- /dev/null
+-------------------------------------------------------------------------------\r
+hexed - realtime memory viewer for Genesis/Megadrive\r
+ written by Gražvydas "notaz" Ignotas\r
+-------------------------------------------------------------------------------\r
+\r
+This is rather simple address space viewer for Genesis/Megadrive. It is capable\r
+of displaying 216 bytes of memory simultaneously in a manner similar to some\r
+hex editors for the PC, with refresh of 50/60Hz. It was created for hardware\r
+research purposes.\r
+\r
+Here are the key bindings:\r
+ A + up, A + down - scroll one line up/down.\r
+ A + left, A + right - scroll one page up/down.\r
+ B - toggle between byte/word display/edit mode.\r
+ C - edit highlighted value.\r
+ Start - enter menu.\r
+\r
+\r
+hexed is released under the BSD license (see included source code for details).\r