the cutting room mirror

Andro Dunos (Neo Geo)

This page contains no introduction.
What makes this game notable or what is it about? Are you a bad enough dude to save this article?

Developer Credit#

A small dev credit string can be seen at 0x3E in 049-m1.m1.

Ver 2.0a by MAKOTO.03/04/05 to SK

(Source: Original TCRF research)

Source Code Fragment#

'...But what does it mean?'
This game has text or audio that needs to be translated. If you are fluent with this language, please read our translation guidelines and then submit a translation!

To do:
There's even more code!

An insane amount of code can be found at 0xFEF0 in 049-m1.m1. This is only mildly restored for a handful of instructions that were cut off.

                andi.w      #$1f,d0
        add.w       d0,d0
        _push       d2
        move.l      a4,d2
        andi.l      #$ffffffc0,d2
        add.w       d0,d2
        movea.l     d2,a4
        _pop        d2


    move.w      #GAMY/2+1-1,d2
scr_t1:
    _push       d1-d2/a0
    jsr     block_put00     ; <- d1,a0
    _pop        d1-d2/a0
    addq.w      #4,d1
    move.w      SCR_WX(a5),d0
    lea.l       (a0,d0.w),a0
        lea.l       $40*2(a4),a4
        move.w      d1,d0
        andi.w      #$3f,d0
        bne     scr_t10
        subi.w      #$40,d1
        move.l      a4,d0
        andi.l      #$3f,d0
        addi.l      #ATRI_WORK,d0
        movea.l     d0,a4
scr_t10:
    dbra        d2,scr_t1
    rts

;------------------------------------------------------------------------------
;   ( Y ) put
;------------------------------------------------------------------------------
scr_dput:
    tst.w       scr_stop
    bne     scr_d5
    tst.b       SCR_PUT(a5)     ; screen_put
    bne     scr_d3
    tst.w       d7
    beq     scr_d3
    bmi     scr_uput

    move.w      HIY(a5),d0      ; screen max
    andi.w      #$1f,d0
    bne     scr_d3

    moveq.l     #0,d0
    move.w      #GAMY/2,d1
    bra     za_puty

scr_uput:
    move.w      HIY(a5),d0      ; screen max
    andi.w      #$1f,d0
    bne     scr_d3

    moveq.l     #0,d0
    moveq.l     #-1,d1
    bra     za_puty

scr_d5:
    move.w      #1,scr_stop
    moveq.l     #0,d7
scr_d3:
    rts

;------------------------------------------------------------------------------
;   ( Y ) scrol
;------------------------------------------------------------------------------
scr_down:
    tst.w       scr_stop
    bne     scr_d5
    tst.w       d7
    beq     scr_d3
    bmi     scr_up

    _dec.w      d7          ; screen_count
    _inc.w      HIY(a5)
    _dec.w      VCY(a5)
    move.w      HIY(a5),d0
    andi.w      #$1f,d0
    bne     scr_d3

    addi.w      #2,SCY(a5)
    cmpi.w      #32,SCY(a5)
    bcs     scr_d3
    move.w      #0,SCY(a5)
    move.w      #0,VCY(a5)
    rts

scr_up:
    move.w      HIY(a5),d0      ; screen_count
    andi.w      #$1f,d0
    bne     scr_u2

    subi.w      #2,SCY(a5)
    bpl     scr_u2
    move.w      #30,SCY(a5)
    move.w      #0,VCY(a5)
scr_u2:
    _inc.w      d7
    _dec.w      HIY(a5)
    _inc.w      VCY(a5)
    rts

;------------------------------------------------------------------------------
;   za_puty : 横方向、書き換え
;
;       input parameter
;           d0.w ... block_x
;           d1.w ... block_y
;------------------------------------------------------------------------------
za_puty:
    _push.w     d1          ; plas or minas
    move.w      d0,d3
    move.w      d1,d4
    jsr     map_zahyo

    move.w      SCR_NO(a5),d1
    add.w       d3,d3
    add.w       SCX(a5),d3
    bpl     za_py2
*   addi.w      #22,d3
*   bra     za_py1
za_py2:
    cmpi.w      #22,d3
    bcs     za_py1
    subi.w      #22,d3
za_py1:
    add.w       d3,d1
    lsl.w       #6,d1           ; *32*2

    add.w       d4,d4
    add.w       SCY(a5),d4
    andi.w      #$1f,d4
    add.w       d4,d4
    add.w       d4,d1
    _pop.w      d2

    move.w      #14,d0
    tst.w       d2
    bpl     scr_y
    move.w      #-1,d0
