dram🎀
dram🎀dramforever
2026-02-12

The existence of Wi-Fi AP implies the existence of Wi-Fi NAP

dram🎀dramforever
2026-02-12

RE: mastodon.social/@dramforever/1

I've moved easyriscv to my own domain and grebedoc.dev hosting.

To me, this is a matter of peeling off the band-aid regarding this being *my* site. With GitHub pages I *have* to rely on GitHub and be at the mercy of the Actions runner and GitHub's static site hosting. And, granted, this site isn't seeing *much* update, but we know how well Actions has been going.

Save this new link: easyriscv.dram.page/

(Also shout out to easy6502 which is still -> skilldrick.github.io/easy6502/ )

dram🎀dramforever
2026-02-09

@niconiconi omg here's mappy mouse...

dram🎀dramforever
2026-02-09

@whitequark my brain came up with the expression "i don't want to win dick measuring contests; i want to have sex" in response to this. i'm not sure what it's about but it feels like the right mood

dram🎀 boosted:
2026-02-09

How to write code on your no-toolchain, no-documentation, and no-storage 1990s Chinese <del>totally-legal Famicom game console</del> educational home computer? No worries! You can find useful assembly routines on your own! Just dump the whole BASIC cartridge ROM via PEEK using this handy 6502 decoding script! ​:blobcatfacepalm:​ The next section also gives you a typed-in ROM monitor. Absolutely disastrous learning experience. But you know it's truly only possible on a 6502 - the disassembler fits in just 4 pages. Steve Wozniak is going to either be amazed or have a heart attack if someone told him this was how 1990s home computers worked in China. #retrocomputing #小霸王学习机

第二节 6527 反汇编

为方便读者阅读内存 ROM 中的系统程序,学习编程技巧,现提供一个用 F BASIC 语言编写的 6527 反汇编程序,程序清单见 No. 4-8,本程序适用于任何版本的 F BASIC 语言系统。

在输入程序 No. 4-8 的数据语句行时,要注意每一个助记词中的空格。DATA 语句中的数据是按助记符的字符顺序装入的,如欲加快反汇编的运行速度,可调整 DATA 语句中的数据次序,把最常用的指令靠前放置。注意——DATA 中的数据每三个为一组,第一个为指令代码,第二个为汇编指令格式,第三个为指令的字节数。

5 REM No. 4-8 6527 反汇编
10 CLS: INPUT "输入反汇编首地址 &H"; N$: N= VAL("&" + N$)
20 PRINT : DD=N : GOSUB 2000
30 AA=PEEK(N); I=0; RESTORE
40 SS=N : GOSUB 1000 : N = N + 1
50 READ A$, B$, C : A=VAL("&" + A$) : IF AA=A THEN 80
60 I=I + 1 : IF I < 151 THEN 50
70 BS="??? : C = 1
80 IF C=1 THEN POKE 72, 15: PRINT B$ ; : GOTO 20090 SS=N : GOSUB 1000 : N=N + 1
100 IF C=2 THEN 120
110 SS=N : GOSUB 1000 ; N=N + 1
120 POKE 72, 15
130 FOR K=I TO LEN(B$) : D$=MID$(B$,K,1)
140 IF D$="3" THEN GOSUB 1100
150 IF D$="2" THEN SS=N-1 : GOSUB 1000 ; GOTO 190
160 IF D$="1" THEN SS=N-1 : GOSUB 1000 ; GONO 190
170 IF D$="/" THEN D$=","
180 PRINT D$ ;
190 NEXT
200 H=H+1 : IF H<20 THEN 20
210 PAUSE : H=0 : GOTO 20
1000 SS$=HEX$(PEEK(SS))
1010 IF LEN(SS$)=1 THEN SS$="0" + SS$
1020 PRINT SS$ ; : RETURN
1100 S=VAL("&"+SS$) ; IF S<128 THEN E=N+S A: GOTO 1120
1110 E=N-256+1
1120 DD=E : GOSUB 2000
1130 RETURN 190
2000 DD$=HEX$(DD)
2010 IF LEN(DD$)<4 THEN DD$="0"+DD$ : GOTO 2010
2020 PRINT DD$ "" ; : RETURN
220 DATA 69, ADC #$2,2,6D,ADC $20,3,65,ADC $2,2,61,
    ADC $(2/X),2,71,ADC ($2)/Y,2,75,ADC $2/X,3,7D,
    ADC $20/X,3,79,ADC $21/Y,3,29,AND #$2,2,2D,AND
    $21,3,25,ASD $4,4,41,AND ($2/X),2
