「PC-80/sg_seena2」の編集履歴(バックアップ)一覧はこちら

PC-80/sg_seena2 - (2019/11/21 (木) 17:57:10) の1つ前との変更点

追加された行は緑色になります。

削除された行は赤色になります。

#image(sg_seena2.png) JavaScript版 http://www.maroon.dti.ne.jp/lance/js/trial/sg_seena2.html [[CMTファイル>https://img.atwikiimg.com/www32.atwiki.jp/sampleisbest/attach/580/84/sg_seena.zip]] 起動方法 mon *L *G8100 メモリマップ |$8100||機械語コード| |$8400|2x101|壁index| |$8500|25x101|壁データ| |$9000|80x200|デモデータ| #highlight(asm){{ data equ $9000 wall equ $8400 ;-------+-------+-------+-------+-------+ org $8100 start proc local L1,L2 call init L1: ld hl, data L2: ld (pos), hl call draw ld hl, (pos) ld de, 80 add hl, de ld a, $ff cp (hl) jp nz, L2 jp L1 endp ;-------+-------+-------+-------+-------+ init proc local L1 local param ; ファンクションキー表示スイッチ ld a, $00 ld ($ea60), a ; WIDTHの設定 ld hl, param call $0843 ; カーソル off call $0bd2 ld hl, $f300+81 ld de, 120 ld b, 25 L1: ld (hl), $80 add hl, de djnz L1 ret param db '80,25', 0 endp ;-------+-------+-------+-------+-------+ draw proc local L1,L2 local vram ld hl, $f300 ld (vram), hl ld hl, (pos) ld b, 80 L1: push bc push hl ld a, (hl) ; h = data[x] add a, a ld l, a ld h, 0 ld de, wall add hl, de ; hl = wall + 2 * h ld e, (hl) ; de 壁 inc hl ld d, (hl) ld hl, (vram) ld bc, 120 rept 24 ld a, (de) ld (hl), a inc de add hl, bc endm ld a, (de) ld (hl), a ld hl, vram ; vram++ inc (hl) pop hl ; x++ inc l pop bc djnz L1 ret vram ds 2 endp ;-------+-------+-------+-------+-------+ pos ds 2 }}
#image(sg_seena2.png) [[JavaScript]]版 http://www.maroon.dti.ne.jp/lance/js/trial/sg_seena2.html [[CMTファイル>https://img.atwikiimg.com/www32.atwiki.jp/sampleisbest/attach/580/84/sg_seena.zip]] 起動方法 mon *L *G8100 メモリマップ |$8100||機械語コード| |$8400|2x101|壁index| |$8500|25x101|壁データ| |$9000|80x200|デモデータ| #highlight(asm){{ data equ $9000 wall equ $8400 ;-------+-------+-------+-------+-------+ org $8100 start proc local L1,L2 call init L1: ld hl, data L2: ld (pos), hl call draw ld hl, (pos) ld de, 80 add hl, de ld a, $ff cp (hl) jp nz, L2 jp L1 endp ;-------+-------+-------+-------+-------+ init proc local L1 local param ; ファンクションキー表示スイッチ ld a, $00 ld ($ea60), a ; WIDTHの設定 ld hl, param call $0843 ; カーソル off call $0bd2 ld hl, $f300+81 ld de, 120 ld b, 25 L1: ld (hl), $80 add hl, de djnz L1 ret param db '80,25', 0 endp ;-------+-------+-------+-------+-------+ draw proc local L1,L2 local vram ld hl, $f300 ld (vram), hl ld hl, (pos) ld b, 80 L1: push bc push hl ld a, (hl) ; h = data[x] add a, a ld l, a ld h, 0 ld de, wall add hl, de ; hl = wall + 2 * h ld e, (hl) ; de 壁 inc hl ld d, (hl) ld hl, (vram) ld bc, 120 rept 24 ld a, (de) ld (hl), a inc de add hl, bc endm ld a, (de) ld (hl), a ld hl, vram ; vram++ inc (hl) pop hl ; x++ inc l pop bc djnz L1 ret vram ds 2 endp ;-------+-------+-------+-------+-------+ pos ds 2 }}

表示オプション

横に並べて表示:
変化行の前後のみ表示: