rubygb 0.2.0 → 0.2.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -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