rubygb 0.2.0 → 0.2.1

Sign up to get free protection for your applications and to get access to all the features.
@@ -0,0 +1,153 @@
1
+
2
+ ;*
3
+ ;* MEMORY.ASM - Memory Manipulation Code
4
+ ;* by GABY. Inspired by Carsten Sorensen & others.
5
+ ;*
6
+ ;* V1.0 - Original release
7
+ ;*
8
+
9
+ ;If all of these are already defined, don't do it again.
10
+
11
+ IF !DEF(MEMORY1_ASM)
12
+ MEMORY1_ASM SET 1
13
+
14
+
15
+
16
+ ; Macro that pauses until VRAM available.
17
+
18
+ lcd_WaitVRAM: MACRO
19
+ ld a,[rSTAT] ; <---+
20
+ and STATF_BUSY ; |
21
+ jr nz,@-4 ; ----+
22
+ ENDM
23
+
24
+ PUSHS ; Push the current section onto assember stack.
25
+
26
+ SECTION "Memory1 Code",HOME
27
+
28
+ ;***************************************************************************
29
+ ;*
30
+ ;* mem_Set - "Set" a memory region
31
+ ;*
32
+ ;* input:
33
+ ;* a - value
34
+ ;* hl - pMem
35
+ ;* bc - bytecount
36
+ ;*
37
+ ;***************************************************************************
38
+ mem_Set::
39
+ inc b
40
+ inc c
41
+ jr .skip
42
+ .loop ld [hl+],a
43
+ .skip dec c
44
+ jr nz,.loop
45
+ dec b
46
+ jr nz,.loop
47
+ ret
48
+
49
+ ;***************************************************************************
50
+ ;*
51
+ ;* mem_Copy - "Copy" a memory region
52
+ ;*
53
+ ;* input:
54
+ ;* hl - pSource
55
+ ;* de - pDest
56
+ ;* bc - bytecount
57
+ ;*
58
+ ;***************************************************************************
59
+ mem_Copy::
60
+ inc b
61
+ inc c
62
+ jr .skip
63
+ .loop ld a,[hl+]
64
+ ld [de],a
65
+ inc de
66
+ .skip dec c
67
+ jr nz,.loop
68
+ dec b
69
+ jr nz,.loop
70
+ ret
71
+
72
+ ;***************************************************************************
73
+ ;*
74
+ ;* mem_Copy - "Copy" a monochrome font from ROM to RAM
75
+ ;*
76
+ ;* input:
77
+ ;* hl - pSource
78
+ ;* de - pDest
79
+ ;* bc - bytecount of Source
80
+ ;*
81
+ ;***************************************************************************
82
+ mem_CopyMono::
83
+ inc b
84
+ inc c
85
+ jr .skip
86
+ .loop ld a,[hl+]
87
+ ld [de],a
88
+ inc de
89
+ ld [de],a
90
+ inc de
91
+ .skip dec c
92
+ jr nz,.loop
93
+ dec b
94
+ jr nz,.loop
95
+ ret
96
+
97
+
98
+ ;***************************************************************************
99
+ ;*
100
+ ;* mem_SetVRAM - "Set" a memory region in VRAM
101
+ ;*
102
+ ;* input:
103
+ ;* a - value
104
+ ;* hl - pMem
105
+ ;* bc - bytecount
106
+ ;*
107
+ ;***************************************************************************
108
+ mem_SetVRAM::
109
+ inc b
110
+ inc c
111
+ jr .skip
112
+ .loop push af
113
+ di
114
+ lcd_WaitVRAM
115
+ pop af
116
+ ld [hl+],a
117
+ ei
118
+ .skip dec c
119
+ jr nz,.loop
120
+ dec b
121
+ jr nz,.loop
122
+ ret
123
+
124
+ ;***************************************************************************
125
+ ;*
126
+ ;* mem_CopyVRAM - "Copy" a memory region to or from VRAM
127
+ ;*
128
+ ;* input:
129
+ ;* hl - pSource
130
+ ;* de - pDest
131
+ ;* bc - bytecount
132
+ ;*
133
+ ;***************************************************************************
134
+ mem_CopyVRAM::
135
+ inc b
136
+ inc c
137
+ jr .skip
138
+ .loop di
139
+ lcd_WaitVRAM
140
+ ld a,[hl+]
141
+ ld [de],a
142
+ ei
143
+ inc de
144
+ .skip dec c
145
+ jr nz,.loop
146
+ dec b
147
+ jr nz,.loop
148
+ ret
149
+
150
+ POPS ; Pop the current section off of assember stack.
151
+
152
+ ENDC ;MEMORY1_ASM
153
+
data/scrap/you/you.gb ADDED
Binary file
data/scrap/you/you.map ADDED
@@ -0,0 +1,65 @@
1
+ ROM Bank #0 (HOME):
2
+ SECTION: $0040-$0040 ($0001 bytes)
3
+ SECTION: $0048-$0048 ($0001 bytes)
4
+ SECTION: $0050-$0050 ($0001 bytes)
5
+ SECTION: $0058-$0058 ($0001 bytes)
6
+ SECTION: $0060-$0060 ($0001 bytes)
7
+ SECTION: $0100-$09AD ($08AE bytes)
8
+ $0952 = begin
9
+ $099D = StopLCD
10
+ $0150 = TileData
11
+ $0990 = Title
12
+ $099D = TitleEnd
13
+ SECTION: $0061-$00B6 ($0056 bytes)
14
+ $007B = mem_CopyMono
15
+ $008B = mem_SetVRAM
16
+ $00A1 = mem_CopyVRAM
17
+ $0061 = mem_Set
18
+ $006D = mem_Copy
19
+ SLACK: $36F7 bytes
20
+
21
+ WRAM Bank #0:
22
+ EMPTY
23
+
24
+ WRAM Bank #1:
25
+ EMPTY
26
+
27
+ WRAM Bank #2:
28
+ EMPTY
29
+
30
+ WRAM Bank #3:
31
+ EMPTY
32
+
33
+ WRAM Bank #4:
34
+ EMPTY
35
+
36
+ WRAM Bank #5:
37
+ EMPTY
38
+
39
+ WRAM Bank #6:
40
+ EMPTY
41
+
42
+ WRAM Bank #7:
43
+ EMPTY
44
+
45
+ VRAM Bank #0:
46
+ EMPTY
47
+
48
+ VRAM Bank #1:
49
+ EMPTY
50
+
51
+ HRAM:
52
+ EMPTY
53
+
54
+ SRAM Bank #0:
55
+ EMPTY
56
+
57
+ SRAM Bank #1:
58
+ EMPTY
59
+
60
+ SRAM Bank #2:
61
+ EMPTY
62
+
63
+ SRAM Bank #3:
64
+ EMPTY
65
+
Binary file
@@ -1,4 +1,4 @@
1
- ; test.s
1
+ ; you.s
2
2
  ;