230 DATA 31,AND ($2)/Y,2,35,AND $2/X,2,3D,AND $21/X,3,39,AND $21/Y,3,E,ASL $21,3,6,ASL $2,2,A,ASL,1,
    16,ASL $2/X,2,1E,ASL $21/X,3,90,BCC $3,2,B0,BCS 3,
    2,F0,BEQ $3,2,D0,BNE $3,2,50,BVC $3,2
240 DATA 70,BVS 3,2,30,BMI $3,2,10,BPL $3,2,24,BIT $2,
    2,2C,BIT $21,3,0,BRK,1,18,CLC,1,D8,CLD,1,58,CLI,1,B8,
    CLV,1,C9,CMP #$2,2,CD,CMP $21,3,C1,CMP ($2/
    X),2,D1,CMP ($2)/Y,2,D3,CMP $2/X,2,
250 DATA DD,CMP $21/X,3,D9,CMP $21/Y,3,C5,CMP $2,2,
    E0,CPX #$2,2,E4,CPX $2,2,EC,CPX $21$3,C0,CPY #$
    2,2,C4,CPY $2,2,CC,CPY $21,3,C6,DEC $2,2,D6,DEC 2/
    X,2,CE,DEC $)1,3,DE,DEC $21/X,3
260 DATA CA,DEX,1,88,DEY,1,49,EOR #$2,2,45,EOR $2,2,
    55,EOR $2/X,2,4D,EOR $21,3,5D,EOR $21/X,3,59,EOR
    $21/Y,3,41,EOR ($2/X),2,51,EOR ($2)/Y,2,E6,INC
    $2,2,F6,INC $2/X,2,EE,INC $21,3
270 DATA FE,INC $21/X,3,E8,INX,1,C8,INY,1,4C,JMP $21,
    3,6C,JMP ($21),3,20,JSR $21,3,A9,LDA #$2,2,A5,LDA
    $2,2,B5,LDA $2/X,2,AD,LDA $21,3,BD,LDA $21/X,3,
    B9,LDA $21/Y,3,A1,LDA ($2/X),2,B1,LDA ($2)/Y,2
280 DATA A2,LDX #$2,2,A6,LDX $2,2,B6,LDX $2/Y,2,AE,
    LDX $21,3,BE,LDX $21/Y,3,A0,LDY #$2,A,A4 LDY
    $2,2,B4,LDY $2/X,2,AC,LDY $21,3,BC,LDY $21/X3,
    4A,LSR,1,46,LSR $2,2,56,LSR $2/X,2,4E,LSR $21,3
290 DATA 5E,LSR $21/X,3,EA,NOP,1,9,ORA #$2,2,5,ORA
    $2,2,15,ORA $2/X,2,D,ORA $21,3,1D,ORA $21/X,3,
    19,ORA $21/Y,3,1,ORA ($2/X),2,11,ORA ($2)/Y,2,48,
    PHA,1,8,PHP,1,68,PLA,1,28,PLP,1,2A,ROL,1
300 DATA 26,ROL $2,2,36,ROL $2/X,2,2E,ROL $21,3,3E,
    ROL $21/X,3,6A,ROR,1,66,ROR $2,2,76,ROR $2/X,2,
    6E,ROR $21,3,7E,ROR $21/X,3,40,RTI,1,60,R310 DATA ED,SDC $21,3,FD,SDC $21,2,38,SEC,1,F8,SED,1,
    78,SEI,1,85,STA $2,2,95,STA $2/X,2,8D,STA $21,3,
    9D,STA $21/X,3,99,STA $21/Y,3
320 DATA 81,STA ($2/X),2,91,STA ($2)/Y,2,86,STX $2,2,
    96,STX $2/Y,2,8E,STX $21,3,84,STY $2,2,94,STY $2/
    X,2,8C,STY $21,3,AA,TAX,1,A8,TAY,1,BA,STX,1,8A,
    TXA,1,9A,TXS,1,98,TYA,1