scr_y:                      ; 横方向、表示
    _push.w     d0
    move.w      SCR_NO(a5),d2
    lsl.w       #5+1,d2         ; *32*2
    add.w       d4,d2
    movea.l     peas_data,a2
    movea.l     atri_data,a6
    jsr     aadrs_set
    _pop.w      d0
        _push       d2
        move.b      base_hix,work_hix
        move.b      base_hiy,d2
        ext.w       d2
        add.w       d2,d0
        andi.w      #$1f,d0
        lsl.w       #5+1,d0
        move.l      a4,d2
        andi.l      #$3f,d2
        addi.l      #ATRI_WORK,d2
        movea.l     d2,a4
        lea.l       (a4,d0.w),a4
        _pop        d2

    move.w      #GAMX/2+1-1,d4
scr_y1:
    _push       d1-d4/a0-a1
    jsr     block_put       ; <- d1,a0
    _pop        d1-d4/a0-a1
    addi.w      #$40*2,d1

    lea.l       2(a0),a0
*   move.w      SCR_NO(a5),d0       ; 
        move.w      d2,d0
    addi.w      #$40*22,d0
    cmp.w       d0,d1
    bcs     scr_y3
    subi.w      #$40*22,d1
scr_y3:
        lea.l       2*2(a4),a4
        move.l      a4,d0
        andi.w      #$3f,d0
        bne     scr_40r
        suba.l      #32*2,a4
scr_40r:
    dbra        d4,scr_y1
    rts

;------------------------------------------------------------------------------
;   aadrs_set : アタリ VRAM address set
;
;       input parameter
;           a5 ... scrol work adrs
;------------------------------------------------------------------------------
aadrs_set:
    lea.l       ATRI_WORK,a4
    cmpa.l      #scr1_work,a5
    bne     aads_pass

    move.w      HIX(a5),d0
    lsr.w       #4,d0
    andi.w      #$1f,d0
    move.b      d0,base_hix
    add.w       d0,d0
    lea.l       (a4,d0.w),a4

    move.w      HIY(a5),d0
    lsr.w       #4,d0
    andi.w      #$1f,d0
    move.b      d0,base_hiy
    lsl.w       #5+1,d0
    lea.l       (a4,d0.w),a4

    move.l      a4,atri_pos
aads_pass:
    rts

;------------------------------------------------------------------------------
;   map_zahyo : マップ座標算出
;
;       input parameter
;           d0 ... block_x
;           d1 ... block_y
;       output parameter
;           a0 ... 座標 address
;------------------------------------------------------------------------------
map_zahyo:
    movea.l     SCR_ADR(a5),a0
    move.w      HIY(a5),d2
    lsr.w       #5,d2           ; /32
    add.w       d2,d1
    mulu        SCR_WX(a5),d1
    move.w      HIX(a5),d2
    lsr.w       #5,d2           ; /32
    add.w       d2,d0
    lsl.w       #1,d0
    andi.l      #$0ffff,d0
    add.l       d1,d0
    lea.l       (a0,d0.l),a0
    rts

;------------------------------------------------------------------------------
;   block_put : ブロック・ヒョウジ (32*32dot)
;
;       input parameter
;           d1.w ... vram address
;           a0   ... キャラ&カラー・data
;           a2   ... キャラクタ&カラー・data_base
;           a5   ... screen work
;------------------------------------------------------------------------------
block_put00:
    lea.l       LSP_WRR,a1      ; ライト・データ・reg
    move.w      #1,LSP_AIR      ; auto・1・inc
    move.w      (a0)+,d2
    andi.l      #$ffff,d2
    lsl.l       #4,d2
    lea.l       (a2,d2.l),a3
    move.w      d1,d2
    move.w      d2,LSP_ADR      ;    [16クロック]

    cmpa.l      #scr1_work,a5       ; screen 1 init
    beq     block_put200

    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    addi.w      #32*2,d2
    move.w      d2,LSP_ADR      ;    [16クロック]
    nop
    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    rts

block_put200:
    jsr     bput00
    move.w      d0,(a4)
    jsr     bput00
    move.w      d0,32*2(a4)
    addi.w      #32*2,d2
    move.w      d2,LSP_ADR      ;    [16クロック]
    nop
    jsr     bput00
    move.w      d0,2(a4)
    jsr     bput00
    move.w      d0,32*2+2(a4)
    rts

bput00:
    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,d0        ; カラー    [12クロック]
    ori.w       #$8000,d0
    move.w      d0,(a1)
    clr.w       d0
    rts


*----------------------------------------------------------------
*----------------------------------------------------------------
*----------------------------------------------------------------

