マイペースなプログラミング日記

x86エミュレータやFPGA、WebGLにお熱なd-kamiがマイペースに書くブログ

Java

タイマ割り込み

タイマ割り込みも無事動いて満足!

エミュレータ進捗

30日本の11日目まで進みました。ウインドウも表示出来て満足!とはいってもウインドウを表示してるのはOSであってエミュレータはウインドウかどうかもわからずに描画しているだけである。

進んでいます

見た目的には変化ないけどいろいろ変わってます

メモリ32MB

VMに割り当てたメモリは32MB、OSでちゃんと認識しています

JavaScript版のエミュレータ

はりぼてOSを動かしてるけどやはり画面描画はきついなーという感じ。テキストベースなら十分な速さに見えるが…

x86エミュレータ マウスとの戦い

マウスは認識されたようだが…値がオカシイな…

文字もOK

文字もOKといってもフォント読み込んでるのOSだし…描画してるのOSだし…C言語って感じの命令が増えてきた

順調!順調!

きたー!

進捗!進捗!

某エミュレータを作り始めて4日目、ついに画面に変化が!

自作エミュレータ進捗

それほど進んでないがもう少しで違う結果が見られそうだ

某OSを実行し始めて…

某OSというかまだブートローダだけど32bitモードに突入したっぽいぞ!ワーイヤッタートロピカルヤッホー

久しぶりにWebアプリを作ってる気がする

たいしたことはしてないけど何か作ってます

サボりすぎ…

サボりすぎてアレなアレ、Swingで作ってたけどJavaFX使いたい気分…頑張ろうMIDI

JavaのMapの初期化から要素代入を1行で書こうぜ

