@@ -130,7 +130,7 @@ func convertSegmentAst(s *SegmentAst) (*Segment, error) {
130130 seg .Name = statement .Value .String
131131 break
132132 case "address" :
133- seg .Positioning .Address = SignExtend ( statement .Value .Int )
133+ seg .Positioning .Address = statement .Value .Int
134134 break
135135 case "after" :
136136 if statement .Value .String != "" {
@@ -168,6 +168,7 @@ func convertSegmentAst(s *SegmentAst) (*Segment, error) {
168168 }
169169 break
170170 case "number" :
171+ seg .Positioning .Address = statement .Value .Int * 0x1000000
171172 // Don't do anything, as we don't really care here.
172173 // All that matters for code is the rom address.
173174 break
@@ -217,7 +218,7 @@ func convertWaveAst(s *WaveAst, segments map[string]*Segment) (*Wave, error) {
217218func (w * Wave ) updateWithConstants () {
218219 for _ , seg := range w .ObjectSegments {
219220 if seg .Flags .Boot && seg .Positioning .Address == 0 {
220- seg .Positioning .Address = SignExtend ( 0x80000450 )
221+ seg .Positioning .Address = 0x80000450
221222 }
222223 }
223224}
@@ -333,7 +334,7 @@ func (w *Wave) correctOrdering() {
333334 // TODO(trhodeos): Make this actually correct. This just places any
334335 // explicitly addressed segments before any 'after.*' segments. If
335336 // 'after' segments depend on other 'after' segments, this'll break.
336- l := list .New ()
337+ /* l := list.New()
337338 for _, seg := range w.ObjectSegments {
338339 if seg.Positioning.Address != 0 {
339340 l.PushBack(seg)
@@ -356,6 +357,7 @@ func (w *Wave) correctOrdering() {
356357 newSegments = append(newSegments, original)
357358 }
358359 w.ObjectSegments = newSegments
360+ */
359361}
360362
361363func (w * Wave ) GetBootSegment () * Segment {
0 commit comments