ROBOT |
ロボスタ |
千葉県勝浦市で地域課題を解決するドローン配送の新スマート物流「SkyHub」サービスを開始 セイノー/KDDI/住友商事/エアロネクストら |
https://robotstart.info/2023/01/25/skyhub-katsuura.html
|
|
2023-01-25 02:00:31 |
IT |
ITmedia 総合記事一覧 |
[ITmedia ビジネスオンライン] KATE、下まぶたメークまでできるアイシャドウを発売 “便利さ”を訴求 |
https://www.itmedia.co.jp/business/articles/2301/25/news075.html
|
itmedia |
2023-01-25 11:53:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia PC USER] マウス、「冬の感謝セール 第2弾」を開始 最大7万円引き |
https://www.itmedia.co.jp/pcuser/articles/2301/25/news113.html
|
itmediapcuser |
2023-01-25 11:39:00 |
IT |
ITmedia 総合記事一覧 |
[ITmedia News] 日本オラクル、ガバメントクラウド移行支援に本腰 自治体・パートナー企業向けプログラムを全国展開 |
https://www.itmedia.co.jp/news/articles/2301/25/news110.html
|
itmedia |
2023-01-25 11:18:00 |
TECH |
Techable(テッカブル) |
玄関に近づくだけで鍵が開く!手ぶらで施解錠できる「アミュレットスマートキー」が便利そう |
https://techable.jp/archives/193158
|
campfire |
2023-01-25 02:58:12 |
TECH |
Techable(テッカブル) |
国内スタートアップ資金調達額が8,774億円に!INITIALが「Japan Startup Finance 2022」を無料公開 |
https://techable.jp/archives/193154
|
initial |
2023-01-25 02:47:27 |
AWS |
AWS Japan Blog |
AWS Week in Review – 2023 年 1 月 23 日 |
https://aws.amazon.com/jp/blogs/news/aws-week-in-review-january-23-2023/
|
awsweek |
2023-01-25 02:33:56 |
js |
JavaScriptタグが付けられた新着投稿 - Qiita |
Vue + <script setup> + TypeScript: Vue 3と新構文で変わったところをチュートリアルから拾い出してみる |
https://qiita.com/FumioNonaka/items/9623e4baf8f733774a1c
|
compositio |
2023-01-25 11:09:27 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
CodePipelineのチュートリアルやってみた!~S3編~ |
https://qiita.com/piro877/items/e57f08e224c168340463
|
codepipeline |
2023-01-25 11:58:14 |
AWS |
AWSタグが付けられた新着投稿 - Qiita |
S3オブジェクトを動的抽出してLambda並列処理するStep Functions Distributed Mapを実装してみた |
https://qiita.com/dnpds-nakamura/items/90a96cd8ce973e9c989f
|
functionsdistributedmap |
2023-01-25 11:28:46 |
Git |
Gitタグが付けられた新着投稿 - Qiita |
windowsのGitBashを日本語対応させる |
https://qiita.com/maxor/items/2b7f3391f9d8b95d4fe9
|
gitbash |
2023-01-25 11:06:07 |
技術ブログ |
Yahoo! JAPAN Tech Blog |
広告配信システムの統合とモダン化 〜10年分のレガシー脱却~ |
https://techblog.yahoo.co.jp/entry/2023012530401741/?cpt_n=BlogFeed&cpt_m=lnk&cpt_s=rss
|
配信 |
2023-01-25 11:01:00 |
海外TECH |
DEV Community |
Optical Illusion tutorial with the Commodore 64 and DurexForth |
https://dev.to/ianwitham/optical-illusion-tutorial-with-the-commodore-64-and-durexforth-4hbm
|
Optical Illusion tutorial with the Commodore and DurexForthHello again Start here if you don t know what DurexForth is or perhaps even what a Commodore is Let s expand on my previous post with something a bit more fun than yet another fizzbuzz In this post we ll implement the stepping feet illusion Here s an example Let s think about how to implement this We ll need the black and white vertical bars and a way to quickly switch them off to show a plain gray background thus revealing the illusion Commodore character graphics seem just about ideal for this The coloured feet can be hardware sprites moving across this background Two big rectangles must be just about the simplest sprites we could imagine But first the alternating bars I want to implement the colours in colour memory and then just fill the screen with reversed spaces to display the coloured bars That way I can turn off the bars by simply filling the screen with non reversed spaces which are invisible leaving the alternating colours intact in the colour memory but allowing the background screen colour to show through I ll make this gray just like in the example Let s begin by starting up the DurexForth v editor and entering some useful constants constant SCREENMEM d constant COLORMEM constant SCREENCOLOR constant SPACE CHAR constant REVERSE CHAR constant GRAYNotice how easily numbers can be entered in either hexadecimal or decimal You can also enter numbers as binary by prefixing with e g Now I ll make a helper word i e a function to fill the screen with a given character Although DurexForth is much faster than Basic using a loop to fill in the screen memory is still noticeably slower than if you were to do it in assembly Fortunately there is a better way Let s take a look at the fill word from the DurexForth manual fill addr len char ー Fill range addr len addr with char Note the stack comment addr len char ー This indicates what values the word will expect to take off the stack before the dash and what values it may leave on the stack after the dash So the fill word will consume three parameters from the stack and add nothing back onto the stack It s good practice to leave comments like this on your own words too as it helps you to prevent stack overflow or underflow which will crash your program So using this word to fill the first characters of screen memory with the A character would look like this fillwhere is the start address of the fill operation is the number of bytes to fill and is the byte you want to fill that memory area with i e the character code for the letter A We want to fill screen memory so the first two parameters will always be and Here s how the helper word looks fillscreen char SCREENMEM rot fill first take a look at the stack comment This word expects the character code to already be on the stack Then the word itself will push the SCREENMEM constant onto the stack followed by size in bytes of screen memory The stack will now contain char addr len Referring back to the documentation for fill we see that it requires those values in this order addr len char Now let s take a look at the documentation for the built in stack manipulation word rot rot a b c ー b c a Rotate the third item to the top Substitute a b c for char addr len and you can see this will give us just what we need There are many such stack manipulation words for getting parameters into the required order Now we have our fillscreen helper word which we can use to fill the screen with any character we give it For example using our predefined character constants REVERSE CHAR fillscreen show the black and white barsSPACE CHAR fillscreen hide them againNext we ll implement the colours We can put this into a setup word as once we ve defined these colours we don t need to touch them again Also as this is a one off setup routine I don t mind using a slightly slow loop construct coloursetupGRAY SCREENCOLOR c do i and COLORMEM i c loop The snippet i and will give us a zero for even numbered iterations and a one for odd numbered iterations Fortuitously these are the colour codes for black and white respectively c simply stores a byte at an address It s POKE with a less silly name Let s add a couple of words to test what we have so far mainloop REVERSE CHAR fillscreen key drop SPACE CHAR fillscreen key droprecurse main screen setup mainloop The key word gets one character from input and leaves it on the stack We don t want to use that character for anything we only want to check if a key has been pressed so we can discard that value from the stack with the drop word Let s try it out If you re in the v editor hit F to compile and return to the immediate prompt and then run the main word Tapping a key will toggle the black and white bars on or off Hit RESTORE to exit the program Page up on my Vice key mapping YMMV Now let s move on to the sprites First let s add some more useful constants to the top of the program constant VIC constant SPRITEPTR constant BLUE constant YELLOWNote that it is common in BASIC to store a base address for the VIC II registers as V and then reference the various registers by their offset e g POKE V While I am going to do the same in my program I m using the name VIC so as not to collide with the command to open the v text editor Despite my convention of using ALL CAPS for constant names these names are case insensitive so naming this constant V would be a problem Here s the wall of POKEs required to initialise the two sprites init sprites SPRITEPTR c sprite SPRITEPTR c sprite SPRITEPTR ff fill data YELLOW VIC c BLUE VIC c sprite x expand VIC c sprite initial position VIC c sprite xpos VIC c sprite ypos VIC c sprite xpos VIC c sprite ypos show sprites VIC c hide sprites VIC c This is straightforward sprite boilerplate As I mentioned I m just poking values into various VIC registers to initialise the sprites their size their colour and their positions I use the fill word again to initialise the sprite data because we just want to turn on every pixel i e a plain rectangle of pixels There a many resources online which explain the various registers and how to set up your sprites Here s a pretty good example At this point I want to add a value to track whether the black and white bars are currently hidden This can go near the top of the program with the constants value hidebarsThe syntax for using a value is nice and simple hidebars will push the current value of hidebars to the stack and val to hidebars will set hidebars with a new value In our case we want to toggle the value between true and false so we ll use hidebars invert to hidebars Now all that is left is to modify our main and mainloop words to incorporate the sprites mainloop begin VIC inc VIC inc do key if key drop hidebars invert to hidebars hidebars if SPACE CHAR fillscreen else RVS CHAR fillscreen then then loop again main screen setup init sprites RVS CHAR fillscreen show sprites mainloop Notice that I ve used some inline assembly to increment the x position of the two sprites This is a rare case where I feel assembly code provides nicer syntax The alternative in forth would be VIC dup c swap c VIC dup c swap c Another change is that I m now using key to check whether there is a character available for key This prevents the program from waiting for input when there is none which would pause the animation Let s take a look at the end result Here s the full program constant SCREENMEM d constant COLORMEM constant SCREENCOLOR constant SPACE CHAR constant RVS CHAR constant GRAY constant VIC constant SPRITEPTR constant BLUE constant YELLOW value hidebars screen setup GRAY SCREENCOLOR c do i and COLORMEM i c loop fillscreen char SCREENMEM rot fill init sprites SPRITEPTR c sprite SPRITEPTR c sprite SPRITEPTR ff fill data YELLOW VIC c BLUE VIC c sprite x expand VIC c sprite initial position VIC c sprite xpos VIC c sprite ypos VIC c sprite xpos VIC c sprite ypos show sprites VIC c hide sprites VIC c mainloop begin VIC inc VIC inc do key if key drop hidebars invert to hidebars hidebars if SPACE CHAR fillscreen else RVS CHAR fillscreen then then loop again main screen setup init sprites RVS CHAR fillscreen show sprites mainloop |
2023-01-25 02:31:50 |
ニュース |
@日本経済新聞 電子版 |
「パンとサーカス」の末路 成長と防衛、財源も併せて
https://t.co/iahfY76Z2w |
https://twitter.com/nikkei/statuses/1618069580001480705
|
防衛 |
2023-01-25 02:13:44 |
ニュース |
@日本経済新聞 電子版 |
一体いくら使ったんだ! 医療費、コロナ対策含め50兆円時代
https://t.co/tq5jFJfJRg |
https://twitter.com/nikkei/statuses/1618068308598874113
|
対策 |
2023-01-25 02:08:41 |
ニュース |
@日本経済新聞 電子版 |
最強戦車レオパルト2を供与へ なぜドイツは迷ったのか
https://t.co/e7UMkO2azN |
https://twitter.com/nikkei/statuses/1618067315651907586
|
最強 |
2023-01-25 02:04:44 |
海外ニュース |
Japan Times latest articles |
Secret documents land in all the wrong places in messy U.S. system |
https://www.japantimes.co.jp/news/2023/01/25/world/us-classified-documents-wrong-place/
|
nation |
2023-01-25 11:33:06 |
海外ニュース |
Japan Times latest articles |
U.S. and Germany set to send tanks to Ukraine, breaking deadlock |
https://www.japantimes.co.jp/news/2023/01/25/world/us-germany-tanks/
|
U S and Germany set to send tanks to Ukraine breaking deadlockThe move will give President Volodymyr Zelenskyy s forces access to a significant new capability as the fighting in Ukraine shifts from urban centers to the |
2023-01-25 11:11:42 |
ニュース |
BBC News - Home |
US and Germany ready to send tanks to Ukraine - reports |
https://www.bbc.co.uk/news/world-europe-64391272?at_medium=RSS&at_campaign=KARANGA
|
blatant |
2023-01-25 02:53:19 |
ニュース |
BBC News - Home |
Jacinda Ardern's successor Chris Hipkins sworn in as New Zealand PM |
https://www.bbc.co.uk/news/world-asia-64395447?at_medium=RSS&at_campaign=KARANGA
|
covid |
2023-01-25 02:09:27 |
ニュース |
BBC News - Home |
Australian Open 2023 results: Magda Linette beats Karolina Pliskova to reach semi-finals |
https://www.bbc.co.uk/sport/tennis/64383726?at_medium=RSS&at_campaign=KARANGA
|
finals |
2023-01-25 02:01:29 |
ビジネス |
ダイヤモンド・オンライン - 新着記事 |
グーグルのインド事業、規制強化で支配揺らぐか - WSJ発 |
https://diamond.jp/articles/-/316690
|
規制強化 |
2023-01-25 11:05:00 |
ビジネス |
東洋経済オンライン |
篠崎愛「サテライトオフィスCM」が関心引いた証拠 テレビCM、40~50代男性がネット検索で熱心に調べた | メディア業界 | 東洋経済オンライン |
https://toyokeizai.net/articles/-/647767?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
東洋経済オンライン |
2023-01-25 11:30:00 |
ビジネス |
東洋経済オンライン |
「奨学金1200万円」の36歳、JASSOとの裁判の結末 奨学金を返したいのに返せない人が生まれる訳 | 奨学金借りたら人生こうなった | 東洋経済オンライン |
https://toyokeizai.net/articles/-/642878?utm_source=rss&utm_medium=http&utm_campaign=link_back
|
jasso |
2023-01-25 11:05:00 |
ニュース |
Newsweek |
「業界内では、人気者ではない」過激な動物愛護運動に燃える、映画『ベイブ』のおじさんが問い続ける理由 |
https://www.newsweekjapan.jp/stories/world/2023/01/post-100685.php
|
「彼は、檻に入れてどこかに隠され、搾取され、殺されている動物たちのために戦うPETAの秘密兵器だ」クロムウェルの政治活動は、動物愛護活動にとどまらない。 |
2023-01-25 11:39:22 |
マーケティング |
MarkeZine |
【参加無料】実際の数字と成果で解説する、コンテンツマーケ×MAツール活用の最適解 |
http://markezine.jp/article/detail/41112
|
参加無料 |
2023-01-25 11:30:00 |
IT |
週刊アスキー |
法務省、登記所備付地図データ公開 マップアプリなどで活用可能 |
https://weekly.ascii.jp/elem/000/004/121/4121915/
|
登記所 |
2023-01-25 11:30:00 |
コメント
コメントを投稿