何のために?と言われても理由なんてない。そこにはロマンしかない。Streamを使いたかっただけなんだよ!というわけでJava8なソースコード Map<Integer, String> map = Stream.of(new Object[][]{{11, "大嶺"}, {12, "石川"}, {14, "大谷"}, {15, "関谷"}}).collect(Collector</integer,>…

メニューバーを使ってみる

ショートカットキー付きのメニューアイテムを持ったメニューバーを作ってみたテスト。 import javafx.stage.Stage; import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.FileChooser; import javafx.scene.control.Menu…

ファイル選択ダイアログテスト

ファイル選択ダイアログ使うぞーっていうテスト import javafx.stage.Stage; import javafx.application.Application; import javafx.scene.Scene; import javafx.stage.FileChooser; import javafx.scene.control.Button; import java.io.File; public clas…

ファイルのドラッグ&ドロップテスト

JavaFXでファイルをドラッグ&ドロップで受け取るためのテストプログラム import javafx.stage.Stage; import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.input.Dragboard; import…

JavaFX始めました

まずは簡単なやつを… import javafx.application.Application; import javafx.scene.Scene; import javafx.scene.control.Label; import javafx.scene.text.Font; import javafx.stage.Stage; public class Test extends Application{ @Override public void…

テキストファイルを読み込んで標準出力へ

今更こんなタイトルなプログラムを作って遊んでました。面白いですね import java.nio.file.Path; import java.nio.file.Files; import java.nio.file.FileSystems; import java.nio.charset.StandardCharsets; import java.io.BufferedReader; import java.…

entrySet

今までMapのentrySetを使うことはあまりなかったが、Java8で使うようになるかも?まだ、積極的にJava8してないので、どんどんつかっていきたいところ。Stream APIを使い倒したいが、仕事で使ってるのがJava6!なんてことだ

くだらないことやりはじめた

近々変な何かを公開できるかもしれない

のんびり

MIDIデータの編集パネル...縦スクロールを入れ忘れてたので、縦にもスクロールできるようにしておいた

MIDIる! その3

JScrollPaneを使わずにJScrollBarで自前スクロール...何をやっているんだかって感じだが、まぁ、動いたしいいやって感じである.。早く音を鳴らさないとなー

MIDIる! その2

簡易的な画面作成...GWTに移植するため、GUIやMIDI部分はinterface作って...うーん

MIDIる! その1

まぁ、なんとなくMIDIデータ作って再生、保存するプログラムを作りたいんですよ。例外処理とかとりあえず考えずになんとなく作ってみたわけですよ。これから頑張る参考news.mynavi.jp MIDI楽器名一覧表 import javax.sound.midi.Track; import javax.sound.m…

JavaFX 3Dを試してみる

Java8にはJavaFX8が入ってるんですって奥さん。何がなんだかよくわからないJavaFXだがとりあえず3Dができるらしいことはわかった。まずは自家製戦車を描画してみる。下記モデル読み込みライブラリのリンクからDownloadの項目にある[download]リンクからダウ…

JavaからLeapMotion

LeapDeveloperKitをダウンロードして、どこか適当なフォルダに置き、 LeapDeveloperKitoのディレクトリ/LeapSDK/lib/x64 にパスを通して(x86環境の場合はx64をx86に置きかえる)、LeapJava.jarをクラスパスに追加する。そしてhttp://www.buildinsider.net/sma…

Dogcat RSSリーダの使い方らしきもの フィード追加編

Docat RSSリーダを開いて左側にあるのがカテゴリ一覧とそのカテゴリに含まれるフィード一覧です。 カテゴリを追加または削除したい場合カテゴリの名前の上で右クリックします。すると以下のポップアップが表示されます。 そのポップアップから『カテゴリ整理…

あれ、ソースコードがなくなってた

間違って削除したのかもしれないがdogcatのソースコードが消えていた。なんてこった。ということで以前アップしたものをそのまま公開します。フィードの追加方法は後で書くhttp://d-kami.net/dogcat/使い方 閲覧編 http://d.hatena.ne.jp/d-kami/20140415/13…

忘れていた...

自作GPUやレイトレーシングに傾いていた影響でdogcatの存在を忘れていた。進めないと!

ブラウザ上でXPath

GWTのクライアントサイドでXPath使いたいと思いGoogleで検索したらhttps://code.google.com/p/gwtxpath/が見つかった。これをクラスパスに追加して、***.gwt.xmlに以下の一行を追加すればクライアントサイドでXPathが使えるようだ。 <inherits name="com.mouchel.gwt.xpath.xpath" /> 以下のように書いてXPat</inherits>…

フィード取得画面

RSSのURLの入力して追加していくのだが、HTMLのページを指定した場合、HTMLからフィードを探してきて候補をだすようにした

流し読み用?

今作っているRSSリーダは、フィードを選ぶとタブでタイトル一覧を開くけど、右クリックした場合はタイトルや概要を一覧で表示するようにした。流し読み用?

今日の進捗

メニューバー追加中&カテゴリの編集機能追加中。カテゴリはサーバに保存する機能とローカルストレージに保存する機能を作る予定。まずはローカルストレージから

コンテキストメニュー?

左のパネルのカテゴリ部分を右クリックしたときに、ポップアップパネルを表示するようにした。フィードの追加とか整理ができるようにする。あとタブを右クリックすると消えるようにした。あとはサーバーサイドを頑張ればいいんだけど、ちょっと進みが遅いの…

さぼってたけど進んでます

RSSリーダの作成をちょっとさぼってたけど、地味に進んでます。Romeを使うようになったので大抵のフィードには対応しているはず。あとエントリのタイトルや名前の部分の色分けが進んだ。全く設計せずに作り始めたのでこれからが心配だが、なんとかする。

何か作ってます その3

まぁ、今更ブラウザで動くRSSリーダ作ってる。調子が悪いのでのんびり作っていこう

jsoupでXMLを解析するには...

jsoupでXMLを解析しようとしたが、いくつかのタグがおかしくなるようだ。RSS 2.0を解析しようとした結果linkがおかしくなってしまったが、以下のようにparserタグでパーサー設定すればOKっぽいぞ Document document = Jsoup.connect(url).parser(Parser.xmlP…

SimpleDateFormatの罠

Tue, 01 Apr 2014 09:20:56 GMTという文字列をSimpleDateFormatでパースしようとして new SimpleDateFormat("EEE, dd MMM yyyy HH:mm:ss z"); とやったらエラー。APIリファレンス見ても、この通り書けばよいはずだと思ったが、とりあえず、ParseExceptionのg…

jsoupで名前空間

RSSからdc:creatorを取得しようとして焦る。select("dc:creator")じゃ駄目なのか!と思ったらselect("dc|creator")とすれば良かったらしい。解決 import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import org.jsoup.nodes.Document; import org.jso…

jsoupを使ってみる

jsoupはHTMLパーサだけど、XMLもパースしてしまえってことでちょっとRSSを取得してタイトル一覧を表示してみました。すごい手抜き import org.jsoup.Jsoup; import org.jsoup.nodes.Element; import org.jsoup.nodes.Document; import org.jsoup.select.Elem…

lib-gwt-fileはファイル書き込みはできなかったか

なんかファイル書き込みもできるものかと思ってたが違った。ドロップされたファイルの取得、ファイルの読み込み、Blobあたりが扱えるようだが、書き込みはできないようだ。ついでにFile System API(?)もないようだ。別のライブラリもあったが、古すぎて今の…

GWTでFile API

GWTでFile APIをどう使うのか調べてみたら、そのためのライブラリが見つかった。http://www.vectomatic.org/libs/lib-gwt-fileにライブラリがあり、そのDropPanelとDataTransferExtなどを使えばOKらしいが、gwt.xmlでのinheritsと、Drag関係やDrop関係のイベ…

Connection Pool使って...

closeし忘れてConnection枯渇!やってしまった...そういえばJava 7なんだからtry-with-resources使えばいいじゃん!という結論に。使えるよね?多分...

LocalStorageやAudioかー

GWTのLocalStorageとAudio(やVideo)、使い方が変わる可能性があるらしいけど、今すぐ使ってみたいね!

SlideShareにアップしました

『Javaで作る超簡易x86エミュレータ』をSlideShareにアップしました! http://www.slideshare.net/d-kami/java-24934130

自分の作ったJavaDoc見てニヤニヤする作業

素晴らしいとも思わなしいけど、面白いので見てる。5年後ぐらいに見て、なんだこのゴミは!となってるかもしれない

java.nio.ByteBuffer使って

ByteBuffer使ってMMDの解析しようと思ったが、いろいろミスった。まず、文字を取得しようとしてgetCharを呼び出したが、アルファベットの取得だったので、1byte読み込みで良かった。しかし、getCharは親切にも2byte読み込んでしまい文字化けが起こった。最初…

最近趣味でサーバーサイドやってないので

そろそろ何かやりたい。ついでにWicket使いたい。アルバイトでJSPばかり書いてるので鬱憤晴らしが必要。SNSでもやってみるか...その前にWicketしばらく触ってないので、リハビリ+新しいバージョンのチェックが必要

System.out.printlnと書きたくない君へ

以前、JavaのSystem.out.printlnと書くのが面倒だという人がいた。なので、System.out.print系を書かずにHello Worldを出力するプログラムを考えてみた。 public class Test{ public static void main(String[] args){ throw new RuntimeException("Hello Wo…