3
3
  ; TODO: summary
4
4
 
@@ -33,7 +33,6 @@ INCLUDE "lib/memory.inc"; memory copying macros
33
33
  TileData:
34
34
  chr_IBMPC1 1,8 ; LOAD ENTIRE CHARACTER SET
35
35
 
36
-
37
36
  ; initialization
38
37
  begin:
39
38
  nop
@@ -70,7 +69,7 @@ wait:
70
69
  jr wait
71
70
 
72
71
  Title:
73
- DB "test + rubygb!"
72
+ DB "you + rubygb!"
74
73
  TitleEnd:
75
74
 
76
75
  StopLCD:
data/scrap/you/you.sym ADDED
@@ -0,0 +1,12 @@
1
+ ;File generated by rgblink
2
+
3
+ 00:0952 begin
4
+ 00:099D StopLCD
5
+ 00:0150 TileData
6
+ 00:0990 Title
7
+ 00:099D TitleEnd
8
+ 00:007B mem_CopyMono
9
+ 00:008B mem_SetVRAM
10
+ 00:00A1 mem_CopyVRAM
11
+ 00:0061 mem_Set
12
+ 00:006D mem_Copy
Binary file
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: rubygb
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.0
4
+ version: 0.2.1
5
5
  platform: ruby
6
6
  authors:
7
7
  - Donald Hutchison
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2016-02-27 00:00:00.000000000 Z
11
+ date: 2016-02-28 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: rake
@@ -96,16 +96,26 @@ files:
96
96
  - scrap/example/hello-world-with-comments.sym
97
97
  - scrap/example/ibmpc1.inc
98
98
  - scrap/example/memory.asm
99
- - scrap/test/lib/gbhw.inc
100
- - scrap/test/lib/ibmpx1.inc
101
- - scrap/test/lib/memory.inc
102
- - scrap/test/test.gb
103
- - scrap/test/test.map
104
- - scrap/test/test.obj
105
- - scrap/test/test.s
106
- - scrap/test/test.sym
99
+ - scrap/tester/lib/gbhw.inc
100
+ - scrap/tester/lib/ibmpx1.inc
101
+ - scrap/tester/lib/memory.inc
102
+ - scrap/tester/tester.gb
103
+ - scrap/tester/tester.map
104
+ - scrap/tester/tester.obj
105
+ - scrap/tester/tester.s
106
+ - scrap/tester/tester.sym
107
+ - scrap/you/gearboy.ini
108
+ - scrap/you/lib/gbhw.inc
109
+ - scrap/you/lib/ibmpx1.inc
110
+ - scrap/you/lib/memory.inc
111
+ - scrap/you/you.gb
112
+ - scrap/you/you.map
113
+ - scrap/you/you.obj
114
+ - scrap/you/you.s
115
+ - scrap/you/you.sym
107
116
  - spec/basic.s
108
117
  - spec/rubygb_spec.rb
118
+ - wiki-images/you.gif
109
119
  homepage: https://github.com/rkachowski/rubygb
110
120
  licenses:
111
121
  - MIT
File without changes
File without changes
File without changes