mirror of
https://github.com/g012/l65.git
synced 2024-09-28 10:54:37 +00:00
41 lines
967 B
Plaintext
41 lines
967 B
Plaintext
require'nes'
|
|
|
|
mappers.NROM()
|
|
|
|
location(chrrom)
|
|
|
|
do
|
|
-- nes_ascii.chr: MIT License Copyright (c) 2016 Doug Fraker, www.nesdoug.com
|
|
local f = assert(io.open('nes_ascii.chr', 'rb'))
|
|
local d = f:read('*a') f:close()
|
|
@@chrdata byte(d)
|
|
end
|
|
|
|
location(prgrom)
|
|
@@nmi rti
|
|
@@irq rti
|
|
|
|
local hello = "Hello World!"
|
|
@@text byte(hello)
|
|
|
|
@@main
|
|
init()
|
|
vblank_waitbegin()
|
|
-- load BG palette in PPU RAM
|
|
ppu_addr(BGPAL)
|
|
for _,v in ipairs{ 0x1f, 0x00, 0x10, 0x20 } do lda #v sta PPUDATA end
|
|
-- load screen text in PPU RAM 0x21CA
|
|
ppu_addr(0x21ca)
|
|
ldy #0 @_loadtxt lda text,y sta PPUDATA iny cpy ##hello bne _loadtxt
|
|
-- reset scroll position
|
|
ppu_addr(0) sta BGSCROL sta BGSCROL
|
|
-- turn screen on
|
|
lda #0x90 sta PPUCTRL lda #0x1e sta PPUMASK
|
|
-- idle
|
|
@_loop jmp _loop
|
|
|
|
writebin(filename..'.nes')
|
|
writesym(filename..'.mlb', 'mesen')
|
|
writesym(filename..'.nes', 'fceux')
|
|
print(stats)
|