Happy New Year

あけましておめでとうございます。
サドです。
サイトのトップ絵を更新しましたので是非見て下さい〜


いやはや特に書くことありませんけれど、
大学受かったら情報工学系のお遊びが再開すると思います。
そしたらこのブログでの活動も活発になるでしょう。
その時は、ブログ及びウェブサイト「ドッサドサ」を
よろしくおねがいしますね。


そんなに読者いないっすけど

だいたい再起動とレジリセットで治る

(備忘録)
ノーパソ(windows7hp)の不調に悩まされていました。

  1. 起動ソフトの関連付けができない(追加できない)
  2. Dropboxの同期マークが表示されない
  3. 7-Zipコンテキストメニューから消えた


1.関連付けできない→ソフトの位置を変えた
僕の場合は、ソフトが入ってるフォルダをリネームしただけなんですが、それがいけなかった。
まず、ファイルを右クリックして関連付けしようとするが、なぜかプログラムを追加できない。
何故かと言うと、レジストリに過去の関連付け情報が残っているからなんですよ。
regeditを起動し、HKEY_CLASSES_ROOT\Applications項目から
該当のソフト名のエントリーを削除する。
これでファイルの関連付けがスムーズに行えるようになります。


2.Dropboxの同期マークが来ない
Q.最新版を使っている、ちゃんとオンライン、共有も機能している→なぜ同期マークだけ表示されないのヴァカ!!
A.再起動しろヴァカ
※スリープモードを多用しているとよくこうなる


3.7-zipが右クリックメニューに表示されない
これの原因もフォルダのリネームでした。
レジ削除後に、7-zipの設定ダイアログのチェックボックスを弄ったら、再起動もしていないのに復活しましたよ。


備忘録っつっても、ググりゃすぐ出てくる程度のモノなんですけどね。
ここはパソコンに詳しく無い人にとっては結構苦しいところです。

HSP/バイナリあれこれ

へっぽこプログラマーもどきもどきのサドです。
例によってあほクセェ備忘録です。


(2018-6-02追記)
この記事はhsp3.4を対象としたものです。
hsp3.5が出ていることに気がつきましたが、どうやらバッファサイズを取得する関数を標準サポートしたらしいです。
「変数が格納しているデータのバッファサイズを調べるvarsize関数を追加しています」(公式サイトHSPTV!より)
(追記おわり)


とりあえず掲示板とかかから拾ってきた奴。
変数のメモリサイズ?バッファサイズ?を取得する関数と、
数値、整数の循環を行う関数


#module
;バッファサイズ取得
#defcfunc bufsize var p1,local a
dupptr a,varptr(p1)-16,4,4
return a
;数値の循環
#defcfunc limitloop int p1,int min,int max
if min==max : return min
if min<=p1 & p1<=max : return p1
if p1max : return min+(p1-max-1)\(max-min+1)
return
#global
整数の循環はあれ、
シフト鍵暗号とかメニュー画面のカーソルで使える。


HSPだとNull文字をテキストデータ及びバイナリデータの
「最後」と認識するようで、mesやstr系がもろ影響受ける。
pokeで何byteかNull部分を飛ばして書き込もうとしても、
確かエラッたと思う。
そういう時は、memsetで$01か何かで予め上書きしなきゃいけない。


あとはアレかな、保存したいデータが4649byteあったとして、
str系やmesで利用したいのならば、
Null文字分も含めて4649+1byte確保しないと困ったことになるとか。
64byte未満は、HSPでは何があっても確保できないという制限も。

hspdxで16:9フルスク

DX7の知識なんてこれっぽっちも持ってない
うんこプログラマの備忘録


http://hsp.tv/play/pforum.php?mode=pastwch&num=53564
たぶん16:9でフルスクするには1280x720以上の
特定の画素数でないと初期化出来ないっぽい
4:3も640x480でないとできないっぽいし?


//HSP3 + HSPDX
#include "hspdx.as"
#const winx 640
#const winy 360
#const windowx 1280
#const windowy 720

//ウィンドウ初期化
es_ini
screen 0,windowx,windowy,2
title "test a test"
WindowMode = 0
es_screen windowx,windowy,32,,WindowMode,1
;メイン画面スケーリング用
buffer 1,winx,winy
es_buffer 0
gsel 0

//スケーリング
gmode 0:pos 0,0
es_exboxf 0,0,winx,winy,$0000FF,,,,ESB_ONE,,,,
es_xfer 0,-2,0,0,winx,winy
es_zoom 0,0,0,winx,winy,windowx,windowy

es_sync