Enable video output
This commit is contained in:
parent
b7ef7cef01
commit
3bc64c2438
5
go.mod
5
go.mod
@ -3,3 +3,8 @@ module n64tutorial
|
||||
go 1.24.4
|
||||
|
||||
require github.com/clktmr/n64 v0.1.2
|
||||
|
||||
require (
|
||||
github.com/embeddedgo/display v1.1.0 // indirect
|
||||
golang.org/x/exp v0.0.0-20250620022241-b7579e27df2b // indirect
|
||||
)
|
||||
|
||||
35
main.go
35
main.go
@ -1,7 +1,38 @@
|
||||
package main
|
||||
|
||||
import _ "github.com/clktmr/n64/machine"
|
||||
import (
|
||||
"fmt"
|
||||
"image"
|
||||
"image/color"
|
||||
|
||||
"github.com/clktmr/n64/drivers/display"
|
||||
"github.com/clktmr/n64/drivers/draw"
|
||||
"github.com/clktmr/n64/fonts/gomono12"
|
||||
_ "github.com/clktmr/n64/machine"
|
||||
"github.com/clktmr/n64/rcp/video"
|
||||
)
|
||||
|
||||
var face = gomono12.NewFace()
|
||||
var background = &image.Uniform{color.RGBA{0x7f, 0x7f, 0xaf, 0x0}}
|
||||
|
||||
func main() {
|
||||
println("N⁶⁴ - Get N or Get Out ♫")
|
||||
// Enable video output
|
||||
video.Setup(false)
|
||||
|
||||
// Allocate framebuffer
|
||||
display := display.NewDisplay(image.Pt(320, 240), video.BPP16)
|
||||
|
||||
for {
|
||||
fb := display.Swap() // Blocks until next VBlank
|
||||
|
||||
textarea := fb.Bounds().Inset(15)
|
||||
pt := textarea.Min.Add(image.Pt(0, int(face.Ascent)))
|
||||
|
||||
draw.Src.Draw(fb, fb.Bounds(), background, fb.Bounds().Min)
|
||||
|
||||
text := fmt.Appendln(nil, "N⁶⁴ - Get N or Get Out ♫")
|
||||
pt = draw.DrawText(fb, textarea, face, pt, image.Black, nil, text)
|
||||
|
||||
draw.Flush() // Blocks until everything is drawn
|
||||
}
|
||||
}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user