程序输入完毕,检查无误后运行程序,根据提示,直接输入十六
进制的反汇编起始地址,回车后即刻开始反汇编。每反汇编二十行
自动暂停,按任一键后继续反汇编。按 STOP 键后停止反汇编。

程序 No. 4-8 可反汇编出任一起始地址的内存程序,其反汇编格
式与中华学习机的小汇编完全相同。
dram🎀dramforever
2026-02-07

@Atemu i've been thinking about this. originally my intent was that my stylesheet is so minimally designed that i should not have to specify a font family for text (<code> get the font-family: monospace monospace, that's it). i should simply use what the user prefers.

however, i have come to realize that there really are many users that expect the *website* to specify a good font-family for itself, and don't really know or care that there is a default font. so now i'm at a dilemma...

dram🎀dramforever
2026-02-06

should i explicitly set font-family: serif; in my website css, because someone screenshotted my website and their own and posted it on some forum for comparison, and their browser defaulted to sans serif for me and made it look ugly?

dram🎀dramforever
2026-02-06

@whitequark remember to fire them if you want them to be preserved. also do consider documenting the process to fire clay tablets in the modern day if you ever get around to it.

dram🎀 boosted:
dram🎀dramforever
2026-02-06

Update 2026-02-10: This is fixed.

Update 2026-02-06: If you're affected, **go to the "Checks" tab**. The Edit button should still be there. This applies to repos with no checks as well. (Reported by "kisekiiro" on Matrix)

GitHub come the heck on

"Edit button is gone for non-committers for pull requests (workaround included)" github.com/orgs/community/disc

dram🎀dramforever
2026-02-05

@demize i imagine the grape flavor thing would be treated, practically, as a fully synthetic food additive, and be labelled as whatever ester(?) it chemically is?

dram🎀dramforever
2026-02-05

@mosfet among other things, arm assembly would have more three-letter mnemonics (add, sub, ldr, str) whereas risc-v has no such tendency. also risc-v has mips-style register alias names (s0, t0, etc) (but with no prefix (mips would have $t0 etc)) whereas arm registers are *mostly* just referred to by number (x0 through x31 ...)

dram🎀dramforever
2026-02-05

@mosfet it's risc-v assembly, specifically in the *large* *code model*, i.e. -mcmodel=large, where symbol references require referencing a literal pool nearby the instruction itself. this allows a single executable to way exceed 2G in total data and code size, and allows static linking while putting stuff all over the place in 64-bit address space. see github.com/riscv-non-isa/riscv

dram🎀dramforever
2026-02-05

@mosfet hi that's fine by me, but i just want to make sure, do you understand what the bottom "large code model" is referring to?

dram🎀dramforever
2026-02-05

wrote the regex /^(?:(\d+);)?(?:\/((?:[^\\/]|\\.)+)\/|\?((?:[^\\?]|\\.)+)\?)(?:;"\t(.+))?/

for the mastodon star button, what is this trying to parse?

dram🎀dramforever
2026-02-05

Update 2026-02-10: This is fixed.

Update 2026-02-06: If you're affected, **go to the "Checks" tab**. The Edit button should still be there. This applies to repos with no checks as well. (Reported by "kisekiiro" on Matrix)

GitHub come the heck on

"Edit button is gone for non-committers for pull requests (workaround included)" github.com/orgs/community/disc

dram🎀dramforever
2026-02-05
mom can we have large code model

(screenshot of terminals showing "OpenAI Codex (v0.34.0) ..." and "Welcome to Claude Code...")

mom: we have large code model at home
large code model at home

(C code listing, and then assembly code listing)

C code:

void foo();
void bar() {
    foo();
}

Assembly:

.LC0:
    .dword foo
bar:
    ld t1, .LC0
    addi sp, sp, -16
    sd ra, 8(sp)
    jalr t1
    ld ra, 8(sp)
    addi sp, sp, 16
    jr ra
dram🎀dramforever
2026-02-04

i have a correction for this recommendation. when your device boots make it print \x55\x77\x55 a few times on the uart. that's so much better

dram🎀 boosted:
dram🎀dramforever
2026-02-04

why is the command for the 2048 game in u-boot called "2048" not "800"

github.com/u-boot/u-boot/blob/

dram🎀dramforever
2026-02-04

compile once, debug everywhere

Client Info

Server: https://mastodon.social
Version: 2025.07
Repository: https://github.com/cyevgeniy/lmst