block_put:
    lea.l       LSP_WRR,a1      ; ライト・データ・reg
    move.w      #1,LSP_AIR      ; auto・1・inc
    move.w      (a0)+,d2
    andi.l      #$ffff,d2
    lsl.l       #4,d2
    lea.l       (a2,d2.l),a3
    move.w      d1,d2
    move.w      d2,LSP_ADR      ;    [16クロック]

    cmpa.l      #scr1_work,a5       ; screen 1 init
    beq     block_put2

    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    addi.w      #32*2,d2
    move.w      d2,LSP_ADR      ;    [16クロック]
    nop
    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    move.w      (a3)+,(a1)      ; キャラクター [12クロック]
    move.w      (a3)+,(a1)      ; カラー    [12クロック]
    rts

block_put2:
    jsr     bput
    move.w      d0,(a4)
    jsr     bput
    move.w      d0,32*2(a4)
    addi.w      #32*2,d2
    move.w      d2,LSP_ADR      ;    [�X        %02X
        extern      kuwa3_data  ; ミギナナメウエ
    extern      kuwa4_data  ; ミギナナメシタ
    extern      zaurus1_data    ; ザウルス1(fireヲ ウチ ツッコム)a
    extern      zaurus2_data    ; ザウルス2(フユウ fire)a
    extern      mushi_data  ; イモムシ
    extern      tobi_data   ; トビムシ
    extern      howan1_data ; ホワン

    extern      zim_data    ; wave ウエシタ(ミギヘ)
    extern      zim2_data   ; wave シタウエ
    extern      zim3_data   ; wave ウエシタ(ヒダリヘ)
    extern      zim4_data   ; wave シタウエ
    extern      kurage_data ; クラゲ
    extern      nikuman_data    ; ニクニク

    extern      howan2_data ; ホワン2
    extern      howan3_data ; ホワン3
    extern      hati1_data  ; ハチ ヒダリ ヘ
    extern      hati2_data  ; ハチ ミギ ヘ

;/////////////////////////////////////////////////////////////////////////////
;   ' enemy.h ' end
;/////////////////////////////////////////////////////////////////////////////


    extern      titeiko_data        ; 1st
    extern      titectl_data
    extern      iwa11_data
    extern      iwa12_check
    extern      kaminari_data
    extern      guard_shell_data
    extern      meka_tank_data

    extern      star_data       ; 2st
    extern      star2_data
    extern      big_star_data
    extern      mid_star_data

    extern      mhasira_data        ; 3st
    extern      mhasira2_data
    extern      door_data
    extern      elebeta_data
    extern      roll_crash_data
    extern      press_crash_data

    extern      niku_data       ; 4st
    extern      nikuv_data
    extern      nik2_data
    extern      nik2v_data
    extern      nik3_data
    extern      nik3v_data

    extern      nict_data
    extern      nictv_data
    extern      nik4_data
    extern      nik4v_data
    extern      nik5_data
    extern      nik5v_data
    extern      nik6_data
    extern      nik6v_data
    extern      nik7_data
    extern      nik7v_data
    extern      nik8_data
    extern      nik8v_data
    extern      nik61_data
    extern      nik61v_data
    extern      nikx_data
    extern      nikxv_data

    extern      honda_beat_data
    extern      hiper_brain_data
    extern      ccgg_data

    extern      killer_meteo_data   ; 5st

    extern      kure_b_data     ; 6st
    extern      kure_s_data
    extern      ana_data
    extern      yousai_data
    extern      airfun_data
    extern      star6_data

    extern      flying_city_data    ; 7st
    extern      scrct_data

    extern      st8pal_data     ; 8st
    extern      star8_data
    extern      kaku_unit_data
    extern      bee_tank_data

*-------< h_zako.asm >-------------------------------------------------------

    extern      open3_data  ; レーザー open
    extern      enbt4_data
    extern      spib3_data
    extern      spib4_data
    extern      spic3_data
    extern      spic4_data

    extern      enct1_data  ; カクダイ カエル
    extern      enct2_data  ; ヒダリ カクダイ ミギ モドル
    extern      rola1_data  ; ホノボノ ヤロウ

    extern      enat1_data  ; チドリアシ
    extern      datk1_data  ; ミサイル ダッコ

    extern      spia1_data  ; ウエーブ・タマ・ウエーブ 4キ ヘンタイ
    extern      spic6_data  ; カイテン move 4キ ヘンタイ

    extern      ship1_data  ; オオガタ セントウキ 2キ
    extern      vbas1_data  ; ミサイル ハッシャダイ シタ
    extern      vbas2_data  ; ミサイル ハッシャダイ ウエ
    extern      spia2_data  ; ウエカラユーターン ミギニススム
    extern      spia3_data  ; シタカラユーターン ミギリニススム
    extern      spia4_data  ; ウエカラユーターン ヒダリニススム
    extern      spia5_data  ; シタカラユーターン ヒダリニススム
    extern      enbt6_data  ; セマッテキテ シタニカエル
    extern      toci1_data  ; トーチカ

    extern      teis1_data  ; teisatu ボディ ウエ
    extern      jump1_data  ; ジャンプヤロウ
    extern      zbas1_data  ; ヒダリ カラ ミギヘ モドル ( シタ )
    extern      zbas2_data  ; ヒダリ カラ ミギヘ モドル ( ウエ )
    extern      zbas3_data  ; ジャンプヤロウ オトス ( ウエ )
    extern      zbas4_data  ; マワル ( シタ )
    extern      spib5_data  ; サークル・ufo

    extern      npen1_data  ; ノビルペン シタ
    extern      npen6_data  ; ノビルペン ウエ
    extern      moza1_data  ; モザイク
    extern      hant2_data  ; ドアトビダシ
    extern      mete1_data  ; チュウボス メテオ
    extern      enat2_data  ; サンキヨッテキテ カエル

    extern      hira1_data  ; ヒライテ タマウチ
    extern      suna1_data  ; スナ1
    extern      suna2_data  ; スナ2
    extern      suna3_data  ; スナ3
    extern      suna4_data  ; スナムシクン

    extern      shoue1_data ; 3メンホウダイミギ
    extern      shoue2_data ; 3メンホウダイヒダリ
    extern      hhou1_data  ; エッチホウダイ
    extern      tuka1_data  ; ジキツカミ

    extern      enat5_data  ; エスノジmoveシタカラ
    extern      enat6_data  ; エスノジmoveウエカラ
    extern      rolb1_data  ; エルノジmoveマエウエカラ
    extern      rolb2_data  ; エルノジmoveマエシタカラ
    extern      rolb3_data  ; エルノジmoveウシロウエカラ
    extern      rolb4_data  ; エルノジmoveウシロシタカラ
    extern      datk2_data  ; ミサイルダッコ マッスグクル2
    extern      datk3_data  ; ミサイルダッコ マッスグクル3

    extern      mekaeru1_data   ; メカエルシタカラウエ
    extern      mekaeru7_data   ; メカエル16*7
    extern      mekaeru8_data   ; メカエル16*8
    extern      mekaeru10_data  ; メカエル16*10
    extern      mekaeru11_data  ; メカエル16*11
    extern      mekaeru12_data  ; メカエル16*12

    extern      iwahou1_data    ; イワバホウダイシタ
    extern      iwahou4_data    ; イワバホウダイウエ
    extern      iwamisair1_data ; イワバチュウキャラ

    extern      bitkun1_data    ; ビットクン
    extern      daioubos_data   ; キョウフノダイオウ
    extern      daibit4_data    ; トビビット2


    extern      dorisyat1_data  ; ドリルシャッター16*4
    extern      dorisyat3_data  ; ドリルシャッター16*7
    extern      dorisyat4_data  ; ドリルシャッター16*8
    extern      syater1_data    ; シャッター エスノジ シタ
    extern      syater4_data    ; シャッター サーチツゥコミ シタ
    extern      syater5_data    ; シャッター 16カイテンマッスグ
    extern      syater6_data    ; シャッター サーチツゥコミ ウエ
    extern      syater7_data    ; オキ シャッター シタ
    extern      syater8_data    ; オキ シャッター ウエ

    extern      rold1_data  ; マッスグヒダリウエ45ド
    extern      rold2_data  ; マッスグヒダリシタ45ド
    extern      enat7_data  ; エスノジヒダリウエ45ド
    extern      enat8_data  ; エスノジヒダリシタ45ド
    extern      zakodai1_data   ; ザコダイジャンプヤロウ

    extern      endt3_data  ; サンキヘンタイカクダイ
    extern      endt4_data  ; サンキヘンタイカクダイ

*-------< h_zako stage 4 >---------------------------------------------------

    extern      boto1_data  ; ボトボトオチル
    extern      moko1_data  ; ニクモコモコ
    extern      tanp1_data  ; タンパク ムスコ1
    extern      tanp2_data  ; タンパク ムスコ2
    extern      hana1_data  ; ハナタカ1
    extern      hana2_data  ; ハナタカ2
    extern      enft1_data  ; オッカケ エイリアン
    extern      enft2_data  ; オッカケ エイリアン2

*-------< h_zako stage 5 >---------------------------------------------------

    extern      ncbos1_data ; ニセチュウボス
    extern      dmet31_data ; オキダイメテオ キカイシタ
    extern      dmet41_data ; オキダイメテオ キカイウエ
    extern      mmet4_data  ; コメテオ オキインセキ

    extern      dmet11_data ; ダイメテオ(1fシタ)
    extern      dmet21_data ; ダイメテオ(1fウエ)
    extern      ken1_data   ; ケンセツチュウ1(1A)
    extern      ken2_data   ; ケンセツチュウ2(1B)
    extern      ken3_data   ; ケンセツチュウ3(1C)
    extern      mmet11_data ; コメテオ コウソク
    extern      mmet21_data ; コメテオ チュウソク
    extern      mmet31_data ; コメテオ テイソク
    extern      paip11_data ; パイプ1(21)
    extern      paip21_data ; パイプ2(1D)
    extern      paip31_data ; パイプ3(1E)
    extern      paip41_data ; パイプ4(20)

*-------< r_zako.asm >-------------------------------------------------------
* r_1
    extern      hufo_data   ; 10キ ヘンタイ
    extern      hufo2_data  ; シュクショウ リターン
    extern      time_up_data    ; ムテキ ボウシ

    extern      mcanon_data ; ホウダイ
    extern      mcanon2_data    ; ホウダイ (シタムキ)
    extern      en_at_data  ; アメンボー
    extern      hugu_data   ; ワープ・チョウチン

    extern      kirai_data  ; キライ
    extern      kirai2_data ; クルットマワル
    extern      spin_ct_data    ; ワープ・トッコウタイ
    extern      rol_canon_data  ; 3ウエイ・センシャ
* r_2
    extern      teku_data   ; テクテク
    extern      hebi_data   ; ヘビ・キャラ
    extern      mame_data   ; ミチヅレ・キャラ
    extern      bbase1_data ; スイコミレーザー・シタ
    extern      bbase2_data ; スイコミレーザー・ウエ
    extern      water_data  ; ウォーター・ジャンプ

    extern      ran_data    ; ランチャー・ロボ (マルダマ)
    extern      fcanon1_data    ; フユウ・ホウダイ1
    extern      fcanon2_data    ; タマ ヲ ウッテ uターン
    extern      mspin_data      ; スピン・ツッコミ
* r_3
    extern      vten_data   ; ツリ・テンジョウ 1 (3st)
    extern      nten_data   ; ツリ・テンジョウ 2 (3st)

    extern      en2_at_data ; 90ヘンカン
    extern      bspin_data  ; ビッグ・スピン(チョクシン)
    extern      bspin2_data ; ビッグ・スピン(サンカク1)
    extern      bspin3_data ; ビッグ・スピン(サンカク2)
    extern      machine_data    ; カイテン・ビットマシン

    extern      dspin_data  ; 3Dクルクル(ヒダリヘ)
    extern      dspin2_data ; 3Dクルクル(ウエヘ)
    extern      dspin3_data ; 3Dクルクル(シタヘ)

    extern      ahiko1_data ; ユラユラ・ヒコウ
    extern      ahiko2_data ; キュウコウカ
    extern      ahiko3_data ; キュウジョウショウ
    extern      bhiko1_data ; ツッコミ
    extern      bhiko2_data ; 4キ シタ ヘ オリテ サーチ
    extern      bhiko3_data ; 4キ ウエ ヘ オリテ サーチ
    extern      spin2_ct_data   ; カソク シテ マッスグ ツッコミ

    extern      batt1_data  ; 3キ デ ヒダリ ススミ シタ サーチ
    extern      batt2_data  ; 3キ デ ミギ     "
    extern      batt3_data  ; ヒダリ ヘ  クルットススム
    extern      batt4_data  ; ミギ ヘ     "
    extern      batt5_data  ; ウエ ヘ      "
    extern      batt6_data  ; シタ ヘ      "

    extern      driru1_data ; ドリル・ミサイル ( ウエ ヘ )
    extern      driru2_data ; ドリル・ミサイル ( シタ ヘ )
    extern      gspin_data  ; カイテンホウシャ
    extern      vten2_data  ; カベ

    extern      kirai3_data ; クロス・カイテン
    extern      datk4_data  ; ミサイルダッコ(カクダイ)

*-------< r_zako stage4 >----------------------------------------------------
* r_4
    extern      sando1_data ; ハンバーグ (ヒダリヘ)
    extern      sando2_data ; ハンバーグ (ミギヘ)
    extern      kuwa1_data  ; ヒダリナナメウエ
    extern      kuwa2_data  ; ヒダリナナメシタ
    exter

(Source: Original TCRF research)

References#


  1. Title Catalogue - NEOGEO MUSEUM↩︎