GithubHelp home page GithubHelp logo

Comments (5)

petemoore avatar petemoore commented on July 28, 2024

In case it is useful, here is the disassembly too:

pi@raspberrypi:~/git/baking-pi $ cat kernel.list 

build/output.elf:     file format elf32-littlearm


Disassembly of section .init:

00008000 <_start>:
    8000:	e3a0d902 	mov	sp, #32768	; 0x8000
    8004:	ea000138 	b	84ec <_main>

Disassembly of section .text:

00008008 <GetMailboxBase>:
    8008:	e59f0054 	ldr	r0, [pc, #84]	; 8064 <right_mail$+0x24>
    800c:	e1a0f00e 	mov	pc, lr

00008010 <MailboxWrite>:
    8010:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
    8014:	e1a02000 	mov	r2, r0
    8018:	ebfffffa 	bl	8008 <GetMailboxBase>

0000801c <wait_write$>:
    801c:	e5903038 	ldr	r3, [r0, #56]	; 0x38
    8020:	e3130102 	tst	r3, #-2147483648	; 0x80000000
    8024:	1afffffc 	bne	801c <wait_write$>
    8028:	e0822001 	add	r2, r2, r1
    802c:	e5802020 	str	r2, [r0, #32]
    8030:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)

00008034 <MailboxRead>:
    8034:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
    8038:	e1a01000 	mov	r1, r0
    803c:	ebfffff1 	bl	8008 <GetMailboxBase>

00008040 <right_mail$>:
    8040:	e5902018 	ldr	r2, [r0, #24]
    8044:	e3120101 	tst	r2, #1073741824	; 0x40000000
    8048:	1afffffc 	bne	8040 <right_mail$>
    804c:	e5902000 	ldr	r2, [r0]
    8050:	e202300f 	and	r3, r2, #15
    8054:	e1330001 	teq	r3, r1
    8058:	1afffff8 	bne	8040 <right_mail$>
    805c:	e3c2000f 	bic	r0, r2, #15
    8060:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)
    8064:	3f00b880 	.word	0x3f00b880

00008068 <InitializeFrameBuffer>:
    8068:	e3500a01 	cmp	r0, #4096	; 0x1000
    806c:	93510a01 	cmpls	r1, #4096	; 0x1000
    8070:	93520020 	cmpls	r2, #32
    8074:	83a00000 	movhi	r0, #0
    8078:	81a0f00e 	movhi	pc, lr
    807c:	e92d4010 	push	{r4, lr}
    8080:	e59f4060 	ldr	r4, [pc, #96]	; 80e8 <FrameBufferWrite+0x1c>
    8084:	e5840000 	str	r0, [r4]
    8088:	e5841004 	str	r1, [r4, #4]
    808c:	e5840008 	str	r0, [r4, #8]
    8090:	e584100c 	str	r1, [r4, #12]
    8094:	e5842014 	str	r2, [r4, #20]
    8098:	e3a01000 	mov	r1, #0
    809c:	e5841010 	str	r1, [r4, #16]
    80a0:	e5841018 	str	r1, [r4, #24]
    80a4:	e584101c 	str	r1, [r4, #28]
    80a8:	e5841020 	str	r1, [r4, #32]
    80ac:	e5841024 	str	r1, [r4, #36]	; 0x24
    80b0:	e1a00004 	mov	r0, r4
    80b4:	eb000004 	bl	80cc <FrameBufferWrite>
    80b8:	e3300000 	teq	r0, #0
    80bc:	13a00000 	movne	r0, #0
    80c0:	18bd8010 	popne	{r4, pc}
    80c4:	e1a00004 	mov	r0, r4
    80c8:	e8bd8010 	pop	{r4, pc}

000080cc <FrameBufferWrite>:
    80cc:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
    80d0:	e3800103 	orr	r0, r0, #-1073741824	; 0xc0000000
    80d4:	e3a01001 	mov	r1, #1
    80d8:	ebffffcc 	bl	8010 <MailboxWrite>
    80dc:	e3a00001 	mov	r0, #1
    80e0:	ebffffd3 	bl	8034 <MailboxRead>
    80e4:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)
    80e8:	00008670 	.word	0x00008670

000080ec <ReverseString>:
    80ec:	e0811000 	add	r1, r1, r0
    80f0:	e2411001 	sub	r1, r1, #1

000080f4 <revLoop$>:
    80f4:	e1510000 	cmp	r1, r0
    80f8:	91a0f00e 	movls	pc, lr
    80fc:	e5d02000 	ldrb	r2, [r0]
    8100:	e5d13000 	ldrb	r3, [r1]
    8104:	e5c03000 	strb	r3, [r0]
    8108:	e5c12000 	strb	r2, [r1]
    810c:	e2800001 	add	r0, r0, #1
    8110:	e2411001 	sub	r1, r1, #1
    8114:	eafffff6 	b	80f4 <revLoop$>

00008118 <UnsignedString>:
    8118:	e92d40f0 	push	{r4, r5, r6, r7, lr}
    811c:	e1a05001 	mov	r5, r1
    8120:	e1a06002 	mov	r6, r2
    8124:	e3a07000 	mov	r7, #0

00008128 <charLoop$>:
    8128:	e1a01006 	mov	r1, r6
    812c:	eb0000dc 	bl	84a4 <DivideU32>
    8130:	e3510009 	cmp	r1, #9
    8134:	92811030 	addls	r1, r1, #48	; 0x30
    8138:	82811057 	addhi	r1, r1, #87	; 0x57
    813c:	e3350000 	teq	r5, #0
    8140:	17c51007 	strbne	r1, [r5, r7]
    8144:	e2877001 	add	r7, r7, #1
    8148:	e3300000 	teq	r0, #0
    814c:	1afffff5 	bne	8128 <charLoop$>
    8150:	e3350000 	teq	r5, #0
    8154:	11a00005 	movne	r0, r5
    8158:	11a01007 	movne	r1, r7
    815c:	1bffffe2 	blne	80ec <ReverseString>
    8160:	e1a00007 	mov	r0, r7
    8164:	e8bd80f0 	pop	{r4, r5, r6, r7, pc}

00008168 <SignedString>:
    8168:	e3500000 	cmp	r0, #0
    816c:	aaffffe9 	bge	8118 <UnsignedString>
    8170:	e2600000 	rsb	r0, r0, #0
    8174:	e3310000 	teq	r1, #0
    8178:	13a0302d 	movne	r3, #45	; 0x2d
    817c:	15c13000 	strbne	r3, [r1]
    8180:	12811001 	addne	r1, r1, #1
    8184:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
    8188:	ebffffe2 	bl	8118 <UnsignedString>
    818c:	e2800001 	add	r0, r0, #1
    8190:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)

00008194 <FormatString>:
    8194:	e92d43f0 	push	{r4, r5, r6, r7, r8, r9, lr}
    8198:	e1a04000 	mov	r4, r0
    819c:	e1a05001 	mov	r5, r1
    81a0:	e1a06002 	mov	r6, r2
    81a4:	e1a07003 	mov	r7, r3
    81a8:	e28d801c 	add	r8, sp, #28
    81ac:	e3a09000 	mov	r9, #0

000081b0 <formatLoop$>:
    81b0:	e2555001 	subs	r5, r5, #1
    81b4:	b1a00009 	movlt	r0, r9
    81b8:	b8bd83f0 	poplt	{r4, r5, r6, r7, r8, r9, pc}
    81bc:	e5d40000 	ldrb	r0, [r4]
    81c0:	e2844001 	add	r4, r4, #1
    81c4:	e3300025 	teq	r0, #37	; 0x25
    81c8:	0a000004 	beq	81e0 <formatArg$>

000081cc <formatChar$>:
    81cc:	e3360000 	teq	r6, #0
    81d0:	15c60000 	strbne	r0, [r6]
    81d4:	12866001 	addne	r6, r6, #1
    81d8:	e2899001 	add	r9, r9, #1
    81dc:	eafffff3 	b	81b0 <formatLoop$>

000081e0 <formatArg$>:
    81e0:	e2555001 	subs	r5, r5, #1
    81e4:	b1a00009 	movlt	r0, r9
    81e8:	b8bd83f0 	poplt	{r4, r5, r6, r7, r8, r9, pc}
    81ec:	e5d40000 	ldrb	r0, [r4]
    81f0:	e2844001 	add	r4, r4, #1
    81f4:	e3300025 	teq	r0, #37	; 0x25
    81f8:	0afffff3 	beq	81cc <formatChar$>
    81fc:	e3300063 	teq	r0, #99	; 0x63
    8200:	01a00007 	moveq	r0, r7
    8204:	05987000 	ldreq	r7, [r8]
    8208:	02888004 	addeq	r8, r8, #4
    820c:	0affffee 	beq	81cc <formatChar$>
    8210:	e3300073 	teq	r0, #115	; 0x73
    8214:	0a000007 	beq	8238 <formatString$>
    8218:	e3300064 	teq	r0, #100	; 0x64
    821c:	0a000010 	beq	8264 <formatSigned$>
    8220:	e3300075 	teq	r0, #117	; 0x75
    8224:	13300078 	teqne	r0, #120	; 0x78
    8228:	13300062 	teqne	r0, #98	; 0x62
    822c:	1330006f 	teqne	r0, #111	; 0x6f
    8230:	0a000015 	beq	828c <formatUnsigned$>
    8234:	eaffffdd 	b	81b0 <formatLoop$>

00008238 <formatString$>:
    8238:	e5d70000 	ldrb	r0, [r7]
    823c:	e3300030 	teq	r0, #48	; 0x30
    8240:	05987000 	ldreq	r7, [r8]
    8244:	02888004 	addeq	r8, r8, #4
    8248:	0affffd8 	beq	81b0 <formatLoop$>
    824c:	e2899001 	add	r9, r9, #1
    8250:	e3360000 	teq	r6, #0
    8254:	15c60000 	strbne	r0, [r6]
    8258:	12866001 	addne	r6, r6, #1
    825c:	e2877001 	add	r7, r7, #1
    8260:	eafffff4 	b	8238 <formatString$>

00008264 <formatSigned$>:
    8264:	e1a00007 	mov	r0, r7
    8268:	e5987000 	ldr	r7, [r8]
    826c:	e2888004 	add	r8, r8, #4
    8270:	e1a01006 	mov	r1, r6
    8274:	e3a0200a 	mov	r2, #10
    8278:	ebffffba 	bl	8168 <SignedString>
    827c:	e3360000 	teq	r6, #0
    8280:	10866000 	addne	r6, r6, r0
    8284:	e0899000 	add	r9, r9, r0
    8288:	eaffffc8 	b	81b0 <formatLoop$>

0000828c <formatUnsigned$>:
    828c:	e3300075 	teq	r0, #117	; 0x75
    8290:	03a0200a 	moveq	r2, #10
    8294:	e3300078 	teq	r0, #120	; 0x78
    8298:	03a02010 	moveq	r2, #16
    829c:	e3300062 	teq	r0, #98	; 0x62
    82a0:	03a02002 	moveq	r2, #2
    82a4:	e330006f 	teq	r0, #111	; 0x6f
    82a8:	03a02008 	moveq	r2, #8
    82ac:	e1a00007 	mov	r0, r7
    82b0:	e5987000 	ldr	r7, [r8]
    82b4:	e2888004 	add	r8, r8, #4
    82b8:	e1a01006 	mov	r1, r6
    82bc:	ebffff95 	bl	8118 <UnsignedString>
    82c0:	e3360000 	teq	r6, #0
    82c4:	10866000 	addne	r6, r6, r0
    82c8:	e0899000 	add	r9, r9, r0
    82cc:	eaffffb7 	b	81b0 <formatLoop$>

000082d0 <DrawPixel>:
    82d0:	e59f21c0 	ldr	r2, [pc, #448]	; 8498 <SetGraphicsAddress+0xc>
    82d4:	e5922000 	ldr	r2, [r2]
    82d8:	e5923004 	ldr	r3, [r2, #4]
    82dc:	e2433001 	sub	r3, r3, #1
    82e0:	e1510003 	cmp	r1, r3
    82e4:	81a0f00e 	movhi	pc, lr
    82e8:	e5923000 	ldr	r3, [r2]
    82ec:	e2433001 	sub	r3, r3, #1
    82f0:	e1500003 	cmp	r0, r3
    82f4:	81a0f00e 	movhi	pc, lr
    82f8:	e5922020 	ldr	r2, [r2, #32]
    82fc:	e3c22103 	bic	r2, r2, #-1073741824	; 0xc0000000
    8300:	e2833001 	add	r3, r3, #1
    8304:	e0200391 	mla	r0, r1, r3, r0
    8308:	e0822080 	add	r2, r2, r0, lsl #1
    830c:	e59f3188 	ldr	r3, [pc, #392]	; 849c <SetGraphicsAddress+0x10>
    8310:	e1d330b0 	ldrh	r3, [r3]
    8314:	e1c230b0 	strh	r3, [r2]
    8318:	e1a0f00e 	mov	pc, lr

0000831c <DrawLine>:
    831c:	e92d5ff0 	push	{r4, r5, r6, r7, r8, r9, sl, fp, ip, lr}
    8320:	e1a09000 	mov	r9, r0
    8324:	e1a0a002 	mov	sl, r2
    8328:	e1a0b001 	mov	fp, r1
    832c:	e1a0c003 	mov	ip, r3
    8330:	e159000a 	cmp	r9, sl
    8334:	c049400a 	subgt	r4, r9, sl
    8338:	c3e06000 	mvngt	r6, #0
    833c:	d04a4009 	suble	r4, sl, r9
    8340:	d3a06001 	movle	r6, #1
    8344:	e15b000c 	cmp	fp, ip
    8348:	c04c500b 	subgt	r5, ip, fp
    834c:	c3e07000 	mvngt	r7, #0
    8350:	d04b500c 	suble	r5, fp, ip
    8354:	d3a07001 	movle	r7, #1
    8358:	e0848005 	add	r8, r4, r5
    835c:	e08aa006 	add	sl, sl, r6
    8360:	e08cc007 	add	ip, ip, r7

00008364 <pixelLoop$>:
    8364:	e139000a 	teq	r9, sl
    8368:	113b000c 	teqne	fp, ip
    836c:	08bd9ff0 	popeq	{r4, r5, r6, r7, r8, r9, sl, fp, ip, pc}
    8370:	e1a00009 	mov	r0, r9
    8374:	e1a0100b 	mov	r1, fp
    8378:	ebffffd4 	bl	82d0 <DrawPixel>
    837c:	e1550088 	cmp	r5, r8, lsl #1
    8380:	d0888005 	addle	r8, r8, r5
    8384:	d0899006 	addle	r9, r9, r6
    8388:	e1540088 	cmp	r4, r8, lsl #1
    838c:	a0888004 	addge	r8, r8, r4
    8390:	a08bb007 	addge	fp, fp, r7
    8394:	eafffff2 	b	8364 <pixelLoop$>

00008398 <DrawCharacter>:
    8398:	e350007f 	cmp	r0, #127	; 0x7f
    839c:	83a00000 	movhi	r0, #0
    83a0:	81a0f00e 	movhi	pc, lr
    83a4:	e92d41f0 	push	{r4, r5, r6, r7, r8, lr}
    83a8:	e1a04001 	mov	r4, r1
    83ac:	e1a05002 	mov	r5, r2
    83b0:	e59f60e8 	ldr	r6, [pc, #232]	; 84a0 <SetGraphicsAddress+0x14>
    83b4:	e0866200 	add	r6, r6, r0, lsl #4

000083b8 <lineLoop$>:
    83b8:	e5d67000 	ldrb	r7, [r6]
    83bc:	e3a08008 	mov	r8, #8

000083c0 <charPixelLoop$>:
    83c0:	e2588001 	subs	r8, r8, #1
    83c4:	ba000007 	blt	83e8 <charPixelLoopEnd$>
    83c8:	e1a07087 	lsl	r7, r7, #1
    83cc:	e3170c01 	tst	r7, #256	; 0x100
    83d0:	0afffffa 	beq	83c0 <charPixelLoop$>
    83d4:	e0840008 	add	r0, r4, r8
    83d8:	e1a01005 	mov	r1, r5
    83dc:	ebffffbb 	bl	82d0 <DrawPixel>
    83e0:	e3380000 	teq	r8, #0
    83e4:	1afffff5 	bne	83c0 <charPixelLoop$>

000083e8 <charPixelLoopEnd$>:
    83e8:	e2855001 	add	r5, r5, #1
    83ec:	e2866001 	add	r6, r6, #1
    83f0:	e316000f 	tst	r6, #15
    83f4:	1affffef 	bne	83b8 <lineLoop$>
    83f8:	e3a00008 	mov	r0, #8
    83fc:	e3a01010 	mov	r1, #16
    8400:	e8bd81f0 	pop	{r4, r5, r6, r7, r8, pc}

00008404 <DrawString>:
    8404:	e92d43f0 	push	{r4, r5, r6, r7, r8, r9, lr}
    8408:	e1a07000 	mov	r7, r0
    840c:	e1a04002 	mov	r4, r2
    8410:	e1a06004 	mov	r6, r4
    8414:	e1a05003 	mov	r5, r3
    8418:	e1a08001 	mov	r8, r1

0000841c <stringLoop$>:
    841c:	e2588001 	subs	r8, r8, #1
    8420:	ba000013 	blt	8474 <stringLoopEnd$>
    8424:	e5d79000 	ldrb	r9, [r7]
    8428:	e2877001 	add	r7, r7, #1
    842c:	e1a00009 	mov	r0, r9
    8430:	e1a01004 	mov	r1, r4
    8434:	e1a02005 	mov	r2, r5
    8438:	ebffffd6 	bl	8398 <DrawCharacter>
    843c:	e339000a 	teq	r9, #10
    8440:	01a04006 	moveq	r4, r6
    8444:	00855001 	addeq	r5, r5, r1
    8448:	0afffff3 	beq	841c <stringLoop$>
    844c:	e3390009 	teq	r9, #9
    8450:	10844000 	addne	r4, r4, r0
    8454:	1afffff0 	bne	841c <stringLoop$>
    8458:	e0800100 	add	r0, r0, r0, lsl #2
    845c:	e1a01006 	mov	r1, r6

00008460 <stringLoopTab$>:
    8460:	e0811000 	add	r1, r1, r0
    8464:	e1540001 	cmp	r4, r1
    8468:	aafffffc 	bge	8460 <stringLoopTab$>
    846c:	e1a04001 	mov	r4, r1
    8470:	eaffffe9 	b	841c <stringLoop$>

00008474 <stringLoopEnd$>:
    8474:	e8bd83f0 	pop	{r4, r5, r6, r7, r8, r9, pc}

00008478 <SetForeColor>:
    8478:	e3500801 	cmp	r0, #65536	; 0x10000
    847c:	21a0f00e 	movcs	pc, lr
    8480:	e59f1014 	ldr	r1, [pc, #20]	; 849c <SetGraphicsAddress+0x10>
    8484:	e1c100b0 	strh	r0, [r1]
    8488:	e1a0f00e 	mov	pc, lr

0000848c <SetGraphicsAddress>:
    848c:	e59f1004 	ldr	r1, [pc, #4]	; 8498 <SetGraphicsAddress+0xc>
    8490:	e5810000 	str	r0, [r1]
    8494:	e1a0f00e 	mov	pc, lr
    8498:	000086a4 	.word	0x000086a4
    849c:	000086a0 	.word	0x000086a0
    84a0:	000086b0 	.word	0x000086b0

000084a4 <DivideU32>:
    84a4:	e16f2f11 	clz	r2, r1
    84a8:	e16f3f10 	clz	r3, r0
    84ac:	e0522003 	subs	r2, r2, r3
    84b0:	e1a03211 	lsl	r3, r1, r2
    84b4:	e1a01000 	mov	r1, r0
    84b8:	e3a00000 	mov	r0, #0
    84bc:	ba000009 	blt	84e8 <divideU32Return$>

000084c0 <divideU32Loop$>:
    84c0:	e1510003 	cmp	r1, r3
    84c4:	ba000003 	blt	84d8 <divideU32LoopContinue$>
    84c8:	e2800001 	add	r0, r0, #1
    84cc:	e0511003 	subs	r1, r1, r3
    84d0:	01a00210 	lsleq	r0, r0, r2
    84d4:	0a000003 	beq	84e8 <divideU32Return$>

000084d8 <divideU32LoopContinue$>:
    84d8:	e2522001 	subs	r2, r2, #1
    84dc:	a1a030a3 	lsrge	r3, r3, #1
    84e0:	a1a00080 	lslge	r0, r0, #1
    84e4:	aafffff5 	bge	84c0 <divideU32Loop$>

000084e8 <divideU32Return$>:
    84e8:	e1a0f00e 	mov	pc, lr

000084ec <_main>:
    84ec:	e3a00b01 	mov	r0, #1024	; 0x400
    84f0:	e3a01c03 	mov	r1, #768	; 0x300
    84f4:	e3a02010 	mov	r2, #16
    84f8:	ebfffeda 	bl	8068 <InitializeFrameBuffer>
    84fc:	e3300000 	teq	r0, #0
    8500:	0a00001b 	beq	8574 <error>
    8504:	ebffffe0 	bl	848c <SetGraphicsAddress>
    8508:	e3a04000 	mov	r4, #0

0000850c <loop$>:
    850c:	e59f006c 	ldr	r0, [pc, #108]	; 8580 <loopErr$+0x4>
    8510:	e59f106c 	ldr	r1, [pc, #108]	; 8584 <loopErr$+0x8>
    8514:	e59f2068 	ldr	r2, [pc, #104]	; 8584 <loopErr$+0x8>
    8518:	e1a03224 	lsr	r3, r4, #4
    851c:	e52d3004 	push	{r3}		; (str r3, [sp, #-4]!)
    8520:	e52d3004 	push	{r3}		; (str r3, [sp, #-4]!)
    8524:	e52d3004 	push	{r3}		; (str r3, [sp, #-4]!)
    8528:	e52d3004 	push	{r3}		; (str r3, [sp, #-4]!)
    852c:	ebffff18 	bl	8194 <FormatString>
    8530:	e28dd010 	add	sp, sp, #16
    8534:	e1a01000 	mov	r1, r0
    8538:	e59f0044 	ldr	r0, [pc, #68]	; 8584 <loopErr$+0x8>
    853c:	e3a02000 	mov	r2, #0
    8540:	e1a03004 	mov	r3, r4
    8544:	e3530e2f 	cmp	r3, #752	; 0x2f0
    8548:	82433c03 	subhi	r3, r3, #768	; 0x300
    854c:	82822c01 	addhi	r2, r2, #256	; 0x100
    8550:	e3530e2f 	cmp	r3, #752	; 0x2f0
    8554:	82433c03 	subhi	r3, r3, #768	; 0x300
    8558:	82822c01 	addhi	r2, r2, #256	; 0x100
    855c:	e3530e2f 	cmp	r3, #752	; 0x2f0
    8560:	82433c03 	subhi	r3, r3, #768	; 0x300
    8564:	82822c01 	addhi	r2, r2, #256	; 0x100
    8568:	ebffffa5 	bl	8404 <DrawString>
    856c:	e2844010 	add	r4, r4, #16
    8570:	eaffffe5 	b	850c <loop$>

00008574 <error>:
    8574:	e3a00001 	mov	r0, #1
    8578:	eb00000a 	bl	85a8 <SetACTLedState>

0000857c <loopErr$>:
    857c:	eafffffe 	b	857c <loopErr$>
    8580:	00008eb0 	.word	0x00008eb0
    8584:	00008ec5 	.word	0x00008ec5

00008588 <delay>:
    8588:	e3a0143f 	mov	r1, #1056964608	; 0x3f000000
    858c:	e3811a03 	orr	r1, r1, #12288	; 0x3000
    8590:	e5912004 	ldr	r2, [r1, #4]

00008594 <delay1$>:
    8594:	e5913004 	ldr	r3, [r1, #4]
    8598:	e0433002 	sub	r3, r3, r2
    859c:	e1530000 	cmp	r3, r0
    85a0:	bafffffb 	blt	8594 <delay1$>
    85a4:	e1a0f00e 	mov	pc, lr

000085a8 <SetACTLedState>:
    85a8:	e52de004 	push	{lr}		; (str lr, [sp, #-4]!)
    85ac:	e1a01000 	mov	r1, r0
    85b0:	e59f0028 	ldr	r0, [pc, #40]	; 85e0 <SetACTLedState+0x38>
    85b4:	e3a02000 	mov	r2, #0
    85b8:	e5802004 	str	r2, [r0, #4]
    85bc:	e5802010 	str	r2, [r0, #16]
    85c0:	e3a02082 	mov	r2, #130	; 0x82
    85c4:	e5802014 	str	r2, [r0, #20]
    85c8:	e5801018 	str	r1, [r0, #24]
    85cc:	e3a01008 	mov	r1, #8
    85d0:	ebfffe8e 	bl	8010 <MailboxWrite>
    85d4:	e3a00008 	mov	r0, #8
    85d8:	ebfffe95 	bl	8034 <MailboxRead>
    85dc:	e49df004 	pop	{pc}		; (ldr pc, [sp], #4)
    85e0:	00008ed0 	.word	0x00008ed0

000085e4 <Random>:
    85e4:	e3a01cef 	mov	r1, #61184	; 0xef00
    85e8:	e0010190 	mul	r1, r0, r1
    85ec:	e0010190 	mul	r1, r0, r1
    85f0:	e0811000 	add	r1, r1, r0
    85f4:	e2810049 	add	r0, r1, #73	; 0x49
    85f8:	e1a0f00e 	mov	pc, lr

000085fc <FindTag>:
    85fc:	e2400001 	sub	r0, r0, #1
    8600:	e3500008 	cmp	r0, #8
    8604:	83a00000 	movhi	r0, #0
    8608:	81a0f00e 	movhi	pc, lr
    860c:	e59f1054 	ldr	r1, [pc, #84]	; 8668 <tagLoop$+0x2c>

00008610 <tagRet$>:
    8610:	e0812100 	add	r2, r1, r0, lsl #2
    8614:	e5922000 	ldr	r2, [r2]
    8618:	e3320000 	teq	r2, #0
    861c:	11a00002 	movne	r0, r2
    8620:	11a0f00e 	movne	pc, lr
    8624:	e5912000 	ldr	r2, [r1]
    8628:	e3320000 	teq	r2, #0
    862c:	13a00000 	movne	r0, #0
    8630:	11a0f00e 	movne	pc, lr
    8634:	e3a02c01 	mov	r2, #256	; 0x100
    8638:	e52d4004 	push	{r4}		; (str r4, [sp, #-4]!)

0000863c <tagLoop$>:
    863c:	e1d230b4 	ldrh	r3, [r2, #4]
    8640:	e2533001 	subs	r3, r3, #1
    8644:	b49d4004 	poplt	{r4}		; (ldrlt r4, [sp], #4)
    8648:	bafffff0 	blt	8610 <tagRet$>
    864c:	e0813103 	add	r3, r1, r3, lsl #2
    8650:	e5934000 	ldr	r4, [r3]
    8654:	e3340000 	teq	r4, #0
    8658:	05832000 	streq	r2, [r3]
    865c:	e5923000 	ldr	r3, [r2]
    8660:	e0822103 	add	r2, r2, r3, lsl #2
    8664:	eafffff4 	b	863c <tagLoop$>
    8668:	00008ef4 	.word	0x00008ef4

from baking-pi.

petemoore avatar petemoore commented on July 28, 2024

I think I see the issue - it looks like the code is using mailbox channel 1 to communicate with the framebuffer, which is deprecated.

I think this needs to use mailbox channel 8 instead. There is some information about this here and here.

from baking-pi.

petemoore avatar petemoore commented on July 28, 2024

Let me know if you are actively maintaining this repo, if so I'm happy to invest some time to fix it and make a Pull Request, but want to be sure you're actively accepting pull requests first! :-)

from baking-pi.

mauri870 avatar mauri870 commented on July 28, 2024

Hi, sorry for the delay. Feel free to open a pull request if you can

from baking-pi.

mauri870 avatar mauri870 commented on July 28, 2024

Unfortunatelly this project no longer works with the newer firmware updates. Please refer to the README in order to use a commit that works.

from baking-pi.

Related Issues (2)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.